1.创建数据库
create database db1
on primary
(
name = 'f1',
filename = 'E:\sqlwj\f1.mdf',
size = 3mb,
maxsize = unlimited,
filegrowth = 3%
),
(
name = 'f2',
filename = 'E:\sqlwj\f2.ndf',
size = 10mb,
maxsize = 500mb,
filegrowth = 6mb
)
log on
(
name = 'f3',
filename = 'E:\sqlwj\f3.ldf',
size = 1mb,
maxsize = unlimited,
filegrowth = 2%
)
alter database db1
modify name = database1
alter database db1
add file
(
name = 'f4',
filename = 'E:\sqlwj\f4.ndf',
size = 3mb,
maxsize = unlimited,
filegrowth = 2mb
)
alter database db1
add log file
(
name = 'f5',
filename = 'E:\sqlwj\f5.ldf',
size = 1mb,
maxsize = 400mb,
filegrowth = 4%
)
drop database db1
2.创建表
use db1
create table ts
(
id varchar(50) primary key,
name varchar(50) not null,
age int check (age >18 and age <30),
birthday datetime,
school varchar(50) default 'XXX学校',
phone varchar(20) unique,
sid varchar(50) foreign key references student(id)
)
alter table ts
add teacher varchar(50) not null
alter table ts
alter column teacher varchar(20)
alter table ts
drop column teacher
exex sp_rename 'ts.name','tsname'
exex sp_rename 'ts','ts2'
drop table ts
3.创建约束
use db1
alter table student
add constraint PK_ID primary key (id)
alter table student
add constraint UQ_NAME unique (name)
alter table student
add constraint CK_AGE check (age > 18 and age < 30)
alter table student
add constraint DF_SEX default '男' for sex
alter table school
add constraint FK_SID foreign key (sid)
references student(id)
alter table student
drop constraint PK_ID
alter table student
drop constraint UQ_NAME
alter table student
drop constraint CK_AGE
alter table student
drop constraint DF_SEX
alter table student
drop constraint FK_SID
4.变量和运算符
declare @name varchar(20), @age int
set @name = '张三'
set @age = 18
print @name
print @age
declare @a int, @b int, @z int
set @a = 18
set @b = 4
set @z = @a + @b
print @z
5.流控制语句
declare @a int, @b int, @z int
begin
set @a = 18
set @b = 4
set @z = @a + @b
end
print @z
declare @a int
set @a = 6
if @a > 0
print 'true'
else
print 'false'
declare @a int, @sum int
set @a = 1
set @sum = 0
while @a <= 10
begin
set @sum = @sum + @a
set @a = @a + 1
end
print @sum
declare @grade int, @msg varchar(20)
set @grade = 88
set @msg =
case
when @grade >= 90 and @grade <= 100 then 'excellent'
when @grade >= 70 and @grade < 90 then 'good'
when @grade >= 60 and @grade < 70 then 'pass'
else 'fail'
end
print @msg
waitfor delay '00:00:03'
print '你好'
waitfor time '10:11:00'
print '你好'
declare @x int
set @x = 1
loving:
print @x
set @x = @x + 1
while @x <= 3
goto loving
6.查询语句
select distinct name from student
select top 3 * from student
select age-2 as new_age from student
select * from student where age in (20, 22, 24)
select * from student where name like '王%'
'王_'
'_[大小]%'
'_[^大小]%'
select sum(grade) as total_grade from student
select count(distinct bm) from student
avg()
max()
min()
count()
select school
from student
group by school
having sum(grade) < 100
select * into new_tab from tab1
select
into
from
where
group by
having
order by
7.表连接
select ...
from tab1, tab2
where tab1.id = tab2.glid
select ...
from tab1 join tab2
on tab1.id = tab2.glid
8.子查询
select * from sc where sno in (select sno from student where sdept='计算机系')
9.增删改
insert into student(name,age,sex) values('张三',20,'男'),(...)
insert into student values('李四',26,'男'),(...)
insert into new_student select name,age from student
update student set name = 'XXX', age = 30-2 where ...
delete from student where ...
delete top (20) percent from student
delete top (10) from student
10.视图
create view shitu1 as select * from student
exec sp_rename 'shitu1','shitu2'
exec sp_rename 'shitu2.name','sname'
alter view shitu1 as select name,age from student
insert into shitu2 values(...)
update shitu2 set name = 'XX', age = 23 where ...
drop view shitu2
delete from shitu2 where ...
11.索引
create index suoyin_name on student(name)
create unique clustered index suoyin_name on student(id)
drop index student.suoyin_name