Database 数据库创建与删除 表的创建删除和修改 索引的创建和修改

Database 数据库创建与删除 表的创建删除和修改 索引的创建和修改

--exp1 and exp2
--1)在SQL Server中建立一个StuDB数据库:(请先在D盘下创建DB文件夹)
--有一个数据文件:逻辑名为StuData,文件名为“d:\db\StuDat.mdf”,文件初始大小为5MB,文件的最大大小不受限制,文件的增长率为2MB;
--有一个日志文件,逻辑名为StuLog,文件名为“d:\db\StuLog.ldf”,文件初始大小为5MB,文件的最大大小为10MB,文件的增长率为10%
create database StuDB
on
(
name=StuData,
filename='d:\StuDat.mdf',
size=5,
maxsize=unlimited,
filegrowth=2
)
log on
(
name=StuLog,
filename='d:\StuLog.ldf',
size=5,
maxsize=10,
filegrowth=10%
)

use StuDB
--S(CLASS,SNO, NAME, SEX, AGE),
--其中:CLASS为班号,char(5) ;SNO为座号,char(2),座号不能为空;NAME为姓名,char(10),设姓名的取值唯一;SEX为性别,char(2) ,默认值为'男';AGE为年龄,int,年龄限制在15至30岁之间,表中主码为班号+座号。写出实现下列功能的SQL语句。
--(1)	创建表S;

create table s
(
class char(5),
sno char(2) not null,
sname char(10)unique,
sex char(2) default ('男') check(sex='男' or sex='女'),
age int constraint CK_AGE check(age>=15 and age<=30),
primary key(class,sno)
)
--(2)	插入一个记录95031班25号李明,男性,21岁;
--再插入一个记录95101班10号王丽,女性,20岁;
--(3)	插入95031班座号为30,名为郑和的学生记录;
insert into s values('95031','25','李明','男',21)
insert into s values('95001','10','王丽','女',20)
insert into s(class,sno,sname) values ('95031','30','郑和')
select * from s
--(4)	对表S,按年龄降序建索引(索引名为inxage);
create index  inage  on s(age desc)
--(5)	向S表添加“入学时间(comedate)”列,其数据类型为日期型(datetime);
alter table s
add  comedate datetime
--(6)	对表S增加一个约束,入学时间的默认值为当前日期getdate()。
alter table s
add default(getdate()) for comedate
insert into s(class,sno,sname,sex,age) values('95001','12','王莉','女',21)
--(7)	删除S表的inxage索引;
drop index inage on s
--(8)	将年龄的数据类型改为smallint; 
alter table s
drop constraint CK_AGE
alter table s
alter column age smallint
--(9)	删除S表;
drop table s

你可能感兴趣的:(Database,SQL,Server,Database,table,index,alter,表结构的修改)