没有合适的资源?快使用搜索试试~ 我知道了~
Oracle增删改查常用操作
5星 · 超过95%的资源 需积分: 12 19 下载量 92 浏览量
2011-10-11
16:16:18
上传
评论
收藏 31KB DOCX 举报
温馨提示
试读
13页
Oracle增删改查常用操作 Oracle增删改查常用操作 Oracle增删改查常用操作
资源推荐
资源详情
资源评论
表的增删改查
创建表
CREATE TABLE [用户名.]表名
(列名 数据类型 [default 默认值] [,...]...);
SQL> create table t1 (
2 id number(10),
3 name varchar2(20),
4 password varchar2(30));
SQL> create table tab1 as select * from emp where sal>2000;
SQL> create table tab2 as select * from emp where 1=2;
增加修改删除列
增加一列
ALTER TABLE [用户名.]表名
ADD (列名 1 数据类型[DEFAULT 表达式],[列名 2 数据类型],...)
SQL> desc t1;
名称 是否为空? 类型
------------- -------- ---------------
ID NUMBER(10)
NAME VARCHAR2(20)
PASSWORD VARCHAR2(30)
SQL> alter table t1 add (sal number(10));
SQL> desc t1;
名称 是否为空? 类型
--------------- -------- --------------------
ID NUMBER(10)
NAME VARCHAR2(20)
PASSWORD VARCHAR2(30)
SAL NUMBER(10)
SQL> alter table t1 add (job varchar(10));
SQL> desc t1;
名称 是否为空? 类型
------------------ -------- ----------------
ID NUMBER(10)
NAME VARCHAR2(20)
PASSWORD VARCHAR2(30)
SAL NUMBER(10)
JOB VARCHAR2(10)
1 / 13
修改表已存列的数据类型与列名重命名
语法格式:
ALTER TABLE 表名
MODIFY (列名 1,数据类型 [DEFAULT 表达式],列名 2,数据类型,...)
SQL> desc t1;
名称 是否为空? 类型
-------------------- -------- ---------------
ID NUMBER(10)
NAME VARCHAR2(20)
PASSWORD VARCHAR2(30)
SAL NUMBER(10)
JOB VARCHAR2(10)
SQL> alter table t1 modify (sal varchar2(20));
SQL> desc t1;
名称 是否为空? 类型
--------------------- -------- ---------------
ID NUMBER(10)
NAME VARCHAR2(20)
PASSWORD VARCHAR2(30)
SAL VARCHAR2(20)
JOB VARCHAR2(10)
SQL> alter table t1 rename column job to comm;
SQL> desc t1;
名称 是否为空? 类型
-------------------- -------- ---------------
ID NUMBER(10)
NAME VARCHAR2(20)
PASSWORD VARCHAR2(30)
SAL VARCHAR2(20)
COMM VARCHAR2(10)
SQL> alter table t1 modify (comm number(10));
SQL> desc t1;
名称 是否为空? 类型
------------------------ -------- ---------------
ID NUMBER(10)
NAME VARCHAR2(20)
PASSWORD VARCHAR2(30)
SAL VARCHAR2(20)
COMM NUMBER(10)
2 / 13
删除表里的某列
ALTER TABLE 表名 DROP COLUMN 列名;
SQL> desc t1;
名称 是否为空? 类型
------------------------------ -------------------
ID NUMBER(10)
NAME VARCHAR2(20)
PASSWORD VARCHAR2(30)
SAL VARCHAR2(20)
COMM NUMBER(10)
SQL> alter table t1 drop column comm;
SQL> desc t1;
名称 是否为空? 类型
------------------------ -------- -------------------
ID NUMBER(10)
NAME VARCHAR2(20)
PASSWORD VARCHAR2(30)
SAL VARCHAR2(20)
间接删除表里已存在的列
删除表里的列特别是删除大表里的列是特耗资源的 所以 在删除一个列时 可以先把要删除
的列打标记,标记成无用列 ,然后等系统不忙时在彻底删除这个列
语法格式:
ALTER TABLE 表名 SET UNUSED COLUMN 列名;
把一个列设置成无用列 注意一下事项
_ 必需在 8i 以上版本适用
_ 该列被设置成无用列后,并不是删除了而是设置成无用标记而已还需要手工删除这个列
_ 设置成无用列后,无法用 sqlplus 或是 sql 语句看到的
_ oracle 把设置成无用列当作删除列处理
_ 可以适用 DROP UNUSED (列名) 选项删除被设置成无用的列
_ 因为该语句是 DDL 语句 没有恢复无用列的命令
然后 等系统不忙时在用
ALTER TABLE 表名 DROP UNUSED COLUMN;
SQL> alter table t1 set unused column sal;
SQL> desc t1;
名称 是否为空? 类型
----------------------- -------- --------------
3 / 13
剩余12页未读,继续阅读
资源评论
- ab4223813902013-03-04很好很基础
tangzhen8839
- 粉丝: 25
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功