sql语言学习笔记

创建数据库

主要是今天第一次上了数据库实验课
就随便记记
新手上路,见笑了

以下是创建数据库userdb1的SQL语句,

1
2
3
4
5
6
7
8
9
10
11
12
13
create database userdb1
on
(name=userdb4_data,--数据文件的逻辑名称,注意不能与日志逻辑同名
filename='g:\xygl\userdb4.mdf' ,--物理名称,注意路径必须存在
size=5,--数据初始长度为5M
maxsize=10,--最大长度为10M
filegrowth=1)--数据文件每次增长1M
log on
( name=userdb4_log,
filename='g:\xygl\userdb4.ldf ' ,
size=2 ,
maxsize=5 ,
filegrowth=1)

运行上诉语句建立数据库userdb1

建立学生选课和老师与课程之间的数据库

代码注释有点乱码,不影响哈

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
use EDUC1

课程的表

CREATE TABLE course
(
cno char(10) PRIMARY KEY, --主键
spno char (8), --
cname char(20) NOT NULL, --¿ÎÃû
ctno tinyint, --ÀàÐͱàºÅ
experiment tinyint, --¿Î³ÌʱÊý
lecture tinyint, --ÊÚ¿Îѧʱ
semester tinyint, --¿ª¿ÎѧÆÚ
credit tinyint, --¿Î³Ìѧ·Ö
)

老师与课程的表
CREATE TABLE teacher_course
(
tcid smallint PRIMARY KEY,--ÉϿαàºÅ
tno char(8), --½Ìʦ±àºÅ£¨Íâ¼ü£©
spno char (8), --רҵ´úÂ루Íâ¼ü£©
classno char(4), --°à¼¶ºÅ
cno char (10), --¿Î³Ì±àºÅ£¨Íâ¼ü£©
semester char(6), --ѧÆÚ
schoolyear char(10), --ѧÄê
classtime varchar (40), --ÉÏ¿Îʱ¼ä
classroom varchar (40), --ÉϿεصã
weektime tinyint , --ÿÖÜ¿ÎʱÊý
)

学生与课程的表
CREATE TABLE student_course
(
sno char(8) NOT NULL , -- ѧÉúѧºÅ
tcid smallint NOT NULL, --ÉϿαàºÅ
score tinyint , --ѧÉú³É¼¨
CONSTRAINT PK_Name PRIMARY KEY (sno,tcid),
)


老师的表

CREATE TABLE teacher
(
tno char(8) PRIMARY KEY, --½Ìʦ±àºÅ
tname char(8) NOT NULL, --½ÌʦÐÕÃû
sex char(2), --½ÌʦÐÔ±ð
birthday smalldatetime, --½Ìʦ³öÉúÈÕÆÚ
dno char(6), --½ÌʦËùÔÚԺϵ
pno tinyint, --½ÌʦְÎñ»òÖ°³Æ±àºÅ
home varchar(40) , --½Ìʦ¼Òͥסַ
zipcode char(6) , --ÓÊÕþ±àÂë
tel varchar(40) , --ÁªÏµµç»°
email varchar(40), --µç×ÓÓʼþ

)
  1. 根据如上表结构用向导创建各表。
  2. 用企业管理器删除所建立的表Student_course,Student和Course
  3. 在查询分析器中用sql语句删除表Tearch_course和表Teacher
  4. 根据如上表结构用SQL语句创建各表。
  5. 将以上创建表的SQL命令以 .SQL文件的形式保存在磁盘上

删除表

1
2
3
use EDUC1
drop table teacher
drop table teacher_course

修改表中的列

1
2
3
4
5
6
7
8
9
use EDUC1
alter table student
drop constraint PK_student
--因为sno是主键,所有不能直接修改

alter table student
alter column sno varchar(20) not null
alter table student
add constraint PK_student primary key (sno)

添加列的限制

1
2
3
4
use EDUC1
alter table course
ADD
CONSTRAINT year CHECK(year BETWEEN 2004 AND 2008)

删除列

1
2
3
4
5
use EDUC1
alter table course
drop constraint year
alter table course
drop column year

今天就学了这么多,告辞!!!

这周又要开始完成每周考研周计划

考研周计划

  1. 张宇高数第三讲
  2. 王道数据结构把第四章树看完
  3. 王道第三章看完
  4. 英语听力*3 + 阅读*3 + 作文 * 1

任务还是很重的( ̄▽ ̄)""








我是小鸡,这篇文章的标题是——sql语言学习笔记
喜欢的话可以转载,不过记得标记出处

2018年10月08日