第三章:数据操作

 1 --定义模式
 2 create schema s_t authorization u1
 3 --删除模式
 4 drop schema s_t cascade
 5 --创建数据库
 6 create database s_t
 7 on primary
 8 (
 9     name = 'stu',
10     filename = 'F:\myfiles\mydatabase\stu.mdf',
11     size = 5MB,
12     maxsize = 500MB,
13     filegrowth = 10%
14 )
15 log on
16 (
17     name = 'stu_log',
18     filename = 'F:\myfiles\mydatabase\stu_log.ldf',
19     size = 3MB,
20     maxsize = unlimited,
21     filegrowth = 1MB
22 )
23 --check约束
24 create table student
25 (
26     sno char(9) primary key,
27     sname char(20) unique,
28     ssex char(2) check(ssex in ('', '')),
29     sage smallint,
30     sdept char(20)
31 )
32 create table course
33 (
34     cno char(10),
35     cname char(10),
36     credit int default(0)--缺省值
37     primary key(cno),
38 )
39 create table sc
40 (
41     sno char(9),
42     cno char(10),--注意字符长度和参照属性的长度相等
43     grade int,
44     primary key(sno, cno),
45     foreign key(sno) references student(sno),
46     foreign key(cno) references course(cno),
47     check(grade between 0 and 100)
48 )
49 --每一个表中至少应有一个列的可选项为NOT NULL
50 --修改基本表
51 ALTER TABLE <表名>
52 [ ADD <新列名> <数据类型> [ 完整性约束 ] ]
53 [ DROP <完整性约束名> ]
54 [ ALTER COLUMN<列名> <数据类型> ]55 --在表的最后一列后面增加新的一列:
56 alter table sc
57 add total1 int default 0--设置缺省值,已有的元组不会改变,新插入的时候会默认设置
58 --删除列
59 alter table sc
60 drop column xxx
61 --修改列的定义
62 alter table student
63 alter column total char(10)
64 --修改列的约束
65 alter table course
66 add unique(credit)
67 --删除基本表
68 drop table student
69 
70 
71 --索引(一个基本表上最多只能建立一个聚簇索引)
72 --创建索引
73 create unique index stusno on student(sno)
74 create unique index scno on sc(sno asc, cno desc)
75 --删除索引
76 drop index stusno on student
77 
78 
79 --查询
80 --查询姓"欧阳"且全名为三个汉字的学生的姓名。
81 select sname
82 from student
83 where sname like '李__'
84 --查询名字中第2个字为"阳"字的学生的姓名和学号。
85 SELECT Sname,Sno
86 FROM Student
87 WHERE Sname LIKE '__阳%'
88 --查询以"DB\_"开头,且倒数第3个字符为 i的课程的详细情况。
89 select *
90 from course
91 where cname like 'db\_%i__'
92 --某些学生选修课程后没有参加考试,所以有选课记录,但没 
93 --有考试成绩。查询缺少成绩的学生的学号和相应的课程号。
94 select sno, cno
95 from sc
96 where grade is null
97 --注意:当排序列含空值时
98 --ASC:排序列为空值的元组最后显示
99 --DESC:排序列为空值的元组最先显示 

 

posted @ 2019-11-17 12:27  滚烫的青春  阅读(139)  评论(0编辑  收藏  举报