资源描述:
《三、oracle数据定义ddl和dml.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、ORACLE数据定义DDL和数据操纵DML本章重点ORACLE数据类型表创建/变动/删除表分区的使用同义词对象创建/删除数据操纵语言DMLORACLE中常见函数ORACLE主要的数据类型Character数据类型Number数据类型Date数据类型RAW和LongRaw数据类型LOB数据类型Character数据类型char类型固定大小,范围为1~2000varchar2类型可变长字符串,范围为1~4000long类型可变长的字符数据,最大可达2GB;特殊要求如下:1)表中只有一列为long类型2)long列不能定义为主键或者唯一约束3)不能在该列上
2、建立索引4)过程或者存储过程不能使用该类型作为参数Number数据类型存储精度为38的浮点数、正数、负数等等使用格式:1)number2)number(p)3)number(p,s)说明:p是精度即总位数,s为右边的小数位数Date数据类型Raw和LongRaw数据类型Raw数据类型存储面向字节的数据,如:二进制数和字符串,最大范围为2000个字节,使用时要指定大小LongRaw数据类型存储二进制数据,最大为2GB,跟long类型的限制一样LOB数据类型CLOB存储字符串Charactor的LOB类型BLOB存储二进制数据Binary的LOB类型,一般
3、来存储大型的二进制对象BFILE存储二进制的文件存储非结构化的数据,最大的范围是4GB表的创建CREATETABLE[schema.]table({columndatatype[DEFAULTexpr][column_constraint]...
4、table_constraint})[[PCTFREEinteger][PCTUSEDinteger][INITRANSinteger][MAXTRANSinteger][TABLESPACEtablespace][STORAGEstorage_clause][CACHE
5、NOCACHE]
6、[CLUSTERc
7、luster(column[,column]...)]][ENABLEenable_clause
8、DISABLEdisable_clause]...[ASsubquery]说明:1、TABLESPACE指定了该表使用的表空间2、ASsubquery表示使用子查询创建表,只需要指定列名和列上的约束,不需要指定数据类型(或者列名也不指定)3、Enable
9、Disable表示是否使用完整性约束4、如果需要指定schema,即为其他用户创建表,则需要有CreateanyTable的系统权限示例-表创建(1)createtabletab_student(sno
10、char(11)primarykey,snamevarchar2(30)notnull,sbirthdate,sageintdefault0,ssexchar(2)notnull,remarkvarchar2(60),constraintck_tab_student_sagecheck(ssexin('男','女')))tablespacets_stock说明:1、表创建时,就跟约束一起创建,该例中使用到的约束有:primarykey,notnull,default,check(未出现的还有foreignkey,unique等)2、思考建
11、表后是如何建立约束呢?示例-表创建(2)1、建表和外键约束createtabletab_score(snochar(11)primarykey,scnochar(3)notnull,scorenumber(8,3)default0,constraintfk_tab_score_tab_student_snoforeignkey(sno)referencestab_student(sno))2、用as子句建表createtabletab_dup(aa,bb)asselectsno,snamefromtab_student示例-表变动1、增加/
12、改动/删除列altertabletab_studentadd(col1varchar2(10)notnull,col2int);altertabletab_studentmodify(ssexchar(1)notnull,remarkvarchar2(100))altertabletab_studentdrop(remark)2、启用/禁止/删除表约束altertabletab_studentdisableconstraintck_tab_student_sagealtertabletab_studentdisableprimarykey;altert
13、abletab_studentenableprimarykey;altertabletab_s