Oracle学习(九):创建和管理表(二)

2014-11-24 12:44:36 · 作者: · 浏览: 2
698 BLAKE AAANnOAAEAAAAAcAAG 7782 CLARK AAANnOAAEAAAAAcAAH 7788 SCOTT AAANnOAAEAAAAAcAAI 7839 KING AAANnOAAEAAAAAcAAJ 7844 TURNER AAANnOAAEAAAAAcAAK 7876 ADAMS ROWID EMPNO ENAME ------------------ ---------- ---------- AAANnOAAEAAAAAcAAL 7900 JAMES AAANnOAAEAAAAAcAAM 7902 FORD AAANnOAAEAAAAAcAAN 7934 MILLER 已选择14行。 SQL> host cls SQL> --修改表: 追加新列 修改列 删除列 重命名列 SQL> desc test1 名称 是否为空 类型 ----------------------------------------------------------------------------------- -------- -------------------------------------------------------- TID NUMBER TNAME VARCHAR2(20) HIDATEDATE DATE SQL> alter table test1 add photo blob; 表已更改。 SQL> desc test1 名称 是否为空 类型 ----------------------------------------------------------------------------------- -------- -------------------------------------------------------- TID NUMBER TNAME VARCHAR2(20) HIDATEDATE DATE PHOTO BLOB SQL> alter table test1 modify tname varchar2(40); 表已更改。 SQL> desc test1 名称 是否为空 类型 ----------------------------------------------------------------------------------- -------- -------------------------------------------------------- TID NUMBER TNAME VARCHAR2(40) HIDATEDATE DATE PHOTO BLOB SQL> alter table test1 drop column photo; 表已更改。 SQL> desc test1 名称 是否为空 类型 ----------------------------------------------------------------------------------- -------- -------------------------------------------------------- TID NUMBER TNAME VARCHAR2(40) HIDATEDATE DATE SQL>
alter table test1 rename column tname to username; 表已更改。 SQL> desc test1; 名称 是否为空 类型 ----------------------------------------------------------------------------------- -------- -------------------------------------------------------- TID NUMBER USERNAME VARCHAR2(40) HIDATEDATE DATE SQL> host cls SQL> --删除表 SQL> select * from tab; TNAME TABTYPE CLUSTERID ------------------------------ ------- ---------- DEPT TABLE EMP TABLE BONUS TABLE SALGRADE TABLE EMP20 TABLE TESTSAVEPOINT TABLE TESTDELETE TABLE TEST1 TABLE EMP10 TABLE EMPINCOME TABLE 已选择10行。 SQL> drop table TESTDELETE; 表已删除。 SQL> --Oracle的回收站 SQL> --查看回收站 SQL> show recyclebin ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME ---------------- ------------------------------ ------------ ------------------- TESTDELETE BIN$oY28BlKeSle/lJNUpKzrMQ==$0 TABLE 2012-10-23:15:42:09 SQL> --清空回收站 SQL> purge recyclebin 2 ; 回收站已清空。 SQL> --彻底删除表 SQL> drop table test1 purge; 表已删除。 SQL> show recyclebin SQL> host cls SQL> -- check约束 SQL> create table test2 2 (tid number, 3 tname varchar2(20), 4 gender varchar2(4) check (gender in ('男','女')), 5 sal number check (sal >0 ) 6 ); 表已创建。 SQL> insert into test2 values(1,'Tom','男',1000); 已创建 1 行。 SQL> insert into test2 values(1,'Tom','啊',1000); insert into test2 values(1,'Tom','啊',1000) * 第 1 行出现错误: ORA-02290: 违反检查约束条件 (SCOTT.SYS_C006031) SQL> create table myperson( 2 pid varchar2(18) constraint myperson_PK primary key, 3 pname varchar2(4) constraint myperson_Name not null, 4 gender varchar2(4) constraint myperson_Gender check (gender in ('男','女')), 5 email varchar2(30) constraint myperson_Email uqiue, 6 dept