ORACLE表格创建,修改,删除
ORACLE表格创建,修改,删除
数据定义语言(DDL),包括create创建命令,alter修改命令,drop删除命令等。(主要针对表的对象结构)
表的数据类型:
1、字符串类型
char --默认一个字符长度
char(10)----该字段为10个字符长度,分配了10个长度,只用到5个长度的话,剩下的会自动用空格补全
varchar2(50)--分配了50个长度,只用到5个长度的话,剩下的不会占用
2、数字类型
number --默认38位
number(10) -- 10位整数长度
number(5,2)--总长度为 5 ,小数部分为 2,整数部分 3 (0~999.99)
3、日期类型
date
timestamp
创建表:
CREATE TABLE 表名(字段名1 字段类型(长度),
字段名2 字段类型(长度),
字段名3 字段类型(长度),
...);
创建一个图书表:
CREATE TABLE BOOK(BNO NUMBER(5),
BNAME VARCHAR(20),
RUDATE DATE,
BPRICE NUMBER(10,2)
);
--复制备份表
CREATE TABLE 表名 AS 查询的结果集(SELECT);
--备份一份emp表
CREATE TABLE EMP_ZHI AS SELECT * FROM EMP;
--只复制表的结构
CREATE TABLE EMP_SC AS SELECT * FROM EMP WHERE 1=2;
--删除表(表结构,对象)
DROP TABLE EMP_SC;
--清空表(数据)
TRUNCATE TABLE 表明
TRUNCATE TABLE EMP_ZHI;
--修改表
ALTER 针对表结构的修改
1、修改表的字段名称
将EMP_ZHI表的EMPNO字段改为EMP
ALTER TABLE EMP_ZHI RENAME COLUMN EMPNO TO EMP;
2、字段类型的修改
ALTER TABLE EMP_ZHI MODIFY EMP VARCHAR(8);--可以改大,也可以改小,但是不能小于当前所存在的最大值长度
ALTER TABLE EMP_ZHI MODIFY EMP NUMBER(20)--当列中有值的时候,只能改大不能改小
3、增加一个字段
ALTER TABLE 表名 ADD 字段名 字段类型;
ALTER TABLE EMP_ZHI ADD RUZI_DATE DATE;
4、删除一个字段
ALTER TABLE 表名 DROP COLUMN 字段名;
ALTER TABLE EMP_ZHI DROP COLUMN RUZI_DATE;
5、修改表明
ALTER TABLE 表名 RENAME TO 新表名
ALTER TABLE EMP_ZHI RENAME TO EMP_SSS;
例题:复制一整自己的emp表
并将EMPNO的字段长度修改小于原表
--先复制一张表
CREATE TABLE EMP_XB AS SELECT * FROM EMP;
--添加一个新的字段
ALTER TABLE EMP_XB ADD TEMP NUMBER(10);
--将EMPNO的数据复制到TEMP
UPDATE EMP_XB SET TEMP = EMPNO;
--将EMP_XB表格的EMPNO更新为空
UPDATE EMP_XB SET EMPNO = NULL;
--修改EMPNO的字段类型(向下)
ALTER TABLE EMP_XB MODIFY EMPNO NUMBER(5);
--将TEMP的数据复制到EMPNO
UPDATE EMP_XB SET EMPNO = TEMP;
--将TEMP字段删除
ALTER TABLE EMP_XB DROP COLUMN TEMP;