Oracle数据库入门之DDL与数据库对象
2012-11-28 15:27:55 来源:WEB开发网核心提示:语法:truncate table table;--它清除的并不是表格本身,表的结构还是存在的,Oracle数据库入门之DDL与数据库对象(2),只不过变成了一个空表删除表概述:使用drop table语句删除表,它是DDL语句,即select * from user_constraints;查询用户字典视图user_
语法:truncate table table;--它清除的并不是表格本身,表的结构还是存在的,只不过变成了一个空表
删除表
概述:使用drop table语句删除表,它是DDL语句,一经执行不可撤销
表中所有数据将被删除,此前未完成的事务将被提交,所有相关的索引被删除
语法:drop table table;
重命名表
概述:使用rename语句可以改变现有表的名称,它是DDL语句,一经执行不可撤销
也可修改其它数据库对象(视图、序列、同义词等)的名称。执行重命名操作的必须是对象的所有者
语法:rename old_name to new_name;
举例:rename test1 to test88;
数据字典
概述:数据字典是Oracle数据库的核心,用于描述数据库及其所有对象。数据字典由一系列只读的表和视图组成
这些表和视图属SYS用户拥有,由Oracle Server负责维护,用户可以通过select语句进行访问
内容:数据库的物理和逻辑结构。对象的定义和空间分配。完整性约束条件。用户。角色。权限。审计记录
视图:数据字典中的视图都是只读的,主要可以分为如下三类
dba(所有方案包含的对象信息)、all(用户可以访问的对象信息)、user(用户方案的对象信息)
举例:select table_name from user_tables;--查看当前用户拥有的所有表的名字
select table_name from all_tables;--查看当前用户可以访问的所有表的名字
select distinct object_type from user_objects;--查看当前用户拥有的所有对象的类型
select distinct object_type from all_objects;--返回当前用户可以查看的所有的对象的类型
select table_name frome dba_tables;--查看所有用户拥有的所有表的名字
select * from user_constraints;--查看当前方案(用户)下所有的约束的信息
select * from user_constraints where table_name='student';--查看当前方案(用户)下的student表中的约束信息
约束(Constraint)
概述:约束是在表上强制执行的数据校验规则,用于保护数据的完整性
具体包括五种,即not null(非空)、unique key(唯一键)、primary key(主键)、foreign key(外键)、check(检查)
分类:域完整性约束:not null、check。实体完整性约束:unique、primary key。参照完整性约束:foreign key
说明:约束也是一种数据库对象。如果创建约束时,用户没有指定它的名字,那么系统会自动的为其命名
在Oracle使用SYS_Cn格式命名约束,也可以由用户命名。也可以通过数据字典视图查看约束
可以在建表的同时添加约束,也可以在建表后单独添加约束。可以在表级或列级定义约束
通常并不太建议在建表之后再添加约束或者建表之后再修改表的结构
查看:查询用户字典视图user_constraints可得到当前用户的所有约束。即select * from user_constraints;
查询用户字典视图user_cons_columns可获知约束建立在哪些字段上。即select * from user_cons_columns;
创建:create table [schema.]table(column datatype[default expr][column_constraint],...[table_constraint]);
alter table table add [constraint constraint_name] constraint_type(column);--这是建表后添加约束
比如alter table stu add constraint stu_sid_pk primary key(sid);--原stu表中有sid和name两个字段
等价alter table stu add primary key(sid);--只不过此时的约束名就会由系统自动设定了
特例:建表后添加约束时,非空约束必须使用modify子句添加。实际上相当于重新定义了某个字段
如alter table stu modify(name not null);或alter table stu modify(name char(8) default 'N/A' not null);
删除表
概述:使用drop table语句删除表,它是DDL语句,一经执行不可撤销
表中所有数据将被删除,此前未完成的事务将被提交,所有相关的索引被删除
语法:drop table table;
重命名表
概述:使用rename语句可以改变现有表的名称,它是DDL语句,一经执行不可撤销
也可修改其它数据库对象(视图、序列、同义词等)的名称。执行重命名操作的必须是对象的所有者
语法:rename old_name to new_name;
举例:rename test1 to test88;
数据字典
概述:数据字典是Oracle数据库的核心,用于描述数据库及其所有对象。数据字典由一系列只读的表和视图组成
这些表和视图属SYS用户拥有,由Oracle Server负责维护,用户可以通过select语句进行访问
内容:数据库的物理和逻辑结构。对象的定义和空间分配。完整性约束条件。用户。角色。权限。审计记录
视图:数据字典中的视图都是只读的,主要可以分为如下三类
dba(所有方案包含的对象信息)、all(用户可以访问的对象信息)、user(用户方案的对象信息)
举例:select table_name from user_tables;--查看当前用户拥有的所有表的名字
select table_name from all_tables;--查看当前用户可以访问的所有表的名字
select distinct object_type from user_objects;--查看当前用户拥有的所有对象的类型
select distinct object_type from all_objects;--返回当前用户可以查看的所有的对象的类型
select table_name frome dba_tables;--查看所有用户拥有的所有表的名字
select * from user_constraints;--查看当前方案(用户)下所有的约束的信息
select * from user_constraints where table_name='student';--查看当前方案(用户)下的student表中的约束信息
约束(Constraint)
概述:约束是在表上强制执行的数据校验规则,用于保护数据的完整性
具体包括五种,即not null(非空)、unique key(唯一键)、primary key(主键)、foreign key(外键)、check(检查)
分类:域完整性约束:not null、check。实体完整性约束:unique、primary key。参照完整性约束:foreign key
说明:约束也是一种数据库对象。如果创建约束时,用户没有指定它的名字,那么系统会自动的为其命名
在Oracle使用SYS_Cn格式命名约束,也可以由用户命名。也可以通过数据字典视图查看约束
可以在建表的同时添加约束,也可以在建表后单独添加约束。可以在表级或列级定义约束
通常并不太建议在建表之后再添加约束或者建表之后再修改表的结构
查看:查询用户字典视图user_constraints可得到当前用户的所有约束。即select * from user_constraints;
查询用户字典视图user_cons_columns可获知约束建立在哪些字段上。即select * from user_cons_columns;
创建:create table [schema.]table(column datatype[default expr][column_constraint],...[table_constraint]);
alter table table add [constraint constraint_name] constraint_type(column);--这是建表后添加约束
比如alter table stu add constraint stu_sid_pk primary key(sid);--原stu表中有sid和name两个字段
等价alter table stu add primary key(sid);--只不过此时的约束名就会由系统自动设定了
特例:建表后添加约束时,非空约束必须使用modify子句添加。实际上相当于重新定义了某个字段
如alter table stu modify(name not null);或alter table stu modify(name char(8) default 'N/A' not null);
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接