SQL语法:DDL——对Oracle数据库的表进行操作

本文详细介绍了数据库DDL操作,包括创建表、添加/删除/修改列及约束、主键/外键设置、误删恢复方法,以及DDL语言的基本概念和注意事项。
摘要由CSDN通过智能技术生成

目录

一、创建

二、删除

三、修改

(一)列

1.增加列

2. 删除列

3.修改列

数据类型:modify

名称:rename column a to b

(二)约束

1.主键/外键约束

2.唯一值、检查值、空值

3.删除约束

四、误删恢复

五、补充


        DDL 即 Data Definition Language,数据定义语言,顾名思义在数据库中对表进行定义,通过指定某列的头是什么、是哪种数据类型、表之间有何链接。以及约束等初始化,工作上他们大多用于建立表或修改表。        

一、创建

语法:

1.直接创建

create table xxx (
                    column_1 data_type_1 [constraint_1],
                    column_2 data_type_2 [constraint_2],
                    column_3 data_type_3 [constraint_3]
                    )

        在创建表的时候要注意数据类型 ,需要在实际应用中尽量地好处理

2.从其他表复制

create table new_table as select xxx from old_table...

        这种方法只能复制表的列和数据,不能复制表的约束(主键、检查、默认值等),如果你想要复制一个很多列的表头,可以使用这种方法加上 where 1=2 即可直接复制原表结构

二、删除

语法:

drop table table_name

        注:在删除表时,该表的主键不能是其他某个表的外键,则报错"表中主键被引用",此时必须删除引用表或约束后才能删除该表。

三、修改

        这里的修改主要指的是修改表的结构,区别于修改数据

        修改对象:主要是column(列名、数据类型)、constraint(key、unique、check等)

语法:

alter table table_name ...

(一)列

1.增加列

        add

alter table table_name add column_name col_type [constraint]

2. 删除列

        drop column

alter table table_name drop column column_name

3.修改列

数据类型:modify
alter table table_name modify column_name col_new_type [constraint]
名称:rename column a to b
alter table table_name rename column old_column_name to new_col_name

(二)约束

        可以使用 select * table user_constraints where table_name='表名' 查看表格有哪些约束,含义如下:

  • C:not null / check
  • P:primary key
  • U:unique
  • R:foregin key

1.主键/外键约束

        主键:将column设置为主键,( ) 内的列名不可少

alter table table_name add constraint constraint_name primary key(column_name)

        外键:设置外键列1、列2,参照列 A、列B(列A、列B为另一个表的主键)

        外键的约束名不能重复,且数据类型与引用的主键一致

alter table table_name add constraint constraint_name foreign key
(column_1,column_2...) references referenced_table (column_A,column_B...)

2.唯一值、检查值、空值

        唯一值:unique

alter table table_name add constraint constraint_name unique(column_name)

        检查值:check

alter table table_name add constraint constraint_name check(judgment)

         空值:(xxx is null/is not null)

         默认值:default

3.删除约束

        drop

alter table table_name drop constraint constraint_name

四、误删恢复

        flash back 有可能可以恢复被误删掉的表

1.查看被删除的表

select * from recyclebin

2.进行恢复

flashback table table_name to before drop

五、补充

        1.除上述操作,也可以对标添加注释,以便于自己或他人看得懂表格含义

comment on table table.column is 'description'

        2.对表的数据进行操作后,需要执行提交操作 commit!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

带带琪宝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值