要点:
1.GO是用来分割批处理的语句.而局部变量的范围仅限于一个批处理内,在GO之后就不能使用之前定义的变量
2.创建数据库 CREATE DATABASE studentManager 和 生成主数据文件,日志文件之间 不要加GO语句,加了的话,会报错,生成不了 主次数据文件,和日志文件
3.一个数据库中,只可以有一个 主数据文件(扩展名: .mdf),多个次数据文件(扩展名: .ndf),多个日志文件(扩展名: .Ldf)
studentManager.mdf
USE master go --查找全部数据库中 如果有 名为 studentManager 则删除 if exists (SELECT * FROM sysdatabases WHERE name = 'studentManager') drop database studentManager go CREATE DATABASE studentManager --这里不要加GO语句,加了的话,生成不了 主数据文件,和日志文件 on primary --主数据文件 ( name = 'studentManager', fileName = 'D:\SQLServer\Data\studentManager.mdf', size = 5 MB , maxSize = 50 MB , fileGrowth = 1 MB ) -- 这里还可以加 次数据文件,扩展名为 .ndf log on --日志文件 ( name = 'studentManager_log', fileName = 'D:\SQLServer\Data\studentManager_log.ldf', size = 5 MB , maxSize = 50 MB , fileGrowth = 1 MB ) -- 这里还可以加多个日志文件,扩展名为 .ldf go USE studentManager go --建 主表 create table student( --字段名 数据类型 约束(一般在此只加非空约束) stuId int identity not null , -- identity 标识符 自增 1 stuName varchar(10) not null , stuAge int not null , stuTel varchar(11) not null, stuAddress varchar(20), groupId int not null ) go --建子表 create table exam( examId int identity not null , stuId int not null , --外键 writeResult int , computerResult int ) go --给表添加约束条件 alter table student add constraint pk_stuId primary key (stuId), --主键约束 constraint ch_stuAge check (stuAge>=0 and stuAge<=60), --check约束 constraint ch_stuTel --check约束 check (stuTel like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),--check约束 用了通配符 constraint DE_stuAddress --default约束 default '地址不详' for stuAddress go alter table exam add constraint pk_examId primary key (examId), constraint ch_writeResult check (writeResult>=0 and writeResult<=100), constraint ch_computerResult check (computerResult>=0 and computerResult<=100), --设外键 constraint exam_stuId foreign key (stuId) references student(stuId) go