创建和管理表(10)
表的建立
表的建立语法:
CREATE TABLE 表名称( 字段名称 1 字段类型 [DEFAULT 默认值] , 字段名称 2 字段类型 [DEFAULT 默认值] , ... 字段名称 n 字段类型 [DEFAULT 默认值] , )
复制表的语法:
CREATE TABLE 表名称 AS (子查询)
- · 如果现在子查询写的是:SELECT * FROM emp,表示将表结构和表内容一起复制
- · 如果现在子查询写的是:SELECT * FROM emp WHERE 1=2,加入了一个永远不可能成立的条件,则此时表示的是只复制表结构,但是不复制表内容
表的删除
表的删除语法如下:
DROP TABLE 表名称 ;
表的修改
在 SQL 语法操作中,提供了 ALTER 指令,通过 ALTER 指令就可以增加新的列。
ALTER 指令的语法如下:
ALTER TABLE 表名称 ADD (列的名称 列的类型 DEFAULT 默认值 , 列的名称 列的类型 DEFAULT 默认值,…)
修改表结构的语法:
ALTER TABLE 表名称 MODIFY (列的名称 列的类型 DEFAULT 默认值)
- 但是,在修改表结构的时候,如果假设数据库中对应的字段里有一个很长的数据,则无法将表的长度缩小,例如:现在在 name 字段中存在一个长度为 20 个字符的字母,原本的 name 可以容纳 200 个内容,但是此时要将 name 字段的长度修改为 10,则肯定无法实现
在一般的数据库程序开发中,很少去修改表结构,这一点在 IBM DB2 数据库中就没有提供 ALTERTABLE 指令,所以在建表的时候一定要考虑到位。
表重命名
在 Oracle 中提供了 RENAME 命令,可以为表重新进行命名,但是此语句只能在 Oracle 中使用。
重命名语法格式:
RENAME 旧的表名称 TO 新的表名称 ;
截断表
要想清空一张表的数据,但是同时又不需要回滚,可以立刻释放资源就需要使用截断表语法:
TRUNCATE TABLE 表名称 ;
没有高深的知识,没有进阶的技巧,万丈高楼平地起~!