sql知识点总结完整Word下载.docx
《sql知识点总结完整Word下载.docx》由会员分享,可在线阅读,更多相关《sql知识点总结完整Word下载.docx(13页珍藏版)》请在冰豆网上搜索。
![sql知识点总结完整Word下载.docx](https://file1.bdocx.com/fileroot1/2022-10/1/390a2177-4d62-4341-a865-55e8d20f4767/390a2177-4d62-4341-a865-55e8d20f47671.gif)
\data\tt.mdf'
size=4mb,
maxsize=50mb,
filegrowth=15%
logon(
name=tt1,
\data\tt1.ldf'
size=5mb,
maxsize=79mb,
--这是对数据库的修改
alterdatabasett
modifyfile(
maxsize=89mb
--增加日志文件
addlogfile(
name=oo,
\data\oo.ldf'
----查看数据库
sp_helpdbtt
5.重要的数据类型
Intfloatchar(sizedatetimevarchar(size6.在数据库中添加表
usett
go
ifexists(select*fromsysobjectswherename='
t_li'
droptablet_li
createtablet_li
(
achar(4notnull,
bintnotnull,
cdatetime
insertintot_livalues('
yy'
78,2012-5-12
insertintot_li(a,bvalues('
ttf'
89
select*fromt_li
--新建一个表,往表里添加t_li的数据
createtablet_ti1(
bintnotnull
insertintot_ti1
selecta,bfromt_li
---这种方法不用重建
selecta,b
intot_li2
fromt_li
select*fromt_li2
6.使用union关键字插入多行数据
---利用union一次插入多行数据
insertintot_li(a,b,c
select'
aa'
55,2012-8-12union
cc'
54,2032-5-12
7.对数据表进行操作
---对表的修改
altertablet_li
altercolumnachar(8
--添加字段
adddchar(9
--删除字段
dropcolumnd
--表的查询
8.对字段添加约束
---添加主键约束应该注意是主键约束字段的值不能是重复的altertablet_li
addconstraintpk_aprimarykey(a
---添加外键约束
addconstraintfr_bforeignkey(b
referencest_li4(b
--添加唯一约束
addconstraintt_li_uqunique(a
---添加默认约束
addconstraintt_li_dfdefault(20forb
--添加check约束
addconstraintt_li_ckcheck(bbetween0and50---删除约束
dropconstraintt_li_ck
9.对于表的查询(单表查询
select*fromCustomers
selectc_ID,c_Name,c_TrueName,c_PasswordfromCustomers
-----(查询WebShop数据库中会员信息表Customers中会员的编号(c_ID、
-----用户名(c_Name、真实姓名(c_TrueName、年龄(c_Age和密码(c_Password。
selectc_ID,c_Name,c_Truename,year(getdate(-year(c_Birth
'
c_Age'
c_Password
fromCustomers
select会员的编号=c_ID,用户名=c_Name,c_TrueNameas'
真实名字'
c_Password'
名字'
wherec_Type='
VIP'
--6将VIP客户的编号(c_id、姓名(c_name、出生日期(c_birth、籍贯(c_address、----
----联系电话(c_phone和地址(c_email显示出来并以汉字标题显示列名。
select编号=c_id,姓名=c_name,c_birthas'
出生年月'
c_address籍贯,
c_phoneas'
联系电话'
c_email'
地址'
fromCustomerswherec_Type='
----(将湖南的VIP客户记录显示出来。
select*fromCustomerswherec_Address='
湖南株洲市'
ANDC_Type='
-----(将的客户记录显示出来。
wherec_Emaillike'
%'
----(将前%的客户记录显示出来。
selecttop10percent*fromCustomers
----(将姓刘的客户记录显示出来。
wherec_TrueNamelike'
刘%'
-----(将客户按年龄进行降序(由大到小排序。
selectyear(getdate(-year(c_Birthas'
orderbyyear(getdate(-year(c_Birthdesc
----(将客户按类型升序排序,如果类型相同按年龄的降序进行排序。
orderbyc_Type,year(getdate(-year(c_birthdesc
10.对表中数据的操作
---对表中数据的操作
---修改表中的数据
---把学号为的同学的名字改为xiaoxin
updatestudent
setname='
xiaoxin'
wheresno='
01'
---删除表中数据
deletefromstudent
如果要删除整个表中的数据,还可以使用Truncatetable语句它相当于与一个没有where子句的delete语句。
与delete相比,他在执行时使用的系统资源和事务日志更少,执行速度更快
例如要将图书表中的所有数据删除。
Truncatetablebooks
Truncatetable只能删除表中的数据行,不会删除表结构及各种约束。
Truncatetable不能删除具有引用关系的数据表
(引用关系是两个表的主关键字和外关键字的数据应对应一致,这属于_____引用___完整性
11.sql语句的全称是structurequerylanguage
12.要求一个人的年龄year(getdate(-year(birth
13.聚合函数
--计算所有会员的积分之和。
selectsum(upoint
fromcustomers
--计算所有会员的平均积分。
selectavg(upoint
--计算所有会员的最高积分。
selectmax(upoint
--计算所有会员的最低积分。
selectmin(upoint
--统计会员表中积分大于的会员个数。
selectcount(*
whereupoint>
300
14.分组
selectsex,count(sexas个数
groupbysex
selectcity,sex,count(sex
groupbycity,sexhavingcount(sex>
2
having与where的用法一样,但是having与groupby一块用15.内连接
--查找某位同学的学号,姓名以及他的得分
selectstudent.sid,sname,score
fromstudentinnerjoinscore
onstudent.sid=score.sid
selectsc.sid,s.sname,sc.score
fromstudentsinnerjoinscoresc
ons.sid=sc.sid
selectsc.score,s.sname,sc.sid
fromscorescinnerjoinstudents
----三个表的内连接
selectsc.score,s.sname,ame
joincoursec
onc.cid=sc.cid
--内连接需要进行条件筛选,直接在后面加where既可
selectsc.score,s.sname,s.sgender,sc.cid
wheres.sgender='
男'
--笛卡尔乘积(交叉连接
selects.sname,sc.score
fromstudents,scoresc
--查询不满足条件的内连接(不等值连接结果集selectsc.score,s.sname,sc.cid
fromscorescinnerjoinstudentsons.sid<
>
sc.sid
--另一种内连接查询方法
--两个表的内连接(等值连接
selectsc.score,s.sname,sc.cid
fromscoresc,students
wheres.sid=sc.sid
--三个表的内连接(等值连接
fromscoresc,students,coursec
wheres.sid=sc.sidandsc.cid=c.cid
sele