基本概念: 数据库:存放与管理数据的仓库,是逻辑上相关的数据的集合。优点有:减少数据冗余度、具有较高的独立性、便于数据共享。 数据库系统:由数据库及其管理软件组成的系统。 SQL:Structured Query Language,结构化查询语言,用来访问关系型数据库。
数据库:存放与管理数据的仓库,是逻辑上相关的数据的集合。优点有:减少数据冗余度、具有较高的独立性、便于数据共享。
数据库系统:由数据库及其管理软件组成的系统。
SQL:Structured Query Language,结构化查询语言,用来访问关系型数据库。
表:等同于二维数组,每一列是数据属性,每一行是数据内容。
字段:表中的列也叫字段。字段有自己的名字与属性。
索引:是单独的数据库结构,用来加速数据检索。
视图:将查询的结果以虚拟表的形式存储,用于保护数据安全性。
存储过程:能够完成特定功能的SQL语句的集合,类似于高级语言中的函数。
范式:Normal Form。
1NF:表的每一字段都是不可分割的基本数据项。
2NF:首先要满足1NF,然后要求数据库表中的每个非主关键字段都完全依赖于主关键字段。
3NF:首先要满足2NF,然后要求不存在非关键字段对任一候选关键字段的传递函数依赖。
一般说来,数据库只需满足第三范式(3NF)就行了。
Transact-SQL是标准SQL语言的增强版。有常量、变量、注释符、运算符与通配符、流程控制语句。
insert语句,向表中添加数据。
insert into Student
values (‘13’,’小明’,’男’,’20’)
update语句,修改指定数据。
update Student
set age=’18’
where name=’小明’
delete语句,删除指定数据。
delete from Student
where id=’1’
select语句,查询。
select * from Student //查询表中所有信息
into子句,将查询的结果插入到新表中。
select name,age into New_Student
from Student
like关键字用于字符串匹配。
like关键字通常与通配符一起使用。
通配符 |
说明 |
示例 |
% |
对应零个或多个任意字符 |
where name like ‘%tom%’ |
_ |
对应任何单个字符 |
‘_ook’对应’look’、’book’ |
[] |
指定集合中任意的单个字符 |
‘[a-p]z’,开头字母介于a~p,以z结尾 |
[^] |
不在集合中的任何单个字符 |
where age like‘3[^3-8]’,年龄属于30~32、39岁 |
between...and...关键字
where age between 22 and 24
group by子句
略
having子句
略
order by子句
select * from Student
where sex=’female’
order by age DESC //查询女同学信息,并按年龄降序排序
distinct 关键字,去除重复的记录
select distinct age
from Student //查询表中所有age的取值
嵌套查询:
略
sum avg min max count distinct
select * from Student
where age=(select min(age) from Student) //查询年龄最小学生的信息
数学函数
略
时间和日期函数
略
是单独的数据库结构,用来加速数据检索。
缺点:1.占用额外存储空间;2.对表中数据修改时,索引也要动态维护,效率降低。
聚集索引根据数据行的键值排序和存储。
非聚集索引不修改原表中数据项的位置。
undo
undo
undo