oracle 表的创建和管理
1.1oracle常见数据类型
1.2特殊数据类型ROWID
1.4创建表
默认表空间查询(dba的表空间需要dba权限)
select username,default_tablespace,temporary_tablespace from dba_users where username = SCOTT;
1.5修改表中的列
(1)增加列
ALTER TABLE table_name ADD column_name data_type;
(2)删除列 删除一列
ALTER TABLE table_name DROP COLUMN col_name;
删除多列
ALTER TABLE table_name DROP(col_name,……);
(3)修改列名称
ALTER TABLE table_name RENAME COLUMN col_name to new_col_name;
(4)修改列类型
ALTER TABLE table_name MODIFY col_name new_data_type;
1.7移动表
(1)查看当前的表空间(user开头的数据字典)
select table_name,tablespace_name from user_tables where table_name = EMPLOYEE;
(2)移动表
ALTER TABLE employee MOVE TABLESPACE system;
1.8截断表
重置表的存储空间,不会在撤销表空间中记录任何撤销数据---------无法恢复数据
TRUNCATE TABLE table_name;
1.9删除表
DROP TABLE table_name[CASCADE CONSTRAIINTS][PURGE];
CASECADE CONSTRAINTS:指定删除表的同时,删除所有引用这个表的视图、约束、索引和触发器等。
1.10表的复制
(1)全表复制
create table worker as select * from scott.emp;
(2)只复制表结构,不带数据:where 后面 接 假条件
create table worker as select * from scott.emp where 1=2;
2.1表的完整性约束
(1)列级约束(5种)
(1)表级约束(4种) NOT NULL 不行
补充说明:查找系统默认取的索引名方法
SELECT * FROM USER_CONS_COLUMNS;
2.2NOT NULL约束
(1)添加not null约束
column_name data_type[CONSTRAINT const_name] NOT NULL;
(2)删除not null约束
ALTER TABLE table_name MODIFY column_name NULL;
2.3PRIMARY KEY约束
(1)添加PRIMARY KEY约束
column_name data_type[CONSTRAINT const_name] PRIMARY KEY;
(2)删除PRIMARY KEYl约束
ALTER TABLE table_name DROP CONSTRAINT const_name;
2.4UNIQUE约束
(1)添加UNIQUE约束
column_name data_type[CONSTRAINT const_name] UNIQUE;
(2)删除UNIQUEl约束
ALTER TABLE table_name DROP UNIQUE(column_name);
2.5CHECK约束
(1)添加CHECK约束
column_name data_type[CONSTRAINT const_name] check(约束条件);
(2)删除CHECK约束
ALTER TABLE table_name DROP CONSTRAINT const_name;
2.6FOREIGN KEY约束
外键约束引用另一个表中的一列或一组列,具有如下特点: 1.被引用的列或列组应该具有主键约束或唯一约束 2.引用列的取值只能为被引用列的值或NULL值 3.可以为一个列或一组列定义FOREIGN KEY 约束 (1)添加FOREIGN KEY约束
column_name data_type[CONSTRAINT const_name] REFERENCES table_name(column_name2);
添加的时候还可以指定级联操作
(2)删除PRIMARY KEYl约束
ALTER TABLE table_name DROP UNIQUE(column_name);
下一篇:
mysql数据库常用的增删改查sql语句