实验管理环境:Vmware 系统:windows 2003 版本:oracle 10g
为了维护班级学生信息,需要在scott用户方案中建立两个表。
小资料:
常用数据类型:
NUMBER(number) 数值类型
VARCHAR2(n) 可变长字符串
CLOB 存放可变长字符大数据(最大4GB)
BLOB 存放可变长二进制数据(最大4GB)
BFILE 存放可变长二进制格式的文件
CHAR 字符串
Oracle中建立的约束条件:
NOT null(非空)
Unique(唯一)
Check(检查)
Primary key (主键)
Foreign key(外键)
一:创建表
1.创建一张表,表的名字是class,表中字段定义如下:
字段名 |
数据类型 |
约束 |
classid |
数字类型,最大长度2位 |
主键 |
classname |
可变长字符串,最大长度20位 |
唯一约束 |
小贴士:
例:删除此表 drop table class;
修改表结构:alter table class modify (classname varchar2(10) );
2.创建一张表,表的名字是student,表中字段定义如下:
字段名 |
数据类型 |
约束 |
studentid |
数字类型,最大长度6位 |
主键 |
studentname |
可变长字符串,最大长度20位 |
非空 |
Studentsex |
字符串,最大长度2位 |
检查约束,取值只能是男或者女 |
Studentbirthday |
日期类型 |
非空 |
classid |
数字类型,最大长度2位 |
外键,指向class表的classid字段 |
3.向class表添加数据,数据内容如下
classid |
classname |
1 |
计算机网络1班 |
2 |
计算机网络2班 |
3 |
计算机应用1班 |
4 |
计算机应用2班 |
5 |
计算机应用3班 |
单一插入:
批量插入:
select 1 a from dual这句话的意思是从dual这张表中输出一个常量1,列名为A,这是oracle的语法,dual是一张虚表,作用就是输出一条记录,在有时候很有用。
小贴士:删除表中数据delete from class;
4.向student表添加数据,数据内容如下
studentid |
studentname |
Studentsex |
Studentbirthday |
classid |
1001 |
HENRY |
男 |
1995.05.03 |
1 |
2002 |
FORD |
男 |
1995.10.21 |
2 |
3001 |
HELEN |
女 |
1996.03.15 |
3 |
4010 |
ROSE |
女 |
1996.08.25 |
4 |
二:数据维护
1修改HELEN的班级编号(classid)为4
2 是否能够删除class表中”计算机应用1班”的信息,如果能,请删除(对删除过程和结果截图),并说明原因。如果不能,请说明原因。
约束条件3的已经改为4了,所以可以删除
在题目一里把HELEN表删除了,
此文章若有错误请大佬指正