Liang-Haishan216

---数据类型   

/*

1  数字 number [小数,整数]

number(5,3)表示总共5个数字,小数点后3,最大值99.999

number(5) 表示整数  最大值99999

 

2  字符  char 定长字符  

   char(10)   如果没有达到10字符就用空格补充,他所占的大小总是10字符空间

   varchar2  变长字符和varchar类似  

   varchar2(10) 如果没有达到10个字符长度不用空格补充

   clob   大文本类型  

   文字很多,小说,简介,新闻内容

   blob  存入大数据文件  

   图片,压缩文件..

   

3 时间  date       年月日 时分秒

        timestamp  年月日 时分秒  秒可以带小数点

         

*/

    

/*

约束

1 主键  primary key

2 外键  foreign key,

3 唯一  unique,

4 检测  check

5 非空  not null

*/

-- 商品表   客户表   购物车表

/*

商品表 goods  编号gid , 名称 , 价格 ,厂商

客户表 customer 编号cid  ,姓名,性别,出生日期,身份证

购物车表 purchase  商品编号,客户编号,商品数量

请建立表,要求 必须有主外键,所有的名称不能为空,价格必须大于0,身份证必须唯一,性别必须是男女默认男,商品数量必须是130之间

*/

create table goods(

gid number(8) primary key,

gname varchar2(50) not null,

price number(15,2) check(price >0),

firm varchar2(100)

);
create table customer(

cid number(8) primary key,

cname varchar2(30) not null,

sex char(2) default \'\' check (sex in (\'\',\'\' )),

birth date,

idcard  char(18) unique

);
create table purchase (

gid number(8)    references goods(gid),

cid number(8)    references customer(cid),

goodsnum number(8) check( goodsnum  between 1  and  30 )

);

 

/*

--创建表  

--系别[编号,名称,地址,主任编号]

--班级[编号,名称,系别,班主任编号]

--学生[学号,姓名,性别,出生年月,年龄,班级号]

--分数[学号,课程号,分数,]

--课程表[编号,名称,任课老师编号]

--老师表[编号,姓名,年龄,性别]

--6张表的要求

--1 每张表插入35条数据

--2 有主键或外键

--3 所有姓名不能为空

--4性别只能是10

--5学生年龄在16-30之间

--将学号为3的学生的姓名修改为李强,性别修改为1,年龄修改为20

update student set sname=\'李强\',ssex=\'1\',sage=20 where stid=3003;

--在创建的学生表上增加一个栏目 address

alter table student add saddress varchar2(30);

--address的长度修改为100

alter table student modify saddress varchar2(100);

--将老师表增加一个栏目email

alter table teacher add temail varchar2(30);

--显示2班所有人的姓名

select sname from student where gid=2002;

 

*/

 

系别表

create table department(

did number(8) primary key,

dname varchar2(30) not null,

address varchar2(50),

directorid number(8)

);

insert into department values(1001,\'电子信息工程\',\'xxxx学院\',1101);

insert into department values(1002,\'外语外贸学院\',\'xxxx学院\',1102);

insert into department values(1003,\'抱石艺术学院\',\'xxxx学院\',1103);

insert into department values(1004,\'文理学院\',\'xxxx学院\',1104);

 

 

班级表

create table grade(

gid number(8) primary key,

gname varchar2(30) not null,

did number(8) references department(did),

classteacherid number(8) 

);

insert into grade values(2001,\'应电2班\',1001,2201);

insert into grade values(2002,\'商务英语1班\',1002,2202);

insert into grade values(2003,\'室内设计3班\',1003,2203);

insert into grade values(2004,\'数学8班\',1004,2204);

 

 

学生表

create table student(

stid number(8) primary key,

sname varchar2(30) not null,

ssex varchar(2) default \'1\' check (ssex in (\'1\',\'0\')),

birth date,

sage number(8),

gid number(8) references grade(gid) 

);

insert into student values(3001,\'张三\',1,to_date(\'2016-2-23\',\'yyyy-MM-dd\'),21,2001);

insert into student values(3002,\'李丽\',0,to_date(\'2012-6-13\',\'yyyy-MM-dd\'),21,2002);

insert into student values(3003,\'赵立\',1,to_date(\'2014-3-19\',\'yyyy-MM-dd\'),21,2003);

insert into student values(3004,\'王生\',1,to_date(\'2015-7-30\',\'yyyy-MM-dd\'),21,2004);

 

 

老师表

create table teacher(

tid number(8) primary key,

tname varchar2(30) not null,

tage number(8),

tsex varchar(2) default \'1\' check (tsex in (\'1\',\'0\'))

);

insert into teacher values(4001,\'讲英语\',21,1);

insert into teacher values(4002,\'朗诵\',21,0);

insert into teacher values(4003,\'长风\',21,0);

insert into teacher values(4004,\'来的是\',21,0);

 

 

课程表

create table course(

cid number(8) primary key,

cname varchar2(30) not null,

tid number(8) references teacher(tid)

);

insert into course values(5001,\'电工\',4002);

insert into course values(5002,\'英语\',4004);

insert into course values(5003,\'室内设计\',4003);

insert into course values(5004,\'数学\',4001);

 

 

分数表

create table scoretable(

stid number(8) references student(stid),

cid number(8) references course(cid),

score number(8)

);

insert into scoretable values(3002,5003,98);

insert into scoretable values(3003,5004,120);

insert into scoretable values(3004,5001,89);

insert into scoretable values(3001,5002,102);

 

分类:

技术点:

相关文章: