Oracle數據庫建表


---數據類型   

/*

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);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM