oracle (一) 之 sql 基础ddl语句
1 -------------DDL语句 ------------------ 2 3 --创建表 4 CREATE TABLE test2( 5 ID NUMBER(12,0), 6 NAME CHAR(20) 7 ); 8 9 SELECT * FROM test2; 10 --添加字段 11 ALTER TABLE test2 ADD age NUMBER(3,0); 12 --修改字段类型 13 ALTER TABLE test2 MODIFY age VARCHAR2(10); 14 --删除字段并删除与之关联的约束 15 ALTER TABLE test2 DROP COLUMN age CASCADE CONSTRAINT; 16 --修改和添加 17 ALTER TABLE test2 MODIFY age VARCHAR2(10) ADD gender CHAR(1)NOT NULL ; 18 --删除表 19 DROP TABLE test2; 20 21 22 --约束 23 24 --使用alter语句添加主键约束 25 ALTER TABLE test3 ADD CONSTRAINT test3_id_pk PRIMARY KEY (ID); 26 --删除约束 27 ALTER TABLE test2 DROP CONSTRAINT test2_id_pk; 28 29 30 31 CREATE TABLE test3 ( 32 ID NUMBER(10), 33 age VARCHAR2(20) 34 ); 35 36 37 38 --添加外键约束 并设置为级联删除 39 ALTER TABLE test2 ADD CONSTRAINT test2_3_fk FOREIGN KEY (ID) REFERENCES test3(ID) ON DELETE CASCADE; 40 41 --删除时要先删除test3中的记录才会级联删除test2中的记录,否则和普通的删除一样。 42 --添加记录时要保证关联的表中有对应的记录否则添加失败 43 ALTER TABLE test2 DROP CONSTRAINT test2_3_fk; 44 INSERT INTO test2 VALUES (3,'热','3'); 45 46 INSERT INTO test3 VALUES (3,'卧槽'); 47 48 --check约束 49 ALTER TABLE test2 ADD CONSTRAINT check_id CHECK (ID<12); 50 --设置多个约束时,先检查 check ,在检查主外键 51 INSERT INTO test2 VALUES (1,34,3); 52 53 --not null 约束 54 ALTER TABLE test3 MODIFY age NOT NULL; 55 --去掉not null 约束 56 ALTER TABLE test3 MODIFY age NULL; 57 58 ------------------DML/DQL语句----------- 59 60 SELECT * FROM test3; 61 SELECT * FROM test2; 62 63 CREATE TABLE test4 ( 64 ID NUMBER(20,0) PRIMARY KEY NOT NULL, 65 NAME VARCHAR2(100), 66 birth DATE , 67 phone CHAR(14) 68 ); 69 70 --将其他表的数据插入到当前表中 71 INSERT INTO test4 (ID,NAME) SELECT ID,NAME FROM test2; 72 73 --保证前后的数据类型一致,否则插入失败,下面的语句无法正确插入 74 --INSERT INTO test4 (ID,birth) SELECT ID,age FROM test3; 75 76 --以其他数据表为基础创建表并且获取其中的数据 77 78 CREATE TABLE test5 AS SELECT * FROM test3; 79 80 --获取目标表的部分字段和数据创建一张新表 81 CREATE TABLE test6 AS SELECT ID ,NAME FROM test2; 82 83 SELECT * FROM test5; 84 85 ---- -truncate 清空表的数据 86 ----------- 效率比delete 高 87 DELETE FROM test5; 88 TRUNCATE TABLE test5; 89 90 91 ---
merger into 用法:
http://www.cnblogs.com/highriver/archive/2011/08/02/2125043.html

浙公网安备 33010602011771号