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; --第二种写法
叶子的飘落,是风的追求,还是树的不挽留.