首页 > 数据库 >数据库基本语法

数据库基本语法

时间:2023-03-07 11:05:26浏览次数:44  
标签:基本 StuName -- 数据库 查询 语法 Students Score SELECT

-- 创建数据库
CREATE DATABASE MySchool --数据库名称
ON
(
NAME =N'MySchool_dat', -- 数据库文件
FILENAME =N'C:\MySchool.MDF', -- 数据库文件保存地址
SIZE =10MB, -- 初始容量大小
MAXSIZE =UNLIMITED, -- 不限制文件增长的最大容量
FILEGROWTH = 10%, --文件自动增长
)
LOG ON
(
NAME =N'MySchool_log', -- 日志文件
FILENAME =N'C:\MySchool.LDF', -- 日志文件保存地址
SIZE =1MB, -- 初始容量大小
MAXSIZE =20MB, -- 限制文件增长的最大容量
)
GO -- 执行


-- 创建数据表(<>:必须,[]:可选)
USE MySchool -- 使用数据库
CREATE TABLE Students --数据表名称
(
-- [列名] [数据类型] 标识列(标识种子,增长量) 设置主键列不能为空
IDENTITY(1,1) PRIMARY KEY NOT NULL,
-- [列名] [数据类型] 非空
(30) NOT NULL,
(100) NULL,
-- [列名] [数据类型] 可以为空默认值
(30) NULL DEFAULT('T0811'),
(30) NULL,
NULL,
)
GO -- 执行




-- 使用Insert 插入数据行(<>:必须,[]:可选)
INSERT [INTO] <表名> [列名] VALUES <值列表>
INSERT INTO Students (StuName, StuClass) VALUES ('江流','T0811')


-- 一次插入多行数据
-- 1.InsertSelect
-- 注意:(1) 查询得到的数据个数、顺序、数据类型等,必须与插入的项保持一致。
-- (2) 表TongXunLu 必须预先创建好,并且具有姓名,地址,电子邮件三个字段
INSERT INTO TongXunLu (姓名, 地址, 电子邮件)
SELECT StuName, StuAddress,
FROM


-- 2.SelectInto
-- 注意:这个NewTable 是执行查询语句的时候创建的,不能够预先存在。
SELECT Student.StuName, Student.StuAddress, Student.StuEmail
INTO
FROM
-- 3.Union
INSERT Students (StuName, StuClass, StuSex)
SELECT '钟昌伟', 'T0811', '男' Union
SELECT '谢伟群', 'T0811', '男' Union
SELECT '郑增强', 'T0811', '男' Union
SELECT '吕东涛', 'T0811', '男' Union
SELECT '金桂生', 'T0811', '男' Union
SELECT '余楚锐', 'T0811', '男' Union
SELECT '刘晓胜', 'T0811', '男' Union
SELECT '钟松青', 'T0811', '男' Union
SELECT '陈咏铭', 'T0811', '女'


-- 使用T-SQL 更新数据
UPDATE <表名> SET <列名= 更新值>
UPDATE Students SET StuSex = '男' WHERE StuName = '陈咏铭'


-- 使用T-SQL 删除数据
-- 使用Delete 删除数据
DELETE FROM <表名>
DELETE FROM Students WHERE StuName = '陈咏铭'
-- 使用Truncate Table 删除数据
TRUNCATE TABLE






-- 使用Select 语句进行查询
SELECT <列名>
FROM <表名>
[WHERE <查询条件表达式>]
[ORDER BY <排序的列名> [ASC 或DESC]]]
-- 1.查询所有的数据行和列
SELECT * FROM
-- 2.查询部分行列——条件查询
SELECT StuId, StuName,
FROM
WHERE StuAddress <> '蓝星'
-- 3.在查询中使用列名
SELECT StuId As 学员编号, StuName As 学员姓名, StuAddress As
FROM
WHERE StuAddress <> '麻烦星'
-- 字段合并(例子:没有表Employees)
SELECT FirstName+'.'+LastName As '姓名' FROM
SELECT '姓名' = FirstName+'.'+LastName FROM
-- 4.查询空行
SELECT StuName FROM Students WHERE StuEmail IS NULL
-- 5.在查询中使用常量列
SELECT '姓名' = StuName, '地址' = StuAddress, '清华' As '学校名称'
FROM
-- 6.查询返回限制的行数(PERCENT:百分比、百分数)
SELECT TOP 20 PERCENT StuName,StuAddress
FROM Students WHERE StuSex =


-- 查询排序
SELECT <列名>
FROM <表名>
[WHERE <查询条件表达式>]
[ORDER BY <排序的列名> [ASC 或DESC]]] -- ASC:升序,DESC:降序


-- 在查询中使用函数(略)


-- 通配符
'_'
'%'
[] 括号中所指定范围内的一个字符
[^] 不在括号中所指定范围内的任意一个字符

-- 使用Like 进行模糊查询
SELECT * FROM Students WHEREStuName LIKE '张%' -- 查询姓张的学员
SELECT * FROM Students WHEREStuName LIKE '[^高]%' -- 查询不姓高的学员

