-------------DDL语句 ------------------
--创建表
CREATE TABLE test2(
ID NUMBER(12,0),
NAME CHAR(20)
);
SELECT * FROM test2;
--添加字段
ALTER TABLE test2 ADD age NUMBER(3,0);
--修改字段类型
ALTER TABLE test2 MODIFY age VARCHAR2(10);
--删除字段并删除与之关联的约束
ALTER TABLE test2 DROP COLUMN age CASCADE CONSTRAINT;
--修改和添加
ALTER TABLE test2 MODIFY age VARCHAR2(10) ADD gender CHAR(1)NOT NULL ;
--删除表
DROP TABLE test2;
--约束
--使用alter语句添加主键约束
ALTER TABLE test3 ADD CONSTRAINT test3_id_pk PRIMARY KEY (ID);
--删除约束
ALTER TABLE test2 DROP CONSTRAINT test2_id_pk;
CREATE TABLE test3 (
ID NUMBER(10),
age VARCHAR2(20)
);
--添加外键约束 并设置为级联删除
ALTER TABLE test2 ADD CONSTRAINT test2_3_fk FOREIGN KEY (ID) REFERENCES test3(ID) ON DELETE CASCADE;
--删除时要先删除test3中的记录才会级联删除test2中的记录,否则和普通的删除一样。
--添加记录时要保证关联的表中有对应的记录否则添加失败
ALTER TABLE test2 DROP CONSTRAINT test2_3_fk;
INSERT INTO test2 VALUES (3,'热','3');
INSERT INTO test3 VALUES (3,'卧槽');
--check约束
ALTER TABLE test2 ADD CONSTRAINT check_id CHECK (ID<12);
--设置多个约束时,先检查 check ,在检查主外键
INSERT INTO test2 VALUES (1,34,3);
--not null 约束
ALTER TABLE test3 MODIFY age NOT NULL;
--去掉not null 约束
ALTER TABLE test3 MODIFY age NULL;
------------------DML/DQL语句-----------
SELECT * FROM test3;
SELECT * FROM test2;
CREATE TABLE test4 (
ID NUMBER(20,0) PRIMARY KEY NOT NULL,
NAME VARCHAR2(100),
birth DATE ,
phone CHAR(14)
);
--将其他表的数据插入到当前表中
INSERT INTO test4 (ID,NAME) SELECT ID,NAME FROM test2;
--保证前后的数据类型一致,否则插入失败,下面的语句无法正确插入
--INSERT INTO test4 (ID,birth) SELECT ID,age FROM test3;
--以其他数据表为基础创建表并且获取其中的数据
CREATE TABLE test5 AS SELECT * FROM test3;
--获取目标表的部分字段和数据创建一张新表
CREATE TABLE test6 AS SELECT ID ,NAME FROM test2;
SELECT * FROM test5;
---- -truncate 清空表的数据
----------- 效率比delete 高
DELETE FROM test5;
TRUNCATE TABLE test5;
转载于:https://my.oschina.net/u/2284956/blog/354138