一期SQLServer知识点总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
⼀期SQLServer知识点总结
⼀期SQL Server 知识点总结
⼀、基本概念
1.数据完整性:数据的完整性是指数据库中数据的准确性。
2.数据冗余:在数据库中,数据重复的现象就是数据冗余。
在实际开
发中冗余允许存在,但应尽量减少冗余。
3.实体:实体是所有客观存在的,可以被描述的事物。
4.表: 表是实体的集合,⽤来存储具体的数据。
5.DBMS:数据库管理系统。
DBS:数据库系统。
DBA:数据库管理员。
6.SQL Server中的数据库按照⽤途可以分为:
系统数据库:master、Tempdb、Model、Msdb。
⽤户数据库:⽤户⾃定义的数据库。
7.SQLServer两种⾝份验证:
Windows⾝份验证,SQLServer⾝份验证。
8.主数据库⽂件后缀名:.mdf
次要数据库⽂件后缀名:.ndf
⽇志⽂件后缀名:.ldf
9.实体完整性约束:实体完整性约束要求表中的每⼀⾏数据都反映
不同的实体,不能存在相同的数据⾏。
10.实体完整性包括:索引,唯⼀约束,主键约束,标识列。
11.域完整性约束:域完整性约束是指给定列的输⼊有效性。
12.域完整性包括:检查约束,外键约束,默认值,⾮空约束。
13.引⽤完整性约束:在输⼊或删除数据⾏时,引⽤完整性约束⽤来保持表之间已定义的关系。
引⽤完整性约束通过主外键之间的引⽤关系来
实现。
14.⾃定义完整性约束:⽤户⾃定义完整性约束⽤来定义特定的规则。
15.主键:表中有⼀列或⼏列组合的值能⽤来唯⼀的标⽰表中的每⼀⾏,这样的⼀列或多列的组合叫做表的主键。
主键的作⽤:⽤来约束确保了表中的⾏使唯⼀的,⼀个表中只能
有⼀个主键。
16.外键:外键的值要求与主表的主键相对应,实现完整性规则的过程。
⼀个表可以有多个外键。
17.主表与⼦表的关系:
⼦表中的相关项⽬的数据,在主表中必须存在。
主表中相关项的数据更改了,则主表对应的数据项也应当随之更改。
在删除⼦表之前,不能删除主表。
18.通配符:
'_':表⽰⼀个字符,如:A like 'C_'
%:表⽰任意长度的字符串,如:B like '%@%'
[]:表⽰括号中所指定范围内的⼀个字符,如:C like '9W0[1-2]'
[^]:表⽰不再括号内中所指定范围内的任意⼀个字符
如: D like '9w0[^1-2]'
19.T-SQL⽀持的逻辑运算符:And,Or,Not。
20.关键字:
order by: (ASC或Desc)
<>:不等于符号
As:⽤来在查询中使⽤列名字
如:select name as 姓名from Student
Is Null或者Is Not Null:⽤于判断是否为空⾏
Top:查询⼀些需要返回限制的⾏数
Percent:⽤来限制百分⽐记录
如:select top 2 person name from Student
like:模糊查询
如:select Age from Student where name like '张%' between and:某个范围内进⾏查询
如:select * from Stu where Score between 80 and 90 between and 多⽤于查询⽇期之间的范围
如:select * from Stu where BornDate between ‘1991-09-15’ and ‘1992-09-06’
In:在列举值内进⾏查询
如:select Address from Student where Address in('北京','⼴州')
Group by:分组查询
Having:分组筛选
Having Group By Where使⽤顺序:
where---->Group By----->Having
where ⽤于条件筛选
Group By⼦句通常会结合聚合函数⼀起来使⽤
Having ⼦句能够在分组的基础上、再次进⾏筛选
21.聚合函数:(返回单个值)
Sum,Avg,Max,Min,Count
Sum:返回表达式中所有数值的总和,Sum只能⽤于数字类型的列Avg:返回表达式中所有数值的平均值,Avg只能⽤于数字类型列Max:返回表达式中最⼤的值,Max⽤于数字型,字符型以及⽇期时间的类型列
Min:返回表达式中最⼩的值,Min⽤于数字型,字符型以及⽇期时间的类型列
Count:返回表达式中⾮空的值,Count⽤于数字和字符类型的列
22.常⽤多表连接查询:
内连接:inner join
左外连接:left join
右外连接:right join
多表连接查询使⽤on关键字确定主外键关系
内连接与外连接的区别:
内连接:进⾏连接的两个表对应的相匹配的字段完全相同的连接。
左连接:两个表进⾏左连接时会返回左边表中的所有的⾏和右边表中与之相匹配的列值没有相匹配的⽤空值代替。
右连接:两个表进⾏右连接时会返回右边表中的所有的⾏和左边表中与之相匹配的列值没有相匹配的⽤空值代替。
⼆、数据库增删改查:表名:Student
列名如下:
姓名年龄性别爱好地址
Name Age Sex Hobby Address
1.添加⼀条语句:
添加所有列insert into <表名> values<值列表>
如:insert into Student values('张三',20,'男','体育','苏州')
insert into<表名>[列名]values<值列表> 此SQL语句⽤于添加指定的列如:insert into Student(Name,Age)values('李四',23)
⼀次插⼊多⾏数据:
insert into 表名(3)
select union
select union
select
如:insert into Student
select '王五',21,'男','⾳乐','江苏南京' union
select '马六',22,'男','打球','江苏⽆锡' union
select '靓爆',24,'⼥','游泳','⼴东⼴州'
insert select 语句将现有表中的数据添加到新表中: insert into <新表名> select <原表列名> from <原表>执⾏此语句新标应事先建好
Select into 语句将现有表的数据添加到新表:
Select <原表列名> into <新表> from <原表>
执⾏此语句新表是执⾏查询语句时创建的
2.删除语句:
使⽤Delete删除数据:
delete from <表名> [where<删除条件>]
如:delete from Student where name='张三'
使⽤Truncate Table删除数据
Truncate Table 表名
3.修改语句:
Update <表名> set <列明=更新值> [where<更新条件>]
如update Student set name='赵亮' where name='张三' 4.查询语句:
查询表中所有信息:select * from 表名
按条件查询: select 列名from 表名[where<查询条件>] 如:select age from Student where name='张三'。