赞
踩
特别特别重要的(很可能考)
where和having的区别
- where作用于基本表和视图
- having作用于分组之后的数据
没有
数据文件最大大小无限制:maxsize = unlimited
每次增加xxx:filegrowth = 2MB
文件组:filegroup GROUP2
添加新文件:alter database 数据库 add file
修改文件:alter database 数据库 modify file
添加新的日志文件:alter database 数据库 add log file
收缩数据库:dbcc shrinkfile(student_data1,4)
删除文件:alter database 数据库 remove file Students_data1
数据库基本分类
数据文件: ‘.mdf’,’.ndf’
日志文件:’.ldf’
特别注意:数据文件和日志文件必须都有一个,次要数据文件可以有多个,日志文件也可以有多个
文件组只作用在数据文件上
创建数据库
create database on primary --基本文件组 ( name = students_data1, --逻辑文件名 filename = 'F:\Data\student_data1.mdf', --主数据文件 size = 5MB, --初始大小 maxsize = unlimited --最大大小无限制 ), --如果有次要数据文件,这里必须加逗号 ( name = students_data2, filename = 'D:\Data\students_data2.ndf', size = 8MB, maxsize = 20MB, filegrowth = 2MB --每次增加xxx ) --不加逗号 log on ( name = students_log, filename = 'E:\log\students_log.ldf', size = 2MB, maxsize = 6MB, filegrowth = 10% ), filegroup GROUP2 --新的文件组 ...
添加新的数据文件
alter database 数据库
add file
(
name = ...
....
)
修改数据文件的初始大小
alter database 数据库
modify file
(
name = Students,
size = 8MB
)
添加新的日志文件
alter database 数据库
add log file
(
...
)
收缩数据库
dbcc shrinkfile(student_data1,4)
删除文件
alter database 数据库
remove file Students_data1
创建文件组
alter database Students
add filegroup Group1
删除文件组
alter database Students
remove filegroup Group
将文件组设为默认文件组
alter database Students
modify filegroup Group default
删除数据库
drop database Students
分离数据库
exec sp_detach_db 'Students','true'
附加数据库
create database Students
on (filename = 'F:\Data\Students.mdf')
for attach
数据类型 | 说明 | 存储空间 |
---|---|---|
bigint | 从–263到263-1范围的整数 | 8字节 |
int | 从–231到231-1范围的整数 | 4字节 |
smallint | 从–215到215-1范围的整数 | 2字节 |
tinyint | 从0到255之间的整数 | 1字节 |
数据类型 | 说明 | 存储空间 |
---|---|---|
float[(n)] | 存储从-1.79E+308到-2.23E-308,0以及2.23E-308到1.79E+308范围的浮点数 | 当1<=n<=24,占四字节,当25<=n<=53,占8字节,默认n=53 |
real | 存储从–3.40E + 38到3.40E + 38范围的浮点型数 | 4字节 |
数据类型 | 说明 | 存储空间 |
---|---|---|
char(n) | 固定长度的普通编码字符串类型,n表示字符串的最大长度,取值范围为1~8000 | n个字节。当实际字符串所需空间小于n时,系统自动在后边补空格 |
varchar(n) | 可变长度的字符串类型,n表示字符串的最大长度,取值范围为1~8000 | 字符数+2字节额外开销 |
text | 最多可存储232-1个字符 | 每个字符1字节 |
数据类型 | 说明 | 存储空间 |
---|---|---|
nchar(n) | 固定长度的统一编码字符串类型,n表示字符串的最大长度,取值范围为1~4000 | 2n字节。当实际字符串所需空间小于2n时,系统自动在后边补空格 |
nvarchar(n) | 可变长度的统一编码字符串类型,n表示字符串的最大长度,取值范围为1~4000 | 2*字符数+2字节额外开销 |
ntext | 最多存储230-1个字符 | 每个字符2个字节 |
数据类型 | 存储空间 |
---|---|
date | 3字节 |
time | 3~5字节 |
datetime | 8字节 |
select * from "Black in Table Name"
select * from [Black in Table Name]
主键:primary key
取值不重复:unique
默认值:default ‘x’
取值范围:check(Sage>=15 and Sage<=45)
表级主键:primary key(Sno,Cno)
表级外键:foreign key(Sno) references Student(Sno)
自增:identity(1,1)
create table SC(
Sno char(7) not null,
Cno char(6) not null,
Grade tinyint,
primary key (Sno,Cno),
foreign key (Sno) references Student(Sno),
foreign key (Cno) references Student(Cno)
)
create table Test(
low int,
high int,
myavg as (low+high)/2
)
alter table 表名 add 列名 属性
alter table SC add Type NCHAR(1) NULL
alter table SC
add check (type in ('必修','重修','选修'))
alter table SC drop column 字段名
drop table 表名
distinct 去除重复值
top 几 with ties
字符匹配
_:任意单个字符
%:0个或者多个任意字符
[]:里边的任意一个
[^]:除了里边的
只有count能出现*,sum,avg只能操作数值类型字段
insert into 表名 values (xxx)
update 表名 set 列名 = xxx
delete from 表名 where …
select Sname,year(getdate())-year(Birthdate) from Student
select distinct Sno from SC
select Sno where Grade between 80 and 90
select Sname from Student where Dept in ('信息系','机械系')
select * from Student where Sname like '章%'
-- 感叹号后边的一个字符作为普通字符处理,不作为通配符处理
select * from num where num like '%30!%%' escape '!'
-- DESC是降序,默认是升序(ASC)
select * from SC order by SCORE DESC
select count(*) from SC group by CNO
TNO | TNUM |
---|---|
001 | one |
002 | two |
TNO | TNAME |
---|---|
001 | la |
002 | lala |
003 | lalala |
select * from T1 join T2 on T1.TNO = T2.TNO
TNO | TNUM | TNAME |
---|---|---|
001 | one | la |
002 | two | lala |
select S2.Sname
from Student S1 join Student S2
on S1.Dept = S2.Dept
where S1.Sname = '张小明' and S2.Sname != '张小明' --这句一定要记得加
select * from Student left outer join SC
on Student.Sno = SC.Sno
where SC.SNO is null
select Top 3 with ties Sname from Student order by Grade desc
select xxx into 新表名 from 表名
insert into 表名 values (xxx)
insert into 表名(字段名) values (xxx)
update 表名 set 列名 = xxx
delete from 表名 where ...
where 列名 [NOT] IN (子查询语句)
where 列名 比较运算符 (子查询语句)
where exists (子查询语句)
select SNO,SCORE from SC
where Cno = 'C004' and
Grade > (select avg(Grade) from SC where Cno = 'C004')
select Sname,Cno,Grade from Student S
join SC on S.Sno = SC.Sno
where S.Sno = SOME(
select Sno from SC where Grade >=90
)
select Sno,Cno,Grade from SC SC1
where Sno in(
select top 2 with ties Sno from SC SC2
where SC1.Cno = SC2.Cno
order by Grade desc
)
and Grade is not null
order by Cno ASC,Grade DESC
select Sname from Student
where exists
(
select * from SC where Sno = Student.Sno and Cno = 'C002'
)
select COL1 from T1
union
select COL3 from T2
create clustered index Idx_Sname on Student(Sname)
create unique index AK_UnitMeasure_Name
on Production.UnitMeasure(Name)
drop index Idx_Sname on Student
create index IND_TNO_AGE on Teacher(TNAME ASC,AGE DESC)
create unique index IND_CN on Course(CNAME ASC)
只有单表时才能进行增删改
有函数或者连接时不能进行增删改
透过视图的操作也就是对基本表做的操作
create view View_S(SNO,SNAME,SEX,DEPT)
as
select SNO,SNAME,SEX,DEPT from Student
alter view View_S(SNO,SNAME,DEPT)
as
select SNO,SNAME,DEPT from Student
create view View_S_CS
as
select * from Student where DEPT = '计算机'
with check option
drop view View_S
x | y | z |
---|---|---|
1 | 2 | 3 |
2 | 3 | 4 |
3 | 4 | 5 |
x | q | w |
---|---|---|
1 | 2 | 3 |
2 | 3 | 4 |
3 | 4 | 5 |
4 | 5 | 6 |
a.x | y | z | b.x | q | w |
---|---|---|---|---|---|
1 | 2 | 3 | 1 | 2 | 3 |
2 | 3 | 4 | 2 | 3 | 4 |
3 | 4 | 5 | 3 | 4 | 5 |
a left outer join b
返回结果为
a.x | y | z | b.x | q | w |
---|---|---|---|---|---|
1 | 2 | 3 | 1 | 2 | 3 |
2 | 3 | 4 | 2 | 3 | 4 |
3 | 4 | 5 | 3 | 4 | 5 |
b left outer join a
返回结果为
b.x | q | w | a.x | y | z |
---|---|---|---|---|---|
1 | 2 | 3 | 1 | 2 | 3 |
2 | 3 | 4 | 2 | 3 | 4 |
3 | 4 | 5 | 3 | 4 | 5 |
4 | 5 | 6 | NULL | NULL | NULL |
select from a a1 join a a2 on a1.x = a2.x
a.1x | a1.y | a1.z | a2.x | a2.y | a2.z |
---|---|---|---|---|---|
1 | 2 | 3 | 1 | 2 | 3 |
2 | 3 | 4 | 2 | 3 | 4 |
3 | 4 | 5 | 3 | 4 | 5 |
课后习题答案:https://www.docin.com/p-1996215595.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。