oracel初识9.24 DDL 创建表
2014-01-26 15:36
162 查看
Lesson 13
DDL
数据库对象(Database Objects)
user_objects
: 数据字典,用于描述数据库对象信息的;
Table
命名规则:a.必须以字母开头;b.长度1-30个字符;c.只能是A-Z,a-z,0-9,_,$,和#;
d.在一个用户名字不能相同;e.不能是oracle的关键字;
创建表: CREAT TABLE [shema.]table (column datatype [DEFAULT
expr][....]]);(DEFAULT为默认,即开业采用表默认的列列表,可参照上次课建表的例子)
查询另一个用户的表的信息,用其用户名.表名(但是必须有访问的权限,否则不能访问)。
如:select * from hr.departments;
grant select on hr.departments to
scott;(把访问hr的dipartments的权限赋给scott用户,这样就scott可以访问hr的departments表)。
View
Sequence(序列,一般创建主键时用)
Index
数据类型
VARCHAR2(size)比char类型定义的更节省内存空间;
CHAR(size)
NUMBER(p,s)
DATE
CLOB(存放字符型数据,最大4GB)
BLOB(存放二进制数据,最大4GB)
ROWID
约束条件
NOT
NULL:非空约束(只能加在列一级) 加主键约束后会默认再添加一个非空约束,即主键不能为空;
UNIQUE:唯一约束
PRIMARY
KEY:主键约束 主键的列在表中(默认唯一标,不能为空);
FOREIGN
KEY:外键约束
A表的主键不必在B表中的外键全部呈现,但是B表的外键的值必须在A表主键中找到,否则不能在外键中进行插入等添加的语句;见图一:
FOREIGN KEY 中的关键字:
FOREIGN KEY 在子表表级别中定义指定列为外键;
REFERENGES 指定父表中的指定列为该子表外键的主键;
ON DELETE CASCADE
(用在指定外键中)当父表中某行删除时,删除子表中对应行,而不必考虑因子表中外键引用主表主键的值而引起的父表无法删除;
ON DELETE SET NULL 更改外键值为null;
CHECK
详细见图二:
约束的定义细节:图三
;
具体语法:图四:
例:图五:
(其中emp_emp_id_pk是自己定义的约束的名字,可以省略,系统会给一个默认的名字SYS_Cn见图一,primarykey(主键约束)是约束的类型)
alter table(具体查API文档)
alter table read only 把表改为只读
drop table 删除表
flashback table exrp to drop
before;(从回收站恢复删除的表)
purge table exrp
;从回收站清空表exrp
purge recyclebin ;清空回收站
DDL
数据库对象(Database Objects)
user_objects
: 数据字典,用于描述数据库对象信息的;
Table
命名规则:a.必须以字母开头;b.长度1-30个字符;c.只能是A-Z,a-z,0-9,_,$,和#;
d.在一个用户名字不能相同;e.不能是oracle的关键字;
创建表: CREAT TABLE [shema.]table (column datatype [DEFAULT
expr][....]]);(DEFAULT为默认,即开业采用表默认的列列表,可参照上次课建表的例子)
查询另一个用户的表的信息,用其用户名.表名(但是必须有访问的权限,否则不能访问)。
如:select * from hr.departments;
grant select on hr.departments to
scott;(把访问hr的dipartments的权限赋给scott用户,这样就scott可以访问hr的departments表)。
View
Sequence(序列,一般创建主键时用)
Index
数据类型
VARCHAR2(size)比char类型定义的更节省内存空间;
CHAR(size)
NUMBER(p,s)
DATE
CLOB(存放字符型数据,最大4GB)
BLOB(存放二进制数据,最大4GB)
ROWID
约束条件
NOT
NULL:非空约束(只能加在列一级) 加主键约束后会默认再添加一个非空约束,即主键不能为空;
UNIQUE:唯一约束
PRIMARY
KEY:主键约束 主键的列在表中(默认唯一标,不能为空);
FOREIGN
KEY:外键约束
A表的主键不必在B表中的外键全部呈现,但是B表的外键的值必须在A表主键中找到,否则不能在外键中进行插入等添加的语句;见图一:
FOREIGN KEY 中的关键字:
FOREIGN KEY 在子表表级别中定义指定列为外键;
REFERENGES 指定父表中的指定列为该子表外键的主键;
ON DELETE CASCADE
(用在指定外键中)当父表中某行删除时,删除子表中对应行,而不必考虑因子表中外键引用主表主键的值而引起的父表无法删除;
ON DELETE SET NULL 更改外键值为null;
CHECK
详细见图二:
约束的定义细节:图三
;
具体语法:图四:
例:图五:
(其中emp_emp_id_pk是自己定义的约束的名字,可以省略,系统会给一个默认的名字SYS_Cn见图一,primarykey(主键约束)是约束的类型)
alter table(具体查API文档)
alter table read only 把表改为只读
drop table 删除表
flashback table exrp to drop
before;(从回收站恢复删除的表)
purge table exrp
;从回收站清空表exrp
purge recyclebin ;清空回收站
相关文章推荐
- oracel procedure(存储过程初识1)
- Linux C 创建目录函数mkdir相关
- JavaScript Tip/Trick: 动态创建Table时,在IE中需要注意的一个问题
- JavaScript Tip/Trick: 动态创建Table时,在IE中需要注意的一个问题
- linux 创建连接命令 ln -s 软链接
- android 快速创建一个新的线…
- 预留创建时检查增强点: MB_RE…
- mysql 创建带输入参数的函数
- LED驱动,自动创建设备节点 - 嵌入…
- 9.24 华为面试
- .Net反射创建对象实例报 System.Mi…
- oracle scheduler(三)创建…
- CL_ABAP_ZIP 创建压缩文件
- WebService 创建 发布 调用整个流…
- oracle scheduler(二)创建…
- Lucene.NET 系列之一-------------初识Lucene&&创建索引
- 创建物料组件相关BAPI: BAPI…
- mysql 触发器的创建、问题、解决方…
- oracle job创建
- Java 使用JXL创建Excel