插入数据
#语法: insert into 表名 (列名) values (值列表) #注意: #每次插入一行,不能只插入半行或者几列 #每个值的数据类型要与相应的列匹配 #不能为标识列指定值 #如果设计表时指定列不能为空,则该列必须插入值 #插入数据时一定要符合约束要求 #具有缺省值的列,可以使用DEFAULT关键字代替
将表中的数据复制到新表中
#语法: insert into 新表名 (列名) select 列 from 源表名 #注意:新表需提前创建且插入列与源表列一致
将表中的数据复制到新表中
#语法: Select 列名 into 新表 from 源表名 #注意:新表无需提前创建,且该命令只能执行一次
一次性给表插入多条数据
#语法: Insert into 表名 (列1,列2) Select ‘值1’,’值2’ union Select ‘值1’,’值2’ union Select ‘值1’,’值2’
更新表中数据
#语法 UPDATE 表名 SET 列名 = 更新值 [WHERE 更新条件]
删除表中数据
#语法 DELETE [FROM] 表名 [WHERE <删除条件>]
截断表
#语法 TRUNCATE TABLE 表名 #注意:该命令会把数据表中数据全部截断,且事务无法恢复
查询全部的行和列
#语法 Select * from 表名 #注意:实际开发中查询尽量避免使用 * 进行全文检索
查询部分的行和列
#语法: Select 列1,列2… from 表名
查询跟where条件
#语法: Select 列1,列2… from 表名 where 查询条件
AS别名列
#语法: Select 列1 as ‘别名’,列2 as ‘别名’… from 表名 [where 查询条件]
查询空行和非空行
#语法: Select 列1,列2… from 表名 where 列 is null #空行 Select 列1,列2… from 表名 where 列 is not null #非空行
常量列
#语法: SELECT 姓名=SName,地址= SAddress , '北京新兴桥' AS 学校名称FROM Students
限制固定行数
#语法: Select top n * from 表名
按百分比返回行
#语法: Select top n percent * from 表名
排序
#语法: Select 列 from 表名 order by 列 [asc | desc] #多列排序用英文逗号进行分隔 #asc:升序 #desc:降序
模糊查询like
#语法: Select 列 from 表名 [where 列 like 条件]
四个通配符
a) _ 匹配一个字符 b) %匹配多个字符 c) [1-8] 匹配1~8 d) [^1-8]匹配不是1~8
between and 模糊查询
#语法: select 列 from 表名 where 列 between 值1 and 值2 #注意:值1 ~ 值2 必须从小到大
in查询
#语法: select 列 from 表名 where 列 in (值1,值2,值3…)
五个常用的聚合函数、
a) Count:统计数量 b) Sum:求和 c) Avg求平均分 d) Max最大值 e) Min最小值
分组过滤
#语法: Select 列 from 表名 group by 列 having 筛选条件 #注意:分组查询的列必须是分组的列或函数,否则报错
内连接
#语法: select 列 from A表 inner join B表 on A.列 = B.列 #备注:主表和子表数据相匹配
左外连接
#语法: select 列 from A表 left join B表 on A.列 = B.列 #备注:主表数据全部匹配,子表只会匹配跟主表相关联的数据,未匹配的数据填充null值
右外连接
#语法: select 列 from A表 right join B表 on A.列 = B.列 #备注:主表数据全部匹配,子表只会匹配跟主表相关联的数据,未匹配的数据填充null值
等值连接
#语法: select 列 from A表,B表 where A.列 = B.列
分页查询
#语法: select top 页面大小 * from 表名 where 主键列 not in (select top ((当前页数-1)*每页数据条数) 主键列 from 表名)