1.简介
sql语句可以分为DDL(数据定义),DML(数据操作),DCL(数据控制)三类。此篇主要记录对数据表结构操作(属于DDL)。
2.使用以及语句
(1)增加表字段,修改表字段,删除表字段 创建表语句(在plsql中可进行图形化操作,并展示出建表语句),删除表
--增加表字段
ALTER TABLE TABLENAME
ADD FIELD1 VARCHAR2 (20)
DEFAULT '默认值'
NOT NULL;
--修改表字段
ALTER TABLE TABLENAME
MODIFY FIELD1 VARCHAR(15)
DEFAULT 'NO'
NOT NULL;
--删除表字段(删除后对应字段的值也都删除)
ALTER TABLE TABLENAME
DROP COLUMN FIELD1;
--创建表语句(简单创建)
CREATE TABLE STU(
SNO VARCHAR2(10) NOT NULL,
SAGE NUMBER(2),
SBIRTH DATE
);
--删除表
drop tableName;
(2)重命名基本表
RENAME TABLE1 TO TABLE2;
(3)复制结构相同的表
--确认是否存在表
DESC TABLENAME;
--复制创建
CREATE TABLE TABLE1
AS
SELECT * FROM TABLE2 WHERE 1=2;
(4)创建主键(PK)约束,CHECK约束,外键(FK)约束,删除约束 查询约束
--以下定义 都可在建表语句中直接跟在相关字段定义里。
--对表TABLENAME的FIELD_PK字段追加主键约束
ALTER TABLE TABLENAME
ADD CONSTRAINT PK_TABLENAME
PRIMARY KEY(FIELD_PK);
--追加check约束
ALTER TABLE TABLENAME
ADD CONSTRAINT CK_TABLENAME
CHECK(SNO>='120001' AND SNO<='129999');
--追加外键约束
ALTER TABLE TABLENAME
ADD CONSTRAINT FK_TABLENAME
FOREIGN KEY(SNO) REFERENCES STU(SNO);
--追加唯一约束
ALTER TABLE TABLENAME ADD CONSTRAINT UN_STU UNIQUE(SNAME);
--删除约束
ALTER TABLE TABLENAME
DROP CONSTRAINT constraintName;
--查询表的约束
SELECT table_name,constraint_name,constraint_type
FROM user_constraints
WHERE table_name='TABLENAME';
POINT:unique约束允许NULL值,PRIMARY KEY不可以。
(5)其它注意点
注意删除表的drop和删除表数据的delete
注意表字段的DEFAULT只能使用以下三种数据类型:常量值(如字符串),系统函数(如SYSTEM_USER()),NULL。并且Default关键字为字段设置默认值是表结构操作,只能在创建表的同时执行(即create table命令里)


188

被折叠的 条评论
为什么被折叠?



