alter 语句
一、 创建表的基本语句
CREATE TABLE 表名(字段名1 字段类型 ,
字段名2 字段类型[,……];
例如:
CREATE TABLE dept01 (
dno numb er(2),
name varchar2(10),
location varchar2(20)
);
二、 创建带约束的表的基本语句
创建带约束的表的语法格式:
CREATE TABLE 表名(字段名1 字段类型 约束类型,
字段名2 字段类型 约束类型[,……]);
三、 约束
常见的表约束有:非空约束(not null),唯一约束 (unique),主关键字(primary key),从关键字(foreign key)
(一) 非空约束
1、 可以确保列的值不能为NULL
2、 当插入数据的时候,必须要为该列提供数据
3、 当更新数据的时候,不能将该列的值设为NULL
(二) 唯一约束
1、 可以确保该列的数值唯一
2、 如果没有加非空约束该列可以为空
(三) 主键约束
1、 用于唯一标识该行的数据
2、 同时拥有唯一和非空的约束
3、 一个表最多有一个主键
4、 CLOB和BLOB不能是主键
5、 主键约束可以被加从键(外部键)
(四) 外键约束
1、 用于定义主从表的关系
2、 定义在从表之上
3、 外键的数据必须在主键中存在
4、 有效的去除非法数据
5、 从表一样可以拥有主键
6、 主从关系可以很多级
四、 查询约束的语句
用到表user_constraints
constraint_name用于标识约束的名称;constraint_type用于标识约束的类型;P代表主键约束,R代表外键约束; C代表check约束或not null约束;U代表唯一约束
五、 alter table语句
在你创建一个表后,你可能需要改变表的结构,因为,你可能遗漏了一个列,或者列的定义需要改变,或者某些列需要删除,你可以用ALTER TABLE 语句来做这些改变。
用 alter table语句可以添加一个新列;修改一个已经存在的列;为新列定义一个默认值;删除一个列
(一) alter table语句添加列
1、 alter table添加列的语法:
alter table 表名 add(
字段名 字段类型 [约束类型],
字段名 字段类型 [约束类型]
[,….]) ;
2、 添加新列的原则
1) 可以添加或修改列。
2) 不能指定新添加的列出的位置,新列将成为最后一列。
注:如果一个表在添加新列时已包含有行,那么,所有行的新列被初始化为空。
例如:
为dept增加一个新列列名为deptid 字段类型为varchar2长度为20
(二) alter table语句修改列
1、 alter table修改列的语法:
alter table 表名 modify(
字段名 字段类型 ,
字段名 字段类型
[,….]) ;
列的修改包括修改列的数据类型,大小和默认值。
2、 alter table语句修改列原则
1) 可以增加宽度或一个数字列的精度。
2) 可以增加数字列或字符列的宽度。
3) 可以减少一个列的宽度,但仅在列中只包含空值或表中没有行时。你可以改
变数据类型,但仅在列中只包含空值时。
4) 可以转换一个CHAR 列到VARCHAR2 数据类型或转换一个VARCHAR2
列到CHAR 数据类型仅当列中只包含空值时,或者你不改变列的大小时。
5) 对默认值的改变仅影响以后插入的列。
例如:
将dept名为deptid 字段类型长度为20调整为10
(三) alter table语句删除列
1、 alter table删除列的语法:
alter table 表名 drop (列名);
2、 使用alter table删除语句注意
1) 列可以有也可以没有数据。
2) 用ALTER TABLE 语句,一次只能有一列被删除。
3、 表被修改后必须至少保留一列。
4、 一旦一列被删除,它不能再恢复。
例如:
删除dept表中的deptid列
因篇幅问题不能全部显示,请点此查看更多更全内容