推荐阅读:数据库上机实验报告 试验内容 1、 数据表的建立 基本表《简单的》带有主键 带有外码约束的(外码来自其他表或者本表) 2、 数据表的修改 添加删除列 修改列属性类型 添加删除约束(约束名) 元组的添加,修改,删除 删除数据表 试验过程 1、create table stu
数据库上机实验报告
试验内容
1、
数据表的建立
基本表《简单的》带有主键
带有外码约束的(外码来自其他表或者本表)
2、
数据表的修改
添加删除列
修改列属性类型
添加删除约束(约束名)
元组的添加,修改,删除
删除数据表
试验过程
1、create
table
student
(
sno
char(9)
primary
key
,
/*sno是主码
列级完整性约束条件*/
sname
char(20)
unique,
/*sname取唯一值*/
ssex
char(2),
sage
smallint,
/*类型为smallint*/
sdept
char(20)
/*所在系*/
);
create
table
course
(
cno
char(4)
primary
key,
/*列级完整性约束条件,cno是主码*/
cname
char(40),
cpno
char(4),
/*cpno的含义是先行课*/
ccredit
smallint,
foreign
key
(cpno)
references
course(cno)
/*表级完整性约束条件,cpno是外码,被参照表是course,被参照列是cno*/
);
create
table
sc
(
sno
char(9),
cno
char(4),
grade
smallint,
primary
key
(sno,cno),
/*主码有两个属性构成,必须作为表级完整性进行定义*/
foreign
key
(sno)
references
student(sno),
/*表级完整性约束条件,sno是外码,被参照表是student*/
foreign
key
(cno)
references
course(cno),
/*表级完整性约束条件,cno是外码,被参照表示course*/
);
例1、create
table
s
(
cno
varchar(3),
/*变长的字符串,输入2个字符就是两个字符不会补空格*/
sname
varchar(20),
status
int,
city
varchar(20),
constraint
pk_sno
primary
key(sno),
/*约束条件的名字为pk_sno*/
);
create
table
p
(
pno
varchar(3),
pname
varchar(20),
color
varchar(3),
weight
int,
constraint
pk_pno
primary
key
(pno),
/*约束条件的名字是pk_pno*/
);
create
table
j
(
jno
varchar(3),
jname
varchar(20),
city
varchar(20),
constraint
pk_jno
primary
key(jno)
/*约束条件的名字为pk_jno*/
);
例2、create
table
spj
(
sno
varchar(3),
/*第一个表中的主码*/
pno
varchar(3),
jno
varchar(3),
qty
int,
/*数量*/
constraint
pk_spj
primary
key(sno,pno,jno),
/*主码由3个属性组成*/
foreign
key(sno)
references
s(sno),
/*表级完整性约束条件,sno是外码,被参照表是s*/
foreign
key(pno)
references
p(pno),
/*表级完整性约束条件,pno是外码,被参照表是p*/
foreign
key(jno)
references
j(jno),
/*表级完整性约束条件,jno是外码,被参照表是j*/
);
2、数据表的更改
在s表中添加一个concat
列
alter
table
s
add
concat
varchar(20)
在s表中删除concat
列
alter
table
s
drop
column
concat
更改s表
concat列的属性
把长度由20改为30
alter
table
s
alter
column
concat
varchar(30)
联系方式
名字为concat
修改属性为唯一的
属性名为con_concat
alter
table
s
add
constraint
con_concat
unique(concat)
删除约束关系con_concat
alter
table
s
drop
constraint
con_concat
/*插入一个元组*/
insert
into
s
valus(‘s1’,’精益’,20,’天津’)
/*20不能写成’20’*/
试验中的问题的排除与总结:
1、在创建spj时
有三个实体所以从3个实体中取主码,还有一个数量属性也要写上
主码由那3个主码确定
2、更改一个数据库中数据表时一定要先使该数据库处于正在使用状态
3、constraint
是可选关键字,表示
primary
key、not
null、unique、foreign
key
或
check
约束定义的开始。约束是特殊属性,用于强制数据完整性并可以为表及其列创建索引。
4、--go可以不加但是要注意顺序
注:go
--注释
提示错误
5、注意添加一个空元素用
null
附
sql备份
--创建一个数据库
student
create
database
student
go
--在数据库student中创建表student
course
sc
注意顺序
use
student
----------------------------------------------------------------
create
table
student
(
sno
char(9)
primary
key,
/*sno是主码
列级完整性约束条件*/
sname
char(10)
unique,
/*sname取唯一值*/
ssex
char(2),
sage
smallint,
/*类型为smallint*/
sdept
char(20)
/*所在系*/
);
/*;要加*/
-----------