1、课程目标vORACLE数据类型vORACLE中表的创建、修改和删除v数据完整性ORACLE数据类型v字符型数据类型Char 定长字符数据,最长为2000字节。Varchar2 变长字符串,最长为4000字节。Long 变长字符数据,最长为2G字节。v数字型数据类型Number(p,s)数值型。P为含小数点的总位数S为小数位数v日期型数据类型Date日期型。ORACLE数据类型vRaw 数据类型 二进制数据,最长为2000字节。vLong Raw 数据类型 变长二进制数据,最长为2G字节。v大对象(LOB)数据类型CLOBBLOBBFILEvROWID 数据类型 十六进制串,表示表的行的唯一地址
2、。表的命名规范v可以包含1 到 128 个字符,包括字母、符号和数字v第一个字符必须是字母v首字符之后的字符可以包括字母、数字或#、$符号及 _v除非在引号内定义对象名称,否则不允许有空格表的创建 CREATE TABLE schema.表名(字段名1 数据类型 DEFAULT expression constraint,字段名2 数据类型 DEFAULT expression constraint,)STORAGE子句其他子句;例如:CREATE TABLE NEW_STU (STUNO NUMBER(4,2),STUNAME VARCHAR2(6)not null,ADDRESS VARC
3、HAR2(20);比较:CREATE TABLE EMP_BAK AS SELECT*FROM EMP;CREATE TABLE EMP_BAK1 AS SELECT*FROM EMP WHERE 1=2;更改表的作用v增加列v增加完整性约束v重新定义列(数据类型、长度、缺省值)v修改存储参数或其它参数v使能、使不能或删除完整性约束或触发器数据完整性v数据完整性保证了在数据库中存储数据的一致性、相容性和正确性。v作用:防止数据库中存在不符合语义的数据。防止错误信息的输入与输出。v实现数据完整性的主要方式是约束。v约束类型分为:值的约束(类型、范围、精度)数据之间联系的约束(属性之间:主码、引用
4、)约束的类型v主键约束 primary key 确保字段值不重复不为NULLv外键约束 foreign key 确保字段值必须来自于指定表v非空约束 NOT NULL 确保字段值不为NULLv检查约束 check 确保字段值的取值范围v唯一约束 unique 确保字段值不重复创建主键约束例如CREATE TABLE STU(STUNUM number(6),CODE char(3),GRADE number(3),Constraint p_stunumcode primary key(STUNUM,CODE);或者alter table STU add constraint p_stunumc
5、ode primary key(STUNUM,CODE);创建外键约束例如CREATE TABLE STU_bak(STUNUM number(6),CODE char(3),GRADE number(3),constraint f_stunumcode foreign key(STUNUM,code)references STU(STUNUM,code);或者 alter table STU_bak add constraint f_stunumcode foreign key(STUNUM,code)references STU(STUNUM,code);创建非空约束例如valter ta
6、ble STU vmodify GRADE not null;v主键无须再创建非空约束 创建检查约束例如CREATE TABLE STU1(STUNUM number(6),CODE char(3),GRADE number(3)check(GRADE between 1 and 10);或者:alter table 表名 add constraint 约束名 check(字段检查表达式)创建唯一约束例如alter table STUadd constraint u_GRADEunique(GRADE);或者:alter table 表名 add constraint 约束名 unique(字
7、段名)表的修改ALTER TABLE schema.表名 ADD column datatype DEFAULT expr column_constraint.|table_constraint|column datatype DEFAULT expr column_constraint.|table_constraint MODIFY column datatype DEFAULT expr column_constraint.|(column datatype DEFAULT expr column_constraint.v例如:ALTER TABLE NEW_STU ADD SEXY CHAR(2);表的删除v语法:DROP TABLE schema.表名CASCADE CONSTRAINTSv其中CASCADE CONSTRAINTS代表级联删除所有约束v例如:DROP TABLE NEW_STU CASCADE CONSTRAINTS;