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;
posted @   -Xu-Zhao-  阅读(408)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示