-- 判断某个数据库是否存在,存在就删除时的语句
-- 创建数据库是必须先使用master数据库
-- if 判断
-- db_id 数据库ID名称
-- is not null 判断是否为空
-- drop 删除关键字
-- database 数据库关键字
-- 比如
-- 判断学校数据库是否存在,存在就删除

use mastergoif db_id('student') is not null
    drop database studentgo

-- 创建数据库时的语句
-- 创建数据库是必须先使用master数据库
-- create 创建数据库关键字
-- database 表示创建为数据库
-- on 表示数据库的具体信息
-- name 数据库名 用法:name=‘数据库名称’
-- filename 数据库文件名 用法:filename=‘文件的绝对路径,文件的后缀为(.mdf)’
-- size 数据库初始大小,单位为MB 用法:size=初始大小
-- maxsize 数据库的最大大小 用法:maxsize=数据库的最大大小
-- filegrowth 数据库文件大小增长速度 用法:filegrowth=增长的速度
-- 比如
-- 创建学校数据库

use mastergocreate database school on(-- 数据库名为studentname=‘student’,-- 文件名为filename='D:\\db\student.mdf',-- 初始大小为5,单位为MBsize=5,-- 最大大小为20,单位为MBmaxsize=20,-- 数据库文件大小的增长速度为10%filegrowth=10%)go

-- 创建表时的各种约束
-- 创建表时必须先使用需要的数据库
-- primary key 主键 用法:直接跟在字段数据类型后
-- default 默认值 用法:字段数据类型后,default(字段默认值)
-- unique 唯一键 用法:字段数据类型后
-- check 检查约束 用法:字段数据类型后 check(约束的具体内容)
-- not null 非空约束 用法:直接跟在字段数据类型后
-- identity 自增 用法:字段数据类型后 identity(自增种子 英文逗号 自增量)
-- references 外键关系 用法:字段数据类型后 references [主表名](主表的外键字段)
-- 比如

-- 在学校数据库创建班级表use schoolgocreate table classes
(-- 编号 整型 主键 自增(种子为1,增量为1)ID int primary key identity(1,1),-- 班级名 nvarchar 唯一 非空className nvarchar(50) unique not null)go-- 在学校数据库创建学生表create table student
(-- 编号 整型 主键 自增(种子为1,增量为1)ID int primary key identity(1,1),-- 学号 varchar 唯一 非空stuID nvarchar(10) unique not null,-- 学生名 nvarchar 非空stuName nvarchar(20) not null,-- 性别 nvarchar 检查约束为 只能为男或女 默认为男stuSex nvarchar(4) check(stuSex in('男','女')) default('男'),-- 班级编号 整型 外键班级表班级编号classID int references [classes](ID)
)go
-- 在学校数据库创建班级表use schoolgocreate table classes
(-- 编号 整型 主键 自增(种子为1,增量为1)ID int primary key identity(1,1),-- 班级名 nvarchar 唯一 非空className nvarchar(50) unique not null)go-- 在学校数据库创建学生表create table student
(-- 编号 整型 主键 自增(种子为1,增量为1)ID int primary key identity(1,1),-- 学号 varchar 唯一 非空stuID nvarchar(10) unique not null,-- 学生名 nvarchar 非空stuName nvarchar(20) not null,-- 性别 nvarchar 检查约束为 只能为男或女 默认为男stuSex nvarchar(4) check(stuSex in('男','女')) default('男'),-- 班级编号 整型 外键班级表班级编号classID int references [classes](ID)
)go