一、增删改表字段
1.为表中增加数据字段
语法:ALTER TABLLE 表名称 ADD(字段名称 字段类型 DEFAULT 默认值,...);
SQL> INSERT INTO XSB(XH, XM, XB, CSSJ, ZY, ZXF, BZ)
2 VALUES (081101, '王珂', '男', TO_DATE('02-10-1990', 'DD-MM-YYYY'), '计算机', 50, NULL);
已创建 1 行。
SQL> alter table XSB add(TEL number(11));
表已更改。
SQL> alter table XSB add(ADDR varchar2(10));
表已更改。
SQL> alter table XSB add(PHOTO varchar2(20) default 'nophot.jpg');
表已更改。
SQL> desc XSB;
名称
是否为空? 类型
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------- --------------------------------------------------------------------------------------------------------------------
XH
NOT NULL VARCHAR2(20)
XM
NOT NULL VARCHAR2(50)
XB
NOT NULL VARCHAR2(5)
CSSJ
DATE
ZY
VARCHAR2(100)
ZXF
NUMBER(5,2)
BZ
VARCHAR2(500)
TEL
NUMBER(11)
ADDR
VARCHAR2(10)
2.修改表字段
语法
修改字段类型:ALTER TABLE 表名称 MODIFY(字段名称 字段类型 DEFAULT 默认值)
修改字段名称:ALTER TABLE 表名称 RENAME 原始字段名 to 新字段名
SQL> alter table XSB modify(BZ varchar2(20));
表已更改。
SQL> alter table XSB rename column ADDR to ADDRESS;
表已更改。
SQL> desc XSB;
名称
是否为空? 类型
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------- --------------------------------------------------------------------------------------------------------------------
XH
NOT NULL VARCHAR2(20)
XM
NOT NULL VARCHAR2(50)
XB
NOT NULL VARCHAR2(5)
CSSJ
DATE
ZY
VARCHAR2(100)
ZXF
NUMBER(5,2)
BZ
VARCHAR2(20)
TEL
NUMBER(11)
ADDRESS
VARCHAR2(10)
PHOTO
VARCHAR2(20)
3.删除表字段
语法:ALTER TABLE 表名称 DROP COLUMN 字段名称
SQL> desc XSB;
名称
是否为空? 类型
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------- --------------------------------------------------------------------------------------------------------------------
XH
NOT NULL VARCHAR2(20)
XM
NOT NULL VARCHAR2(50)
XB
NOT NULL VARCHAR2(5)
CSSJ
DATE
ZY
VARCHAR2(100)
ZXF
NUMBER(5,2)
BZ
VARCHAR2(20)
TEL
NUMBER(11)
ADDRESS
VARCHAR2(10)
二、增删改表
1..新建表
SQL> CREATE TABLE XSB (
2 XH CHAR(6) PRIMARY KEY, -- 学号,假设是6位数字或字符,设为主键
3 XM VARCHAR2(50) NOT NULL, -- 姓名,最大50个字符,不能为空
4 XB CHAR(2) CHECK (XB IN ('男', '女')), -- 性别,限制为'男'或'女',长度设为2以支持汉字
5 CSSJ DATE, -- 出生日期
6 ZY VARCHAR2(50), -- 专业,最大50个字符
7 ZXF NUMBER(5, 0), -- 总学分,整数,最多5位
8 BZ VARCHAR2(200) DEFAULT NULL -- 备注,最大200个字符,默认NULL
9 );
表已创建。
2..删除表
语法:DROP table 表名称
SQL> DROP table XSB;
表已删除。
SQL> desc XSB;
ERROR:
ORA-04043: 对象 XSB 不存在
总结:
CREATE/ALTER/DROP 对象类型 对象名称