02Oracle数据库对象-2表.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

成都信息工程大学软件工程学院成都信息工程大学软件工程学院表的创建和管理•数据定义语言DataDefinitionLanguageStatements(DDL)•数据操纵语言DataManipulationLanguage(DML)Statements•事务控制TransactionControlStatements•会话控制SessionControlStatements•系统控制SystemControlStatements•嵌入SQLEmbeddedSQLStatements成都信息工程大学软件工程学院表的创建和管理•Create、alter和drop方案对象与数据库结构(CREATE,ALTER,DROP)•改变方案对象名称(RENAME)•TRUNCATE•权限和角色的授予与回收(GRANT,REVOKE)•打开与关闭审计操作(AUDIT,NOAUDIT)•增加注释到数据字典(COMMENT)•当用户执行DDL语句时,在每一条DDL语句执行前后,Oracle都将提交当前的事务,理解这一点很重要。成都信息工程大学软件工程学院表的创建和管理ALTERCLUSTERCOMMENTCREATESEQUENCEALTERDATABASECREATECLUSTERCREATESPFILEALTERDIMENSIONCREATECONTEXTCREATESYNONYMALTERFUNCTIONCREATECONTROLFILECREATETABLEALTERINDEXCREATEDATABASECREATETABLESPACEALTERMATERIALIZEDVIEWCREATEDATABASELINKCREATETEMPORARYTABLESPACEALTERMATERIALIZEDVIEWLOGCREATEDIMENSIONCREATETRIGGERALTERPACKAGECREATEDIRECTORYCREATETYPEALTERPROCEDURECREATEFUNCTIONCREATEUSERALTERPROFILECREATEINDEXCREATEVIEWALTERRESOURCECOSTCREATEINDEXTYPEDISASSOCIATESTATISTICSALTERROLECREATELIBRARYDROPCLUSTERALTERROLLBACKSEGMENTCREATEMATERIALIZEDVIEWDROPCONTEXTALTERSEQUENCECREATEMATERIALIZEDVIEWLOGDROPDATABASELINKALTERTABLECREATEOPERATORDROPDIMENSIONALTERTABLESPACECREATEPACKAGEDROPDIRECTORYALTERTRIGGERCREATEPACKAGEBODYDROPFUNCTIONALTERTYPECREATEPFILEDROPINDEXALTERUSERCREATEPROCEDUREDROPINDEXTYPEALTERVIEWCREATEPROFILEDROPLIBRARYANALYZECREATEROLEDROPMATERIALIZEDVIEWASSOCIATESTATISTICSCREATEROLLBACKSEGMENTDROPMATERIALIZEDVIEWLOGAUDITCREATESCHEMADROPOPERATOR•DDL语句列表成都信息工程大学软件工程学院表的创建和管理1.必须是以字母开头。2.1–30个字符长度3.仅能包含A–Z,a–z,0–9,_,$和#4.在同一个用户下表名不能重复。5.不能是Oracle保留字成都信息工程大学软件工程学院表的创建和管理数据类型说明VARCHAR2(size)存放可变长字符数据,最大长度为4000字符CHAR(size)存放定长字符数据,最长2000个字符NUMBER(p,s)存放数值型数据,p代表总位数,s代表小数点后位数LONG存放可变长字符数据,最大为2GB(gigabytes)DATE存放日期,范围从公元前4712年的1月1日到公元后9999年的12月31日CLOB存放单字节字符数据,最大为4GB(gigabytes)RAWandLONGRAW纯(Raw)二进制数据BLOB二进制大对象,其最大长度为4GB(gigabytes)BFILE二进制大对象,存放在外部文件中。最大长度为4GB(gigabytes)成都信息工程大学软件工程学院表的创建和管理–创建者必须具有:CREATETABLE权限一个存储区–创建者必须定义:数据库表名定义列(名称、数据类型、长度和缺省值)CREATETABLE[schema.]tablename(columnnamedatatype[DEFAULTexpr][,...]);成都信息工程大学软件工程学院表的创建和管理–列的缺省值:指定列的缺省值,在以后的INSERT语句中忽略该列值时,将此缺省值赋给该列。默认值的数据类型必须和列的数据类型匹配。表达式、SQL函数和数值都是合法的值。不能包含其它列和伪列的引用(ROWNUM,NEXTVAL,LEVEL和CURRVAL)…hiredateDATEDEFAULTSYSDATE,…成都信息工程大学软件工程学院表的创建和管理NameNull?Type--------------------------------------------DEPTNONOTNULLNUMBER(2)DNAMEVARCHAR2(14)LOCVARCHAR2(13)SQLCREATETABLEdept2(deptnoNUMBER(2),3dnameVARCHAR2(14),4locVARCHAR2(13));Tablecreated.SQLDESCRIBEdept成都信息工程大学软件工程学院表的创建和管理–创建表同时插入数据行语法:CREATETABLEtable[column(,column...)]ASsubquery;SQLCREATETABLEdept302AS3SELECTempno,ename,sal*12ANNSAL,hiredate4FROMemp5WHEREdeptno=30;Tablecreated.成都信息工程大学软件工程学院表的创建和管理ALTERTABLEtableADD(columndatatype[DEFAULTexpr][,columndatatype]...);ALTERTABLEtableMODIFY(columndatatype[DEFAULTexpr][,columndatatype]...);•使用ALTERTABLE语句:1.增加或删除列2.增加完整性约束3.重新定义列(数据类型、长度、缺省值)4.修改存储参数或其它参数5.使能、使不能或删除一完整性约束或触发器6.显式地分配一个范围成都信息工程大学软件工程学院表的创建和管理EMPNOENAMEANNSALHIREDATE------------------------7698BLAKE3420001-MAY-817654MARTIN1500028-SEP-817499ALLEN1920020-FEB-817844TURNER1800008-SEP-81...JOBDEPT30EMPNOENAMEANNSALHIREDATE------------------------7698BLAKE3420001-MAY-817654MARTIN1500028-SEP-817499ALLEN1920020-FEB-817844TURNER1800008-SEP-81...JOB新列DEPT30增加新列到DEPT30表中SQLALTERTABLEdept302ADD(jobVARCHAR2(9));Tablealtered.成都信息工程大学软件工程学院表的创建和管理–删除列:使用ALTERTABLE命令的SETUNUSED或DROP子句删除列。1.使用SETUNUSED(列1,列2,…)子句标记一列或多列为“未使用”。2.使用SETUNUSEDCOLUMN列1子句标记一列为“未使用”。3.使用DROPUNUSEDCOLUMN列1子句删除标记为“未使用”的一列。4.使用DROPUNUSEDCOLUMNS子句删除所有标记为“未使用”的列。5.使用DROPCOLUMN列1子句删除一列。6.使用DROP(列1,列2,…)子句删除一列或多列。成都信息工程大学软件工程学院表的创建和管理ALTERTABLEdept30MODIFY(enameVARCHAR2(15));Tablealtered.成都信息工程大学软件工程学院表的创建和管理SQLDROPTABLEdept30;Tabledropped.–删除表的所有数据和结构。–删除表的所有索引。–表的删除操作不能回退。–如果在要删除的表中包含有被其它表的外部码引用的主码或唯一码,并且希望在删除这个表的同时删除其它表中的相关的外部码约束,可以在DROPTABLE语句中指定CASCADE字句。DROPTABLEdepartmentCASCADECONSTRAINTS;成都信息工程大学软件工程学院表的创建和管理SQLRENAMEdeptTOdepartment;Tablerenamed.–执行RENAME语句,将改变表、视图、序列和同义词的名称。–操作者必须是对象的拥有者。成都信息工程大学软件工程学院表的创建和管理SQLTRUNCATETABLEdepartment;Tabletruncated.–删除表的所有数据。–释放被表使用的存储空间。–截断操作不能回退。成都信息工程大学软件工程学院表的创建和管理SQLCOMMENTONTABLEemp2IS'EmployeeInformation';Commentcreated.–为表或列增加注释。(COMMENT)–注释可以通过下面的数据字典视图察看ALL_COL_COMMENTSUSER_COL_COMMENTSALL_TAB_COMMENTSUSER_TAB_COMMENTS成都信息工程大学软件工程学院表的创建和管理–在Oracle中的约束类型:NOTNULLUNIQUEKeyPRIMARYKEYFOREIGNKEYCHECK成都信息工程大学软件工程学院表的创建和管理•创建和管理约束:定义约束CREATETABLE[schema.]table(columndatatype[DEFAULTexpr][column_constraint],…[table_constraint]);CREATETABLEemp(empnoNUMBER(4),enameVARCHAR2(10),…deptnoNUMBER(7,2)NOTNULL,CONSTRAINTemp_empno_pkPRIMARYKEY(EMPNO));成都信息工程大学软件工程学院表的创建和管理column[CONSTRAINTconstraint_name]constraint_type,column,...[CONSTRAINTconstraint_name]constraint_type(column,...),–列约束–表约束成都信息工程大学软件工程学院表的创建和管理EMPNOENAMEJOB...COMMDEPTNO7839KINGPRESIDENT107698BLAKEMANAGER30...EMPNOTNULL约束(这列每一行都不能包含空值)没有NOTNULL约束(这列的任何一行都可以包含空值)NOTNULL约束–定义在列上的非空约束(NOTNULL)EMPNOENAMEJOB...COMMDEPTNO7839KINGPRESIDENT107698BLAKEMANAGER307782CLARKMANAGER107566JONESMANAGER20...SQLCREATETABLEemp(2empnoNUMBER(4),3enameVARCHAR2

1 / 33
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功