Microsoft SQL Server之使用DML操作数据表
SQL:结构化查询语言(Structured Query Language)
【why】在数据库管理系统或应用软件里查询和管理数据库
【where】数据库管理系统和各类软件中都要用到SQL去查询管理数据库
【what】
要点
- 不区分大小写
- 是一种高级的非过程化编程语言,是用于数据库中的标准数据查询语言
- 存在着很多不同版本的 SQL 语言,但都有基本相同或相似的关键字
- 注释方法:“- -”是单行注释符,“/**/”是多行注释符
- 执行可选择全部执行或部分执行
分类
-
数据定义语言(DDL : Data Definition Language)
创建create 删除drop 修改alter
-
数据操纵语言(DML : Data Manipulation Language)
增select 删delete 改update 查select
-
数据控制语言(DCL : Data Control Language)
授权grant 取消授权revoke
一、增
语法
insert [into] 表名[(字段1,字段2…..)] values(值1,值2…..)
要点
- 字段名和值一一对应(个数,类型)
- 字符串和日期必须加单引号
- 对所有字段进行顺序赋值时可以省略字段名
- 默认约束的列不指定时将赋默认值
- 自增列无须显示添加
- 使用null为字段添加空值,或在添加时不指定列表
- 可一次添加多行数据
语法:添加多行数据
insert [into] 表名[(字段1,字段2…..)]
select 值1,值2.... union
select 值1,值2.... union
........
select 值1,值2
- UNION 去除重复行
- UNION ALL 全部插入,不去除重复
二、删
语法
delete from 表名 where <表达式>
删除全部记录
delete from 表名
truancate tabel 表名
区别
- D可以删除指定行,T只能删除所有数据
- T更高效,因为D需要记录操作日志
- D\T两种删除方式对自增列的影响不同,T会重置自增列
三、改
语法
update 表名 set 字段1=值1,字段2=值2... [where <表达式>]
四、查
语法
selete * 表名 [where <表达式>]
selete 字段1,字段2..... 表名 [where <表达式>]