SQL(构化查询语言)
关系数据库的标准语言
非过程化语言
统一的语言
T-SQL
SQL的加强版, 提供了类似于程序语言的基本功能
T-SQL的组成
DML:数据操纵语言
查询、插入、删除和修改数据
DDL:数据定义语言
建立数据库、数据库对象和定义其列
DCL:数据控制语言
控制数据库组件的存取许可、存取权限等
Delete和Truncate table区别
条件删除 记录事物日志 重置标识符列 外键约束
Delete 使用where子句按条件删除 是,数据可以恢复 否 可以用于含有外键约束的表
Truncate table 只能清空整个表 否,数据无法恢复 重置标识符列为0 不能用于含有外键约束的表
Truncate Table执行速度更快,用于清空大数据量表
在执行Truncate Table前要确保数据可删除
本章结构
T-SQL的组和
DML:数据操纵语言
查 询select 插入insert 删除delete
修改数据 update
DDL 数据库定义语言,建立数据库,数据库对象和定义其列
create,alter,drop
DCL数据库控制语言
控制数据库组件的存取许可,存取权限等
grant,reroke
插入数据库的语法结构
insert into 表名 (列名1,列名2)
values ('值1','值2',.....)
备注:标识列不能写在上面的语句中
更新数据库的语法结构
update 表名 set 列名='更新的值' where 条件
备注: 不写where 更新整个列
删除数据库的语法结构
delete from 表名 where 条件
truncate table 表名
查询表中的所有数据
select * from 表名
查询语句的语法结构
select 列名 from表 where条件 group by 列名
having 分组后的条件 order by 列名 (asc或desc)升序,降序
条件表达式
不等于:<> 或 !=
在指定的包含范围:between...and...
是否为空:is null
模糊查询:like 常与%或_使用
在数据范围里面:in
通配符
_:表示任意的一个字符
[]:表示在括号中所指定范围内的一个字符
%:表示任意多个字符
[^]: 表示在括号中所指定范围内的任意一个字符
使用select生成新数据
select使用into关键字
select 列名1 列名2 into 新表名
from 表名 备注:新表不需要提前创建
insert 使用select语句
insert into 新表名 (列名1,列名2,.....)
select 列名1,列名2,...
from 表名 备注:新表需要提前创建
使用union关键字
insert into 新表名 (列名1,列名2,....)
select '值1','值2', union
select '值1','值2', union
select '值1','值2',
备注:新表必须提前创建