SQL语句总结.docx
- 文档编号:30119946
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:15
- 大小:148.75KB
SQL语句总结.docx
《SQL语句总结.docx》由会员分享,可在线阅读,更多相关《SQL语句总结.docx(15页珍藏版)》请在冰豆网上搜索。
SQL语句总结
SQL语句总结
一,创建语句:
创建数据库
格式
(1)CREATEDATABASE数据库名
(2)CREATEDATABASE数据库名
ONPRIMARY(数据库主文件地址、大小等信息)
FILEGROUP组名(数据库其他文件地址、大小等信息)
LOGON(日志文件地址、大小等信息)
举例
CREATEDATABASEstu
或者
CREATEDATABASEstu
ONPRIMARY
(
NAME=stu_dat1,
FILENAME='E:
\STU\stu_dat1.mdf',
SIZE=2,
MAXSIZE=10,
FILEGROWTH=2
)
LOGON
(
NAME=stu_log1,
FILENAME='E:
\STU\stu_log1.ldf',
SIZE=3,
MAXSIZE=10,
FILEGROWTH=2
)
创建表
格式
CREATETABLE表名(列名列类型约束)
举例
(1)一个简单的表格(注意,中文字段名要加[]括起来)
CREATETABLE[商品表]
(
[商品ID]VARCHAR(20),
[商品名称]NVARCHAR(20),
[商品价格]MONEY,
[商品数量]INT,
)
(2)创建表时加约束(主键约束,默认约束,检查约束,外键约束)
CREATETABLEbid
(
bidsidintPRIMARYKEY,
datedatetimeDEFAULT(GETDATE()),
quantityintCHECK(quantity>=0),
itemidintREFERENCESitem(itemid)
)
(3)加约束的另一办法(指定约束名)
CREATETABLEbid
(
bididintidentity(1,1)CONSTRAINTpk_bididPRIMARYKEY,
datedatetimeCONSTRAINTDF_datetimeDEFAULT(GETDATE()),
quantityintCONSTRAINTCK_quantityCHECK(quantity>=0),
itemidintCONSTRAINTFK_bidFOREIGNKEYREFERENCESitem(itemid)
)
(4)创建主键、外键时另一办法
CREATETABLEbid
(
bididintidentity(1,1),
datedatetime,
quantityint,
itemidint,
CONSTRAINTPK_bididPRIMARYKEY(bidid),
CONSTRAINTFK_bidFOREIGNKEY(itemid)REFERENCESitem(itemid)
)
注意:
pk_bidid,DF_datetime,CK_quantity,FK_bid都是自己任意起的约束名
intidentity(1,1)是说明该列是标识列,自动标号,从1开始每次增加1
二,添加语句
创建表后添加约束
格式
ALTERTABLE表名ADDCONSTRAINT约束名约束类型(字段名)
举例
添加主键约束
ALTERTABLEbidADDCONSTRAINTPK_dididPRIMARYKEY(bidid)
添加外键约束
ALTERTABLEbidADDCONSTRAINTFK_bidFOREIGNKEY(itemid)
REFERENCESitem(itemid)
添加默认约束
ALTERTABLEbidADDCONSTRAINTDF_quantityDEFAULT(100.00)FORquantity
添加检查约束
ALTERTABLEbidADDCONSTRAINTCK_dateCHECK(date>=GETDATE())
创建表后添加字段(及同时添加约束)
格式
ALTERTABLE表名ADD字段名字段类型
或者增加字段同时添加约束:
ALTERTABLE表名ADD字段名字段类型CONSTRAINT约束名约束类型
举例
ALTERTABLEbidADDkindvarchar(20)
ALTERTABLEbidADDsexnvarchar
(1)CONSTRAINTCK_sexCHECK(sexIN('男','女'))
ALTERTABLEbidADDkindsvarchar(20)CONSTRAINTDF_kindsDEFAULT('abcde')
创建表后添加数据
选择相应字段插入数据
INSERTINTO目标表(字段列表)VALUES(数据)
举例
INSERTINTOitemVALUES('驼牌香烟',10.3,6)
或者
INSERTINTOitem(itemname,price)VALUES('驼牌香烟',10.3)
从源表中选择相应的字段写入目标表
INSERTINTO目标表(字段列表)SELECT字段列表FROM源表
举例
INSERTINTOitems(price,quantity)SELECTprice,quantityFROMitem1
三,修改语句
选择相应行进行修改
UPDATE表名SET字段名=数据WHERE条件
举例
UPDATEitemSETprice=price+10WHEREquantity>10
说明:
WHERE子句可以省略,省略后,将更新表中所有行
修改字段的数据类型定义
ALTERTABLE表名
ALTERCOLUMN字段名数据类型
举例
ALTERTABLEitem
ALTERCOLUMNitemnamenvarchar(50)
选择相应行进行修改
UPDATE表名SET字段名=数据WHERE条件
举例
UPDATEitemSETprice=price+10WHEREquantity>10
说明:
WHERE子句可以省略,省略后,将更新表中所有行
修改表中字段名称
sp_rename'表名.字段名','新字段名','COLUMN'
举例
sp_rename'item.itemname','name','COLUMN'
内联更新
按条件连接两个表,对符合条件的行进行更新。
Item表
Bid表
UPDATEitemSETprice=price+10FROMitem
INNERJOINbidONitem.itemid=bid.itemidWHEREbid.quantity>30
执行语句后:
外联更新(左联)只要有一行满足ON中的匹配条件,就更新一个表的所有行,左联更新左边表的所有行
item表
bid表
UPDATEitemSETprice=price+10FROMitem
LEFTOUTERJOINbidONitem.itemid=bid.itemid
执行语句后
外联更新(左联)加上WHERE条件后,更新的行也要满足WHERE条件里的要求。
item表
bid表
UPDATEitemSETprice=price+10FROMitem
LEFTOUTERJOINbidONitem.itemid=bid.itemid
WHEREitem.itemid=1
执行语句后
外联更新(右联)
只要有一行满足ON中的匹配条件,就返回一个表的所有行,右联更新右边表的所有行。
item表
bid表
UPDATEbidSETquantity=quantity+100FROMitem
RIGHTOUTERJOINbidONitem.itemid=bid.itemid
执行语句后:
外联更新(右联)加上WHERE条件后,更新的行也要满足WHERE条件里的要求。
item表
bid表
UPDATEbidSETquantity=quantity+100FROMitem
RIGHTOUTERJOINbidONitem.itemid=bid.itemid
WHEREquantity>30
执行语句后:
四,删除语句
删除数据库
格式:
DROPDATABASE数据库名
举例:
DROPDATABASE
删除表
格式:
DROPTABLE表名
举例:
DROPTABLEbid
删除字段
格式:
ALTERTABLE表名DROPCOLUMN字段名
举例:
ALTERTABLEbidDROPCOLUMNquantity
删除约束
格式:
ALTERTABLE表名DROPCONSTRAINT约束名
举例:
ALTERTABLEbidDROPCONSTRAINTFK_bid
删除行
格式:
DELETEFROM表名WHERE条件
举例:
DELETEFROMitemWHEREprice<20andprice>10
删除所有行
格式:
TRUNCATETABLE表名
举例:
TRUNCATETABLEitem1
五,查询语句
简单SELECT
格式:
SELECT*FROM表名
举例:
SELECT*FROMbid
或者:
格式:
SELECT*FROM表名WHERE条件
举例:
SELECT*FROMbidWHEREquantity>30
只输出要查询的列
格式:
SELECT列名称FROM表名WHERE条件
举例:
SELECTquantity,itemidFROMbidWHEREquantity>10
使用ORDERBY子句(排序)
格式:
SELECT列名称FROM表名WHERE条件ORDERBY字段名
举例:
SELECTquantity,itemidFROMbidWHEREquantity>10ORDERBYquantity
(升序排列)
或者:
SELECTquantity,itemidFROMbidWHEREquantity>10ORDERBYquantityDESC
(降序排列)
使用AS子句命名列
格式:
SELECT列名称AS标题FROM表名WHERE条件
举例:
SELECTquantityAS'数量',itemidAS'商品号'FROMbidWHEREquantity>10
使用TOP子句限制返回行数
格式:
SELECTTOP返回列数列名称FROM表名WHERE条件
举例:
SELECTTOP3quantityFROMbidWHEREquantity>10
格式:
SELECTTOP10PERCENTquantityFROMbidWHEREquantity>10
SUM
求和
(1)对满足条件的行的指定字段求和
格式:
SELECTSUM(字段)AS‘名称‘FROM表名WHERE条件
举例:
SELECTSUM(quantity)AS'数量和'FROMbid
(2)加DISTINCT后只对不重复的值求和
格式:
SELECTSUM(DISTINCT字段)AS‘名称‘FROM表名WHERE条件
举例:
SELECTSUM(DISTINCTquantity)AS'数量和'FROMbid
AVG
求平均值
(1)对满足条件的行的指定字段求平均值
格式:
SELECTAVG(字段)AS‘名称‘FROM表名WHERE条件
举例:
SELECTAVG(quantity)AS'平均值'FROMbid
(2)加DISTINCT后只对不重复的值求平均值
举例:
SELECTAVG(DISTINCTquantity)AS'平均值'FROMbid
COUNT
返回非空值数目
格式:
SELECTCOUNT(字段)AS‘名称‘FROM表名WHERE条件
举例:
SELECTCOUNT(quantity)AS'交易次数'FROMbid
加DISTINCT后只对不重复的值求数目
SELECTCOUNT(DISTINCTquantity)AS'交易次数'FROMbid
MAX返回表达式中最大值
格式:
SELECTMAX(字段)AS‘名称‘FROM表名
举例:
SELECTMAX(quantity)AS'数量和'FROMbid
MIN
返回表达式中最小值
格式:
SELECTMIN(字段)AS‘名称‘FROM表名
举例:
SELECTMIN(quantity)AS'数量和'FROMbid
使用GROUPBY分组查询
bid表
SELECTitemidAS'商品类别',SUM(quantity)AS'销售数量'FROMbidGROUPBYitemid
汇总输出为:
使用HAVING子句选择分组后的行
bid表
SELECTSUM(quantity)AS'销售数量',
itemidAS'商品类别'
FROMbid
GROUPBYitemid,dateHAVINGdate>'1998-1-1'
汇总输出为:
模糊查询
1,%代表查询所有匹配字符
举例:
SELECT*FROMitemWHEREitemnameLIKE'剑%'
2,[取值范围]
SELECT*FROMitemWHEREitemnameLIKE'M[AL]%'
3,IN运算符
SELECT*FROMitemWHEREitemkindIN('饮料','香烟')
4,BETWEEN运算符
SELECT*FROMitemWHEREpriceBETWEEN4AND200
与此句相同:
SELECT*FROMitemWHERE(price>=4)AND(price<=200)
5,ISNULL运算符
查看是否非空
SELECT*FROMitemWHEREpriceISNOTNULL
多表连接查询(内联接:
两个表的行与条件匹配时,将两个表的记录组合起来)
item表:
bid表:
查询语句:
SELECTitem.itemname,item.itemkind,bid.quantityFROMitem
INNERJOINbidONitem.itemid=bid.itemidWHEREitem.itemkind='饮料'
查询结果:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 语句 总结