Oracle学习(九)----表的增删改查,回收站
2016-03-30 20:36
567 查看
1 创建表 1.1 命名规则: 必须以字母开头 必须在 1–30 个字符之间 必须只能包含 A–Z, a–z, 0–9, _, $, 和 # 必须不能和用户定义的其他对象重名 必须不能是Oracle 的保留字 Oracle默认存储是都存为大写 数据库名只能是1-8位,datalink可以是128位,和其他一些特殊字符 1.2 条件: 1)必须要有权限 2)要有表空间,oracle提供了默认的resource 1.3 语法结构: CREATE TABLE [schema.]table (column datatype [DEFAULT expr][, ...]); 1.4 数据类型: oracle的数据类型支持可见字符存储和不可见字符的存储 VARCHAR2(size) 可变长字符数据,可以输入小于等于size个字符,输入几位数就是几位数,超出长度报错,最大size为4096 CHAR(size) 定长字符数据,可以输入小于等于size个字符,其余空间补空格 NUMBER(p,s) 可变长数值数据 DATE 日期型数据 LONG 可变长字符数据,最大可达到2G CLOB 字符数据,最大可达到4G RAW and LONG RAW 原始的二进制数据 BLOB 二进制数据,最大可达到4G BFILE 存储外部文件的二进制数据,最大可达到4G ROWID 行地址 例:创建一个表 SQL> create table T(ID number, NAME varchar2(20)); 表已创建。 1.5 创建表且copy表, 例:创建一个和emp一模一样的表 SQL> create table t2 2 as 3 select * from emp; 表已创建。 1.6 超级用户看别的用户的表,只需在表名之前增加用户名即可 select * from scott.emp; 1.7 行地址,索引的时候需要用到 SQL> select rowid, ename, job, sal from emp; ROWID ENAME JOB SAL ------------------ ---------- --------- ---------- AAAR3sAAEAAAACXAAA SMITH CLERK 800 AAAR3sAAEAAAACXAAB ALLEN SALESMAN 1600 AAAR3sAAEAAAACXAAC WARD SALESMAN 1250 AAAR3sAAEAAAACXAAD JONES MANAGER 2975 AAAR3sAAEAAAACXAAE MARTIN SALESMAN 1250 AAAR3sAAEAAAACXAAF BLAKE MANAGER 2850 AAAR3sAAEAAAACXAAG CLARK MANAGER 2450 AAAR3sAAEAAAACXAAH SCOTT ANALYST 3000 AAAR3sAAEAAAACXAAI KING PRESIDENT 5000 AAAR3sAAEAAAACXAAJ TURNER SALESMAN 1500 AAAR3sAAEAAAACXAAK ADAMS CLERK 1100 AAAR3sAAEAAAACXAAL JAMES CLERK 950 AAAR3sAAEAAAACXAAM FORD ANALYST 3000 AAAR3sAAEAAAACXAAN MILLER CLERK 1300 2 表的增删改查 使用 ALTER TABLE 语句追加, 修改, 或删除列的语法. 1)首先创建一个表: SQL> create table t(ID number, NAME varchar2(20)); 表已创建。 2)然后向表中增加内容: SQL> insert into t values(123, 'Apple'); 已创建 1 行。 SQL> insert into t values (456, 'Lin'); 已创建 1 行。 SQL> savepoint a; 保存点已创建。 2.1,增加列 ALTER TABLE table ADD (column datatype [DEFAULT expr] [, column datatype]...); 例: SQL> alter table t add male varchar2(10); 表已更改。 SQL> select * from t; ID NAME MALE ---------- -------------------- ---------- 123 Apple 456 Lin 2.2 修改列 ALTER TABLE table MODIFY (column datatype [DEFAULT expr] [, column datatype]...); 将原来male字符宽度由20改到40: SQL> alter table t modify male varchar(40); 表已更改。 2.3 ALTER TABLE table DROP column (column); 删除刚刚增加的那一列: SQL> alter table t drop column male; 表已更改。 表更改之后的内容: SQL> select * from t; ID NAME ---------- -------------------- 123 Apple 456 Lin 2.4 ALTER TABLE table_name rename column old_column_name to new_column_name --删除表 drop table test1; --oracle的回收站 -- 查看回收站 show recyclebin -- 清空回收站 purge recyclebin; -- 彻底删除一张表 drop table test1 purge; --直接删除一张表,不通过回收站 -- 还原表(从回收站中返复原表) 闪回的内容 --关于回收站注意问题 --并不是所有的人都有回收站 管理员没有回收站 SQL> show recyclebin; ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME ---------------- ------------------------------ ------------ ------------------- EMP20 BIN$yB56S7m9QCacFW9wbkk4Ig==$0 TABLE 2014-08-10:22:48:43 SQL> select * from emp20; 不可以访问表 SQL> select * from BIN$yB56S7m9QCacFW9wbkk4Ig==$0 不可以访问表 SQL> select * from "BIN$yB56S7m9QCacFW9wbkk4Ig==$0"; 可以访问表 结论:通过回收站的名字,查看原来表的内容,需要双引号 1)表: SQL> select * from tab; TNAME TABTYPE CLUSTERID ------------------------------ ------- ---------- BIN$Axt13GI5TvmKn5GIJRTGrg==$0 TABLE ==========>回收站中的表 BONUS TABLE DEPT TABLE EMP TABLE SALGRADE TABLE T TABLE 已选择6行。 2)查看回收站: SQL> show recyclebin ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME ---------------- ------------------------------ ------------ ------------------- T BIN$Axt13GI5TvmKn5GIJRTGrg==$0 TABLE 2016-03-30:17:27:12 3)查看回收站中表的信息: SQL> select * from "BIN$Axt13GI5TvmKn5GIJRTGrg==$0"; ========>必须用双引号 ID NAME ---------- -------------------- 123 Apple Lin
相关文章推荐
- 数据分页的实现
- 26、Java调用Oracle存储过程?
- Oracle之高级查询
- oracle 存储过程中调用存储过程
- Oracle常用命令
- Leaflet+Geoserver+Oracle/Postgis项目搭建(一)
- JDBC连接Oracle数据库时出现的ORA-12505错误及解决办法
- Oracle递归查询(适合树形结构)
- oracle——SQL复习07
- Oracle 数据库基础学习 (四) group by的使用
- Oracle PLSQL语句实例
- Oracle学习(八)----sql语言
- oracle 开发记忆
- Oracle 定时任务小例子
- Oracle SQL*plus常用的命令和函数
- Oracle SQL 经典查询练手第四篇
- oracle表分区详解
- oracle 11g RAC手动卸载grid,no deinstall .
- Oracle the network adapter could not establish the connection
- oracle中distinct用法