创建和管理表--2

 

六、总计

1、  查询其他用户的表

a)         其他用户的表不属于本用户的空间

b)         如果要查询其他用户下的表,要使其他用户的用户名作为前缀。

                         i.              Select * from userB.employees;

                       ii.              Select * from userA.employees;

2、  Default值或者是伪列都是非法的

a)         执行insert操作时,可以为其指定默认值

b)         值、表达式和sql语句都可以作为默认值

c)         其他的列名

d)         默认值的类型必须和该列的类型一致

CREATE TABLE hire_dates (hire_date DATE DEFAULT SYSDATE);

3、  创建表

a)         语法

CREATE TABLE dept(deptno NUMBER(2),

dname  VARCHAR2(14),

loc     VARCHAR2(13));

b)         确认

DESCRIBE DEPT

4、  数据类型

 

5、  使用子查询创建表

a)         使用As subquery 选项,创建表和插入数据结合起来

1.         CREATE TABLE table [(column ,clumn …)]

As subquery;

b)         指定的列和子查询中的列要一一对应

c)         通过列名的默认值定义列

例:CREATE TABLE         dept80

  AS
    SELECT  employee_id, last_name,

            salary*12 ANNSAL,

            hire_date
    FROM    employees
    WHERE   department_id = 80;

Table created.         

6、  ALTER TABLE语句

a)         追加新的列

ALTER TABLE  talbe       ADD(column datatype [DEFAULT expr] [,column datatype]…);

b)         修改现有的列

ALTER TABLE  talbe    MODIFY(column datatype [DEFAULT expr] [,column datatype]…);

c)         为新追加新的列定义默认值

ALTER TABLE  talbe       DROP(column datatype [DEFAULT expr] [,column datatype]…);

d)         删除一个列

ALTER TABLE table_name rename column old_column_name to new_column_name

7、  删除表

a)         数据和结构都被删除

b)         所有正在运行的相关事务被提交

c)         所有相关索引被删除

d)         DROP TABLE 语句不能回滚

8、  改变对象的名称

a)         执行RENAME语句改变表,视图,序列,或同义词的名称

RENAME dept TO detail_dept Table renamed

b)         必须是对象的拥有者

9、  清空表

a)         TRUNCATE TABLE 语句

                         i.              删除表中所有的数据

                       ii.              释放表的存储空间

TRUNCATE TABLE detail_dept;

Table truncated。

b)         TRUNCATE语句不能回滚

c)         可以使用DELETE语句删除数据

10、              约束

a)         约束是表一级的限制

b)         如果存在依赖关系,约束可以防止错误的删除数据

c)         约束的类型

                         i.              NOT NULL

                       ii.              UNIQUE

                      iii.              PRIMARY KEY

                      iv.              FOREIGN KEY

1.         FOREIGN KEY: 在子表中,定义了一个表级的约束

2.         REFERENCES: 指定表和父表中的列

3.         ON DELETE CASCADE: 当删除父表时,级联删除子表记录

4.         ON DELETE SET NULL: 将子表的相关依赖记录的外键值置为null

4.

                       v.              CHECH

1.         引用CURRVAL, NEXTVAL, LEVEL, 和ROWNUM

2.         调用SYSDATE, UID, USER, 和USERENV 函数

3.         另一个表的查询记录

11、              约束规则

a)         用户可以自定义约束,也可以使用Oracle Server的sys_cn格式命名约束

b)         约束创建的时机:

                         i.              创建表的时候,同时创建约束

                       ii.              表结构创建完成后

C) 约束可以定义在列一级,或者是表一级

D)通过数据字典看约束

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值