diff --git "a/\345\274\240\346\267\221\350\212\263/\344\275\234\344\270\232.sql" "b/\345\274\240\346\267\221\350\212\263/\344\275\234\344\270\232.sql" new file mode 100644 index 0000000000000000000000000000000000000000..60fb8b16bf5fbc3b772cb2e30840c8f7b7a0dc2c --- /dev/null +++ "b/\345\274\240\346\267\221\350\212\263/\344\275\234\344\270\232.sql" @@ -0,0 +1,88 @@ + + -- 创建数据库 DBTEST + create database DBTEST; + + use DBTEST; + + /* 创建表 + 部门信息表(sectionInfo) + 部门编号 sectionID int 标识列 主键 + 部门名称 sectionName varchar(10) 不能为空 */ + + create table sectionInfo( + sectionID int identity(0,1) primary key, + sectionName varchar(10) not null, + ); + + --添加5条测试数据 + insert into sectionInfo(sectionName) values + ('开发部'), + ('测试部'), + ('美工部'), + ('狗策划部'), + ('宣发部'); + + select * from sectionInfo; + + /* + 员工信息表(userInfo) + 员工编号 userNo int 标识列 主键 不允许为空 + 员工姓名 userName varchar(10) 唯一约束 不允许为空 长度必须大于4 + 员工性别 userSex varchar(2) 不允许为空 只能是男或女 + 员工年龄 userAge int 不能为空 范围在1-100之间 + 员工地址 userAddress varchar(50) 默认值为“湖北” + 员工部门 userSection int 外键,引用部门信息表的部门编号*/ + drop table userInfo; + + create table userInfo( + userNo int identity(0,1) primary key not null, + userName varchar(10) unique not null check(len(userName) > 2), + userSex varchar(2) not null check(userSex = '男' or userSex = '女'), + userAge int not null check(userAge >= 1 and userAge <= 100), + userAddress varchar(50) default('湖北'), + userSection int references sectionInfo(sectionID) + ); + + --添加5条测试数据 + insert into userInfo(userName,userSex,userAge,userAddress,userSection) values + ('李铁梅','女',25,'上海',0), + ('王小明','男',25,'湖北',1), + ('王大锤','女',25,'上海',2), + ('眼睛小哥','男',38,'火星',3), + ('乔鲁偌','男',15,'霓虹',4); + + select * from sectionInfo; + + + /* + 员工考勤表(workInfo) + 考勤编号 workId int 标识列 主键 不能为空 + 考勤员工 userId int 外键 引用员工信息表的员工编号 不能为空 + 考勤时间 workTime datetime 不能为空 + 考勤说明 workDescription varchar(40) 不能为空 内容只能是“迟到”,“早退”,“旷工”,“病假”,“事假”中的一种 */ + drop table workInfo; + + create table workInfo( + workId int identity(0,1) primary key not null, + userId int references userInfo(userNo) not null, + workTime datetime not null, + workDescription varchar(40) not null check(workDescription = '迟到' or workDescription = '早退' or workDescription = '旷工' or workDescription = '病假' or workDescription = '事假') + ); + + --添加5条测试数据 + insert into workInfo(userId,workTime,workDescription) values + (0,'2022-01-05 15:25:46','迟到'), + (1,'2022-02-15 16:44:44','早退'), + (2,'2022-03-29 12:25:46','旷工'), + (3,'2022-04-25 08:45:46','病假'), + (4,'2022-06-18 19:25:46','事假'); + + select * from workInfo; + + + + + + + + diff --git "a/\345\274\240\346\267\221\350\212\263/\347\254\224\350\256\260.md" "b/\345\274\240\346\267\221\350\212\263/\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..bbee2b0c451bee7af45601ed59e1b96039b0b4d6 --- /dev/null +++ "b/\345\274\240\346\267\221\350\212\263/\347\254\224\350\256\260.md" @@ -0,0 +1,45 @@ +# SQL SERVER + +### -- 9.15 + +#### 鍒涘缓鏁版嵁搴 + +```sql +//1 +create database 鏁版嵁搴撳悕; +//2 +if exists (select * from sys.databases where name = '鏁版嵁搴撳悕') +drop database 鏁版嵁搴撳悕; +``` + +#### 鍒涘缓鏁版嵁琛 + +```sql +create table 琛ㄥ悕( + +); +``` + +#### 鍒犻櫎琛 + +```sql +drop table 琛ㄥ悕; +``` + +#### 淇敼琛ㄧ粨鏋 + +```sql +淇敼琛ㄧ粨鏋 琛ㄥ悕 add constraint 绾︽潫鍚 foreign key(瑕佸紩鐢ㄧ殑瀛楁) references 涓婚敭琛(瀛楁) +``` + + + +闈炵┖ not null + +涓婚敭(鏍囪瘑鍒) primary key + +鑷 identity(浠庡嚑寮濮,涓娆″灏) + +妫鏌ョ害鏉 check() + +澶栭敭 references \ No newline at end of file