整理Oracle基本建表语句Word下载.docx

上传人:b****3 文档编号:18466320 上传时间:2022-12-16 格式:DOCX 页数:10 大小:18.19KB
下载 相关 举报
整理Oracle基本建表语句Word下载.docx_第1页
第1页 / 共10页
整理Oracle基本建表语句Word下载.docx_第2页
第2页 / 共10页
整理Oracle基本建表语句Word下载.docx_第3页
第3页 / 共10页
整理Oracle基本建表语句Word下载.docx_第4页
第4页 / 共10页
整理Oracle基本建表语句Word下载.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

整理Oracle基本建表语句Word下载.docx

《整理Oracle基本建表语句Word下载.docx》由会员分享,可在线阅读,更多相关《整理Oracle基本建表语句Word下载.docx(10页珍藏版)》请在冰豆网上搜索。

整理Oracle基本建表语句Word下载.docx

STU_NAME 

varchar2(8) 

constraintPK_T_STUprimarykey(STU_ID)

主键和外键一起建立:

createtableT_SCORE(

EXAM_SCORE 

number(5,2),

EXAM_DATE 

date,

AUTOID 

number(10) 

char(5),

SUB_ID 

char(3),

constraintPK_T_SCOREprimarykey(AUTOID),

constraintFK_T_SCORE_REFEforeignkey(STU_ID)

referencesT_STU(STU_ID)

--创建表

createtableclasses(

idnumber(9)notnullprimarykey,

classnamevarchar2(40)notnull

) 

--查询表

select*fromclasses;

--删除表

droptablestudents;

--修改表的名称

renamealist_table_copytoalist_table;

--显示表结构

describetest--不对没查到

-----------------------对字段的操作-----------------------------------

--增加列

altertabletestaddaddressvarchar2(40);

--删除列

altertabletestdropcolumnaddress;

--修改列的名称

altertabletestmodifyaddressaddressesvarchar(40;

--修改列的属性

altertabletestmodi

createtabletest1(

idnumber(9)primarykeynotnull,

namevarchar2(34)

renametest2totest;

--创建自增的序列

createsequenceclass_seqincrementby1startwith1MAXVALUE999999NOCYCLENOCACHE;

selectclass_seq.currvalfromdual

--插入数据

insertintoclassesvalues(class_seq.nextval,'

软件一班'

commit;

--更新数据

updatestu_accountsetusername='

aaa'

wherecount_id=2;

--创建唯一索引

createuniqueindexusernameonstu_account(username);

--唯一索引不能插入相同的数据

--行锁在新打开的对话中不能对此行进行操作

select*fromstu_accounttwheret.count_id=2forupdate;

--行锁

--altertablestuinfomodifysty_idtostu_id;

altertablestudentsdropconstraintclass_fk;

altertablestudentsaddconstraintclass_fkforeignkey(class_id)referencesclasses(id);

--外键约束

altertablestuinfoaddconstraintstu_fkforeignkey(stu_id)referencesstudents(id)ONDELETECASCADE;

--外键约束,级联删除

altertablestuinfodropconstantstu_fk;

insertintostudentsvalues(stu_seq.nextval,'

张三'

1,sysdate);

insertintostuinfovalues(stu_seq.currval,'

威海'

select*fromstuinfo;

createtablezhuce(

zc_idnumber(9)notnullprimarykey,

stu_idnumber(9)notnull,

zhucetimedatedefaultsysdate

createtablefeiyong(

fy_idnumber(9)notnullprimarykey,

mx_idnumber(9)notnull,

yijiaonumber(7,2)notnulldefault0,

qianfeinumber(7,2)notnull

createtalbefymingxi(

mx_idnumber(9)notnullprimarykey,

feiyongnumber(7,2)notnull, 

//共7位数字,小数后有两位

class_idnumber(9)notnull

}

createtablecard(

card_idnumber(9)primarykey,

moneynumber(7,2)notnulldefault0,

statusnumber

(1)notnulldefault0 

--0表可用,1表挂失

--链表查询

selectc.classname||'

_'

||s.stu_nameas班级_姓名,si.addressfromclassesc,studentss,stuinfosiwherec.id=s.class_idands.id=si.stu_id;

李四'

南京'

--函数

selectrownum,id,stu_namefromstudentstorderbyidasc;

--中间表实现多对多关联

--(1 

1,1 

n,n1,nn)

--1n的描述 

1的表不作处理 

n的表有1表的字段

--11的描述 

主外键关联

--nn的描述中间表实现多对多关联

create tablecourse(

course_idnumber(9)notnull,

couser_namevarchar2(40)notnull

altertablecoursetocouse;

createtablestu_couse(

stu_couse_idnumber(9)primarykey,

couse_idnumber(9)notnull

createuniqueindexstu_couse_unqonstu_couse(stu_id,couse_id);

--唯一学生

createsequencestu_couse_seqincrementby1startwith1MAXVALUE999999NOCYCLENOCACHE;

createsequencecouses_seqincrementby1startwith1MAXVALUE999999NOCYCLENOCACHE;

insertintocoursevalues(couses_seq.nextval,'

计算机原理'

编译原理'

数据库原理'

数据结构'

计算机基础'

C语言初步'

insertintostu_cousevalues(stu_couse_seq.nextval,1,1);

insertintostu_cousevalues(stu_couse_seq.nextval,1,3);

insertintostu_cousevalues(stu_couse_seq.nextval,1,5);

insertintostu_cousevalues(stu_couse_seq.nextval,2,1);

select*fromstu_couse;

select*fromcourse;

--selects.stu_name,sc.couse_id,c.couser_namefromstudentss,coursec,stu_cousescwherestu_id=1

--selectcouse_idfromstu_cousewherestu_id=1

selectcl.classname,s.stu_name,c.couser_namefromstu_cousesc,studentss,coursec,classesclwheres.id=sc.stu_idandsc.couse_id=c.course_idands.class_id=cl.idands.id=1;

--班级——姓名

selectc.classname,s.stu_namefromstudentss,classescwheres.class_id=c.idands.id=2;

select*fromstudentsswheres.id=2

--班级——姓名——课程

selectcl.classname,s.stu_name,c.couse_namefromstu_cousesc,studentss,classescl,cousecwheresc.stu_id=s.idandsc.couse_id=c.couse_idands.id=26;

--sql语句的写法,现写出关联到的表,然后写出要查找的字段,第三写出关联条件 

,记住在写关联到的表时先写数据多的表,这样有助于提高sql的效率

selectc.couser_name,s.stu_namefromstu_cousesc,studentss,coursecwherec.course_id=1andc.course_id=sc.couse_idandsc.stu_id=s.id;

selects.stu_namefromstudentss,stu_cousescwheres.id=sc.stu_idgroupbys.id,s.stu_name;

selectc.classname,count(sc.couse_id)fromstu_cousesc,studentss,classescwheres.class_id=c.idands.id=sc.stu_idgroupbyc.classname;

selects.stu_name,count(sc.couse_id)fromstu_cousesc,studentss,classesclwheres.id=sc.stu_idgroupbys.id,s.stu_namehavingcount(sc.stu_couse_id)>

3;

班级学生选课数量

selectcl.classname,count(sc.stu_couse_id)fromstu_cousesc,studentss,classesclwheres.id=sc.stu_idands.class_id=cl.idgroupbycl.classname;

--班级学生选课数量

selectcl.classname,s.stu_name,count(sc.stu_couse_id)fromstu_cousesc,studentss,classesclwheres.id=sc.stu_idands.class_id=cl.idgroupbys.stu_name;

selectcl.classname,s.stu_name,count(sc.stu_couse_id)fromstu_cousesc,studentss,classesclwheresc.stu_id=s.idands.class_id=cl.idgroupbys.id;

selectcl.classname,s.stu_name,count(sc.stu_couse_id)fromstu_cousesc,studentss,classesclwheresc.stu_id=s.idands.class_id=cl.idgroupbys.stu_name;

--班级学生所选课程id所选课程名称

--创建试图目的把表联合起来然后看成一个表,在与其他的联合进行查询

createviewxsxkasselectcl.classname,s.stu_name,c.couse_id,c.couse_namefromstu_cousesc,studentss,classescl,cousecwheresc.stu_id=s.idandsc.couse_id=c.couse_idands.class_id=cl.id;

select*fromxsxk

3.环境影响登记表的内容

createviewclassstuasselects.id,c.classname,s.stu_namefromstudentss,classescwherec.id=s.class_id;

dropviewclassstu;

--删除视图

select*fromclassstu;

createviewstu_couse_viewasselects.id,c.couse_namefromstu_cousesc,studentss,cousecwheres.id=sc.stu_idandsc.couse_id=c.couse_id;

select*fromstu_couse_view;

createviewcscasselectcs.classname,cs.stu_name,scv.couse_namefromclassstucs,stu_couse_viewscvwherecs.id=scv.id;

select*fromcsc;

select*fromclassescrossjoinstudents;

--全连接,相当于select*fromclasses,students;

select*fromclassesclleftjoinstudentssoncl.id=s.class_id;

--左连接不管左表有没有都显示出来

select*fromclassesclrightjoinstudentssoncl.id=s.class_id;

--右连接

select*fromclassesclfulljoinstudentssoncl.id=s.class_id;

--全连接

软件四班'

createtablesales(

nianvarchar2(4),

yejinumber(5)

insertintosalesvalues('

2001'

200);

2002'

300);

2003'

400);

2004'

500);

select*fromsales;

droptablesale;

selects1.nian,sum(s2.yeji)fromsaless1,saless2wheres1.nian>

=s2.niangroupbys1.nianorderbys1.niandesc;

『正确答案』Bselects1.nian,sum(s2.yeji)fromsaless1,saless2wheres1.nian>

=s2.niangroupbys1.nian;

(2)防护支出法s

年 

年业绩总和

2001 

200

2002 

500

2003 

900

2004 

1400

t_idnumber(4)

安全评价的原理可归纳为四个基本原理,即相关性原理、类推原理、惯性原理和量变到质变原理。

createtableorg(

org_idnumber(9)notnullprimarykey,

org_namevarchar2(40)notnull,

parent_idnumber(9)

C.环境影响报告书createsequenceorg_seqincrementby1startwith1MAXVALUE999999NOCYCLENOCACHE;

dropsequenceorg_seq;

insertintoorgvalues(1,'

华建集团'

0);

insertintoorgvalues(2,'

华建集团一分公司'

1);

insertintoorgvalues(3,'

华建集团二分公司'

insertintoorgvalues(4,'

华建集团财务部'

insertintoorgvalues(5,'

华建集团工程部'

insertintoorgvalues(6,'

华建集团一分公司财务处'

2);

insertintoorgvalues(7,'

华建集团一分公司工程处'

(6)环境影响评价结论的科学性。

select*fromorg;

--不正确不能实现循环

selectb.org_id,b.org_name,b.parent_idfromorga,orgbwherea.org_id=7anda.parent_id=b.org_id;

select*fromorgconnectbypriorparent_id=org_idstartwithorg_id=7orderbyorg_id;

select*fromorgconnectbypriororg_id=parent_idstartwithorg_id=1orderbyorg_id;

createtablechengji(

cj_idnumber(9)notnullprimarykey,

stu_cou_idnumber(9)notnull,

fennumber(4,1)

insertintochengjivalues(1,1,62);

insertintochengjivalues(2,2,90);

insert

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1