博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL 基础复习
阅读量:6935 次
发布时间:2019-06-27

本文共 2869 字,大约阅读时间需要 9 分钟。

可能有遗漏的部分,只是找了一下常用的、基础的吧!(都是老师指导有方!)

 

一、简单查询

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          

}

转载于:https://www.cnblogs.com/SanMaoSpace/archive/2011/11/02/2233485.html

你可能感兴趣的文章
Flex 布局教程:语法篇
查看>>
js 实现动态key value(JSON字符串注意事项:key和value都要用双引号,官网指定用双引号)...
查看>>
统一社会信用代码=营业执照注册号 + 营业执照注册号+营业执照注册号
查看>>
10 款最佳剪贴板管理器
查看>>
SLAM数据集
查看>>
修改Linux的SSH远程连接端口 技巧
查看>>
想做Android Wear开发?你得先搞明白这四件事
查看>>
lrzsz在CentOS7的安装
查看>>
mysql乐观锁总结和实践--转
查看>>
Java之Socket
查看>>
ES6新特性概览1
查看>>
DOM和SAX是应用中操纵XML文档的差别
查看>>
函数相关知识汇总
查看>>
使用C++/libCurl/Jsoncpp读取arcgis wmts 服务(restful模式)
查看>>
SQLite中的FROM子句
查看>>
Android IOS WebRTC 音视频开发总结(七六)-- 探讨直播低延迟低流量的粉丝连麦技术...
查看>>
Useful SQL Server DBCC Commands【转】
查看>>
善用GridView控件的HyperLinkField数据行
查看>>
[收藏】:android开发系列文章集合
查看>>
android 几个阶段
查看>>