Oracle学习——数据库定义语言(DDL)建表、删表、修改表

  DDL语言主要是帮助我们创建数据库对象的。

  • CREATE:创建数据库对象
  • DROP:删除数据库对象
  • ALTER:修改数据库对象
  • RENAME:修改数据库对象名称

  这要注意数据库对象不止包括有表,这些对象包括:用户,视图,索引,序列等等。

1、创建表(CREATE)

语法结构:

CREATE TABLE 表名
(列名1 列类型,
 列名2 列类型,
 ...
);

  其实所有的数据库对象的创建操作都是同样的语法:CREATE 对象类型 对象名....

1.1、数据库中表的种类(Oracle)

用户表:

  • 由用户创建和维护的表的集合。
  • 包含用户信息。

数据字典:

  • 由Oracle服务器创建和维护的表的集合
  • 包含数据库信息
常见的数据字典表:

查看本用户所拥有的表的名称:user_tables

SELECT table_name
FROM user_tables

查看本用户所拥有的不同的对象类型:user_objects

SELECT DISTINCT object_type
FROM user_objects

查看本用户所拥有的表、视图、同义词和序列:user_catalog

SELECT *
FROM user_catalog

1.2、使用查询创建表

  类似于复制一张表的某些字段以及数据,新表的字段类型以及字段名与查询出来的字段类型一致,并且查询出来的数据也会直接插入进这个新表。

语法结构:

CREATE TABLE 新表名 AS (SELECT 列1 别名1, 列2 别名2, ... 
                       FROM 表 
                       [WHERE condition])

  这里我们会先执行查询语句,将查询到的列在新表中创建同样的列(如果指定了别名则新表的列名就会是这个别名),并且会将查询到的数据插入到新表中。

2、修改列信息(ALTER)

  ALTER TABLE语句可以修改表内数据的信息,包括:

  • 添加一个新列
  • 修改一个已存在的列(列名,列类型,默认值)
  • 删除一个列

2.1、添加一个新列(ADD)

语法结构:

ALTER TABLE 表名
ADD (列名 类型 [DEFAULT expr], 
     列名2 类型 [DEFAULT expr], ...)

2.2、修改某一列属性(MODIFY)

语法结构:

ALTER TABLE 表名
MODIFY (列名 类型 [DEFAULT expr], 
        列名2 类型 [DEFAULT expr], ...)

2.3、修改某一列的列名 (RENAME)

语法结构:

ALTER TABLE 表名
RENAME COLUMN 旧列名 TO 新列名

  使用RENAME COLUMN关键字来修改列名(批量修改还不知咋弄)。

2.4、删除某一列(DROP)

ALTER TABLE 表名
DROP COLUMN (列名1, 列名2,...)

3、修改表名称(RENAME TABLE)

  注意这里是修改表的名称,而不是对表中列的信息进行操作。其实RENAME可以修改所有数据库对象(包括表,列,序列等等)的名称。

语法结构:

RENAME 旧表名 TO 新表名

4、截断表(TRUNCATE TABLE)

  对表中的所有数据进行删除,但是会保留表结构。DELETE需要commit进行提交并且可以按条件删除,但TRUNCATE不能支持给定条件删除。

语法结构:

TRUNCATE TABLE 表名

5、删除表(DROP TABLE)

  将整个表删除,并且会释放表的空间。其实DROP还可以删除其他的数据库对象。

语法结构:

DROP TABLE 表名

  

 

posted @ 2022-08-25 15:36  Circle_Wang  阅读(322)  评论(0编辑  收藏  举报