-- 使用Between 在某个范围内进行查询
SELECT * FROM Score WHEREScore BETWEEN 60 AND80 -- 查询分数在至之间的学员
SELECT * FROM Score WHEREScore NOT BETWEEN60 AND 80 -- 查询分数不在至之间的学员

-- 使用In 在列举值内进行查询
-- 查询出符合列举值内的项
SELECT StuName As '学员' FROM
WHERE StuAddress IN ('北京', '广州', '上海')
ORDER BY
-- 查询出不在列举值内的项
SELECT StuName As '学员' FROM
WHERE StuAddress NOT IN ('北京', '广州', '上海')
ORDER BY

-- SQL Server 中的聚合函数
-- 1.Sum 总和
-- 2.Avg 平均值
-- 3.Max和Min 最大值和最小值
-- 4.Count 计数(非空)

-- 使用Group By 进行分组查询
SELECT CourseId, AVG(Score) As
FROM
Group By
-- 使用Having 子句进行分组筛选
SELECT StuId As 学员编号, CourseId As 内部测试, AVG(Score) As
FROM
Group By StuId,
Having COUNT(Score)>1

-- 关键字使用顺序:WHERE > Group By > Having >ORDER BY


-- 多表联接查询
-- 内联接查询
-- 1.在Where 子句中指定联接条件
SELECT Students.StuName, Score.CourseId, Score.Score
FROM Students,
WHERE Students.SCode = Score.StudentId
-- 2.在From 子句中使用Join……On
SELECT S.StuName, C.CourseId, C.Score
FROM Students As S INNER JOIN Score As
ON (S.SCode = C.StudentId)

-- 外联接查询
-- 左外联接查询
SELECT Students.StuName, Score.CourseId, Score.Score
FROM Students As
LEFT OUTER JOIN Score As C ON (S.SCode = C.StudentId)
-- 右外联接查询
SELECT S.StuName, C.CourseId, C.Score
FROM Students As
RIGHT OUTER JOIN Score As C ON (S.SCode = C.StudentId)
-- 完全联接

-- 交叉联接

标签:基本,StuName,--,数据库,查询,语法,Students,Score,SELECT
From: https://blog.51cto.com/huangama8/6105485

相关文章

  • 浏览器数据库indexeddb-数据库缓存
    随着浏览器的功能不断增强,越来越多的网站开始考虑,将大量数据储存在客户端,这样可以减少从服务器获取数据,直接从本地获取数据。现有的浏览器数据储存方案,都不适合储存大量数......
  • Java 基本数据类型变量间运算规则
    在Java程序中,不同的基本数据类型(只有7种,不包含boolean类型)变量的值经常需要进行相互转换。转换的方式有两种:自动类型提升和强制类型转换。自动类型提升规则:将取值范围小(......
  • 图形学(0)一些约定和基本概念
    齐次坐标由于平移不是线性变换,我们定义齐次坐标,以三维为例,齐次坐标形如\[\begin{pmatrix}x\\y\\z\\w\end{pmatrix}\]其中\((x,y,z)^\top\)是三维坐标,\(w\)项的......
  • [WPF]C#连接使用sqllite数据库,,支持多线程操作
    https://www.zhaokeli.com/article/8192.html项目开发环境win764vs2015.net4.6下载  System.Data.SQLite.dll-for-.net4.0.zip  引用到项目中使用sqllite扩展的......
  • oracle 数据库增删改查练习50例2.pdf
    --一、建表--1、根摇下面的内容创建表studentdroptablestudent;createtablestudent(snovarchar2(20),--primarykey,snamevarchar2(10),sageDATE,ssex......
  • Markdown语法
    一级标题 #+空格二级标题 ##+空格三级标题 ###+空格四级标题####+空格五级标题#####+空格字体helloworld 单*helloworld 双*helloworld 三*hellow......
  • (数据库系统概论|王珊)第十章数据库恢复技术-第三节:故障种类
    pdf下载:密码7281专栏目录首页:【专栏必读】(考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解目录一:事务故障(1)事务故障概念(2)事务故障原因(3)事务......
  • MongoDB :第三章:MongoDB的数据类型与创建MongoDB数据库
    元数据数据库的信息是存储在集合中。它们使用了系统的命名空间:dbname.system.*在MongoDB数据库中名字空间.system.*是包含多种系统信息的特殊集合(Collection),如下:......
  • Blazor_WASM之2:Razor语法
    Blazor_WASM之2:Razor语法Razor是一种标记语法,用于将基于.NET的代码嵌入网页中。Razor语法由Razor标记、C#和HTML组成。Razor可在Razor组件文件(.razor)中......
  • springdatajpa基本管理实现
    springdatajpa近期由于想提升自己,所以简单的学了学springdatajpa,下面将简单利用springdatajpa实现数据的基础管理第一步导入依赖implementation'org.springframework.......