可能有遗漏的部分,只是找了一下常用的、基础的吧!(都是老师指导有方!)
一、简单查询
1、查询所有数据,查询部分列数据,列别名 SELECT * FROM Stutb SELECT Column1 as 'ID','Topic'=Column2,Column3 FORM Stutb
2、查询不重复的数据, SELECT DISTINCT SID,Column2 FROM Stutb
3、查询前n行数据 SELECT TOP n PERCENT Column1,Column2 FROM Stutb
4、过滤行 (AND/OR/NOT)(NOT BETWEEN AND/BETWEEN ...AND...)
(LIKE'%'/'_'/'[0-9]')
(IS NULL/IS NOT NULL)
(IN(Values1,Values2,Values3))
运算符:比较运算符、逻辑运算符、范围运算符、列表运算符、模式匹配符、空值判断符
SELECT Column1,Column2 FROM Stutb WHERE ...
5、排序
SELECT Column1,Column2,Column3 FROM Stutb
ORDER BY Column1 asc/desc,Column2 asc/desc
二、函数
1、字符串函数:substring(expression,start,length)、 str(float_expression,[length,[decimal]])
2、日期函数:getdate()、dateadd(datepart,number,date)、 Datediff(datepart,date1,date2)、 Year(date)、Month(date)、Day(date)
3、数学函数:round(numeric_exp,length)
4、转换函数:convert(datatype [(length)],expression[,style])
5、次序函数:row_number()、Rank()、dense_rank()//排名
6、Isnull函数:isnull(Column1,Values1)
7、集合函数:min(Column1),max,sum,avg,count
三、分组
分组过滤
SELECT SID,Name,COUNT(*) FROM Stutb WHERE... GROUP BY SID,Name HAVING...
四、连接
1、内连接
SELECT A.Column1,B.Column2 FROM Stutb a [INNER] JOIN Coursetb b ON A.SID=B.SID
2、外连接:左外连接、右外连接、全外连接
SELECT A.Column1,B.Column2 FROM Stutb a left|right|full [OUTER] JOIN Coursetb b on a.sid=b.sid
五、子查询
[not] in //多值
[not] exists //是否存在 比较运算符引出的子查询 //单值(>、<、=)
SELECT Column1,Column2 FROM Stutb WHERE SID IN(SELECT SID FROM Coursetb)
SELECT Column1,Column2 FROM Stutb WHERE EXISTS(SELECT SID FROM Coursetb)
六、建库建表
1、建库 CREATE DATABASE StuDB (*.mdf/*.ldf) /DROPDATABASE StuDB
2、建表 CREATE TABLE StuTB /DROPTABLE StuTB
( Column1 ColumnType (size) null/not null Primary Key check(),
Column2 ColumnType null/not null Unique ,
Column3 ColumnType null/not null Default 10,
Column4 ColumnType Foreign Key ID References CourseTb (CID)
)
ALTER TABLE Stutb Add
ALTER TABLE Stutb Alter Column
ALTER TABLE Stutb Drop Column
3、操作表数据
INSERT [INTO] StuTB (Column1,Column2,Column3) VALUES(Values1,Values2, Values3)
注意:自动增长列不应在列表中
UPDATE StuTB Set Column1=Values1,Column2=Values2 WHERE SID=id
DELETE FROM StuTB WHERE SID=id
七、数据完整性
constraint
references
1、Primary key 主键
2、Foreign key 外键 REFERENCES 表名(列名)
3、Unique 唯一约束
4、Check 检查约束
5、Default 默认值约束
八、视图
CREATE VIEW View_Name AS SELECT * FROM Stutb
九、索引(簇索引/非簇索引)
CREATE INDEX Index_Name ON Stutb (Column1,Column2)(为非簇索引,主键为簇索引)
十、存储过程
CREATE PROC GetInfor
@SID char(4),
@SName char(20),
@SAge int output
AS SELECT * FROM Stutb //return 数值(返回值)
DECLARE @Age int
EXEC GetInfor @sid,@sname,output @sage
十一、事务
四个特性:
1. 原子性(Atomicity)
2. 一致性(Consitency)
3. 隔离性(Isolation)
4.永久性(Durability)
begin transation
commit transaction
rollback transaction
save transaction
十二、触发器
create trigger trigger_name
on {table | view}
[with encryption]
{ for | after | instead of}
{[insert][,][update][,][delete]}
as
{ sql_statement
}