mysql中修改表结构语法_Oracle笔记--修改表结构

DDL

Ø 添加或修改列

Ø 添加、删除、开启、关闭约束

Ø 删除表结构

Ø 移出表结构中所有行记录,值保留表结构

一、添加列ALTER TABLE

1、语法

Ø 在Oracle8i之前,列是不能单独删除的

Ø 在Oracle8i之后,列可以单独删除的,如下:

ALTER TABLE 表名

DROP COLUMN 列名

Ø 添加的新列可以定义默认值

ALTER TABLE 表名

ADD (第1列 类型 约束 【,第n列 类型 约束】…);

2、举个例子先:给s_region表,新增名为comments的一列

ALTER TABLE s_region

ADD  (comments

VARCHAR2(255));

二、修改列ALTER TABLE

1、语法

Ø 此命令可以用来修改的类型。大小。默认值和NOT NULL约束

ALTER TABLE 表名

MODIFY (第1列 类型 约束 【,第n列 类型 约束】…);

Ø 可用来修改number类型列的长度或精度

Ø 用来给列添加非空约束

Ø 做以上修改时不能违反已存在的约束

2、举个例子先:修改员工表中职称的类型长度为50

alter table s_emp

MODIFY

(title VARCHAR2(50));

三、添加约束 ALTER TABLE

1、语法

ALTER TABLE 表名

ADD 【CONSTRAINT

constraint_name】 可以省略别名

约束条件(列名) 给那一列添加什么样的约束

Ø 约束只能添加或删除,不能修改

Ø 当然也可以开启或关闭约束

Ø NOT NULL 约束只能通过ALTER TABLE modify 子句来添加

2、举个例子:给员工表中的manager_id列添加外键约束

alter TABLE s_emp

ADD FOREIGN KEY(manager_id)

references s_emp(id)

四、删除约束ALTER TABLE

1、根据约束名来删除表中的指定约束

ALTER TABLE s_emp

DROP CONSTRAINT s_emp_manager_id_fk;

2、在删除主键的过程中,通过CASCADE关键字级联删除引用此主键的外键约束

ALTER TABLE s_dept

DROP PRIMARY KEY CASCADE;

五、关闭约束

和打开约束ALTER

TABLE

1、不想删除约束但又不想他现在其作用,这时,我们可以采用disable来完成此工作

我们还可以采用CASCADE关键字来把相互引用的约束一起级联关闭

ALTER TABLE s_emp

DISABLE CONSTRAINT s_emp_id_pk CASCADE;

2、可以通过ENABLE关键点来开启约束,使得约束有效

ALTER TABLE s_emp

ENABLE CONSTRAINT s_emp_id_pk

六、DROP TABLE

语法

删除一个表

DROP TABLE table [CASCADE constraints];

l 将表和数据一起删除

l 会自动提交事务

l 所有相关的索引会被删除

l 如果使用CSCADE CONSTRAINTS

选项,会把相互依靠的约束也会删除

l 此命令不能回滚

七、修改数据库对象的名称

使用rename to命令可以来修改表、视图、序列、同义词的名字

RENAME TO s_ord TO s_order

不过改名的话你必须有权限

八、TRUNCATE 命令

l 此命令可以删除表中的所有的行记录

l 释放曾经占用的空间

l 他是一个DDL命令

TRUNCATE TABLE s_item

注意:使用TRUNCATE命令删除表数据后,不能回滚,当然,建议我们使用DELETE命令来删除行记录,因为此方式是可以回滚的

九、给表加点描述信息COMMNET ON

1、给表添加描述

COMMENT ON TABLE s_emp

IS ‘这个表是一个员工表’

2、给列添加描述

COMMENT ON COLUMN s_emp.last_name IS ‘这个是员工的名字’

如果要清楚描述信息,则可以添加空字符串到描述

当然,可以通过如下数据字典来查看描述信息:

USER_TAB_COMMENTS 记录了表的注释

USER_COL_COMMENTS 记录了列的注释

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值