MSSQL基础练习
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | /*个人练习,从基础开始;*/ --判断是否存在Test数据库,有就删掉 USE master; GO IF EXISTS( SELECT name FROM SYSDATABASES WHERE name = 'Test' ) BEGIN DROP DATABASE Test; END GO --创建Test数据库,有主数据库,次数据库和多日志文件 CREATE DATABASE Test ON PRIMARY ( NAME = 'Test_dat' , FILENAME = 'E:\Test\Test_dat.mdf' , SIZE = 3MB, MAXSIZE = 5MB, filegrowth = 1% ), ( NAME = 'Test_dat1' , FILENAME = 'E:\Test\Test_dat.ndf' , SIZE = 3MB, MAXSIZE = 5MB, filegrowth = 1% ) LOG ON ( NAME = 'Test_Log1' , FILENAME = 'E:\Test\Test_dat1.ldf' , SIZE = 2MB, MAXSIZE = 5MB, filegrowth = 1% ), ( NAME = 'Test_Log2' , FILENAME = 'E:\Test\Test_dat2.ldf' , SIZE = 2MB, MAXSIZE = 5MB, filegrowth = 1% ); GO --分离数据库 EXEC sp_detach_db Test; GO --附加数据库 CREATE DATABASE Test ON ( FILENAME = 'E:\Test\Test_dat.mdf' ) FOR ATTACH; GO USE Test; GO --如果存在Test2表,则删除表Test2 IF EXISTS( SELECT id FROM sysobjects WHERE id = OBJECT_ID(N 'Test2' )) BEGIN DROP TABLE Test2; END GO --创建表Test2 CREATE TABLE Test2 ( id INT IDENTITY(1,1) PRIMARY KEY , tName VARCHAR (20) NOT NULL , captainId INT UNIQUE ) GO --如果存在Test表,则删除表Test IF EXISTS( SELECT id FROM sysobjects WHERE id = OBJECT_ID(N 'Test' )) BEGIN DROP TABLE Test; END GO --创建表Test CREATE TABLE Test ( id INT IDENTITY(1,1) PRIMARY KEY , --id自动编号,并设为主键 [ name ] VARCHAR (20) NOT NULL , sex CHAR (2) NOT NULL CHECK (sex IN ( '男' , '女' )), --约束,限制值为男女; birthday DATETIME NOT NULL CHECK (birthday BETWEEN '1950-01-01' AND '1988-12-31' ), --约束生日,限制出现的时间范围 phone CHAR (11) NOT NULL CHECK (LEN(phone)=11), --限制手机号码的长度必须为11; remark VARCHAR ( MAX ) DEFAULT '请在这里填写备注' , --设置默认值 tId INT NOT NULL FOREIGN KEY (tId) REFERENCES Test2(id), --添加外键,受Test2中的ID列约束 age AS DATEDIFF(yyyy,birthday,GETDATE()) --计算列。 ); --添加数据 INSERT Test2(captainId,tName) VALUES ( '1' , '第一组' ); GO INSERT Test([ name ],sex,birthday,phone,tId) VALUES ( '张三' , '男' , '1987-12-12' , '12345678912' , '1' ); GO SELECT * FROM Test2; GO SELECT * FROM Test; |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步