DDL(Date Definition Language)-创建表及修改表结构


创建表

CREATE TABLE 表名(
       列1名称 类型(取值范围),
       列2名称 类型(取值范围),
       …
);

示例(创建一个person表)

CREATE TABLE person(
       pid NUMBER(20),
       pname VARCHAR2(10)
);

带默认值创建表

CREATE TABLE 表名(
       列1名称 类型(取值范围) DEFAULT 值,
       列2名称 类型(取值范围) DEFAULT 值,
       …
);

示例(创建teacher表(带默认值))

CREATE TABLE teacher(
       tea_id NUMBER(6),
       tea_name VARCHAR2(10),
       tea_birthday DATE,
       tea_salary NUMBER(5) DEFAULT 5000,
       tea_departmentid NUMBER(6)
);

创建复制表

    将某一张表的部分数据单独Copy到另一张表中(携带表结构)

CREATE TABLE 表名1 AS SELECT * FROM 表名2;  --将表2的部分数据Copy到表1

Oracle中的注释

单行注释:--内容
多行注释:/*内容*/

列注释

COMMENT ON COLUMN 表名.列名 IS '注释内容';

删除表(删除整张表及表结构)

DROP TABLE 表名;

清空表数据(只清空数据,保存表结构)

TRUNCATE TABLE 表名;  --原理机制:先删除整张表,再创建一张具有该原表结构的空表

备注:

DROP与TRUNCATE的区别:
DROP是将整个表(包括表中数据)全部删除。
TRUNCATE是将整个表清空(表结构还在,只是数据被清除了)


重命名表对象

RENAME 旧表名 TO 新表名;

添加/追加列

ALTER TABLE 表名 ADD(
       列1名称 类型(取值范围),
       列2名称 类型(取值范围)
       …
);

示例(给person表添加一列)

ALTER TABLE person ADD(
       gender NUMBER(1)
);

示例(给teacher表追加电话号码,与家庭住址)

ALTER TABLE teacher ADD(
       telephon VARCHAR2(20),
       address VARCHAR2(50)
);

修改列类型

ALTER TABLE 表名 MODIFY(
       列1名称 类型(取值范围),
       列2名称 类型(取值范围)
       …
);

示例(修改teacher表的address字段类型为VARCHAR2(100))

ALTER TABLE teacher MODIFY(
      address VARCHAR2(100)
);

修改列名称

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

示例(修改person表gender字段为sex)

ALTER TABLE person RENAME COLUMN gender TO sex;

删除列

ALTER TABLE 表名 DROP(  --第一种写法
       列1名称,
       列2名称
       …
);

ALTER TABLE 表名 DROP COLUMN 列名;  --第二种写法

删除person表的sex字段

ALTER TABLE person DROP(sex);  --第一种写法
ALTER TABLE person DROP COLUMN sex;  --第二种写法

posted @ 2021-02-22 10:20  End_Unripe  阅读(218)  评论(0编辑  收藏  举报