1、create创建
(1)创建数据库:create database <库名>
(2)创建表:
创建新表:cteate table <表名> <列名>…
在原来的基础上创建:create <表名> as select * from <表名>----常用于备份
(3)创建视图:create view <视图名> as select
(4)创建索引:create index <索引名> on <表名>(<列名>desc)
2、alter 修改
(1)添加列:alter table <表名> add <列名>数据类型
(2)删除列:alter table <表名> drop column <列名>
(3)修改列名:alter table <表名> rename column <旧列名> to <新列名>
(4)修改数据类型:alter table <表名> modify <列名>数据类型
(5)修改表名:alter table <旧表名> rename to <新表名>
3、drop 删除
(1)删除库:drop database <库名>
(2)删除表:drop table <表名>
(3)删除索引:drop index <索引名>
(4)删除视图:drop view <视图名>
4、insert 插入
(1)插入单行记录:
insert into <表名> [<列名1><列名2>…] values [<值1><值2>…]
(2)基于表1向另一个表插入记录:
Insert into <表名> [列名1,列名2…] select 查询语句
5、updata修改
Updata <表名> set <列1> = <值1>,<列2> = <值2>…where 筛选条件
6、delete删除
Delete from <表名> where 筛选条件
7、常用函数
7.1聚合函数
计算行数:count
求和:sum()
最大、最小:max(),min()
7.2字符长度
计算字符长度:len()
7.3 数学函数:ABS()
7.4 日期函数
当前日期:getdate()
日期加减:dateadd(date1,numer,date)
日期间隔:datediff()
取日期中年月日:YEAR(),DATE(),MOUNTH()
分支函数:case when 表达式 then 值1 else 值2
8、语法结构
Select *
From <表名>
Where 筛选条件
Group by <列名1><列名2>
Having <聚合筛选条件>
Order by <排序列1><排序列2>
9、常见语句
9.1查询不重复记录:select distinct <列名> from <表名>
9.2 连接两个字段:select distinct <列名1>+<列名2> from <表名>
9.3 比较查询:
!= where <列名1> != ‘老师’
Between and where 列 between 值1 and 值2
In where <列1> in (属性1,属性2)
9.4 and or
9.5 is null is not null
9.6 模糊查询
通配符:%, where name like ‘王%’,姓王的所有人
通配符:_,where name like ‘王_飞’,姓王且第三个字是飞
9.7排序:Order by 列名 desc/
9.8 分组:Group by ,和having连用,对分组后的结果进行筛选
9.9 分组后结果计算:group by <列1>,<列2> with rollup-----统计各个分组的结果
9.10 返回指定行:
Select top3 <列名> from <表名> 返回前三行
Select top30 percent <列名> from <表名> 返回前30%的数据
10、连接查询
10.1内连接
Select <表1.字段> <表2.字段>
From <表1>,<表2>
Where <表1.字段>==<表2.字段>
10.2 外连接
10.3交叉连接
10.4 自连接
11、并操作:查询的语句1和语句2列数必须相同,且类型得一致,union自动去重,但是union all 不去重
Select 语句1
Union
Select 语句2
12、交操作:intersect 会自动去重,intersect不去重
Select 语句1
Intersect
Select 语句2
13、子查询
Any:只要与查询结果中任意一个值匹配,都会被返回
All:与子查询中结果都匹配时,才会被返回
14、排序:
row_number 123456自增不重复
Rank()随机值
Dense_rank()