《01. oralce 对象管理--表》
来源:互联网 发布:node.js 安装教程 编辑:程序博客网 时间:2024/06/06 00:17
Oracle 中对数据库对象的操作称为DDL 语句, 数据库对象包括 数据表,约束,视图,索引,序列等。对数据库对象的操作基本满足以下语法:
1)创建: create 对象
2)删除: drop 对象
3)修改: alter 对象
一 Oracle 中常用的数据类型
CHAR(N)固定字符串varchar2(n)可变字符串number(n)数字型: 最多位n为的整数,有时可用int代替number(n,m)浮点型,n-m为整数位,m为小数位,有时用float 代替date日期型,存储时间clob文本,存储海量文字(4G),只能存文本内容blob二进制数据,例如:电影,MP3,图片,用的较少二 创建表
1) 语法: 非空约束和默认值仅跟字段后面,主键约束,外键约束,唯一约束,检查约束,使用constraint 定义。这样的话,在插入或更新出现异常时,提示信息会比较明确。
此外,建议数据库关键字用小写,表名,字段名用大写。(pl sql 客户端就是这样的原则)
create table 表名称 (字段类型[default 默认值][not null],字段类型[default 默认值][not null],...constraint ... //约束...);
2)示例:
create table STUDENT(SID number(18),NAMEvarchar2(50),SEXchar(1) default 'M',AGEnumber(3) not null ,CONTENTclob,constraint PK_STUDENT_SID primary key(SID),constraint UK_STUDENT_NAME unique(NAME),constraint CK_STUDENT_AGE check(AGE between 0 and 250));3)测试:
1. insert into STUDENT(sid,name) values(1,'zong'); //异常:ORA-01400: 无法将 NULL 插入 ("SCOTT"."STUDENT"."AGE")
2. insert into STUDENT(sid,name,age) values(1,'zong',300); //异常: ORA-02290: 违反检查约束条件 (SCOTT.CK_STUDENT_AGE)
3. insert into STUDENT(sid,name,age) values(1,'zong',20);
insert into STUDENT(sid,name,age) values(2,'zong',20); //异常: ORA-00001: 违反唯一约束条件 (SCOTT.UK_STUDENT_NAME)
4. insert into STUDENT(sid,name,age) values(1,'zhang',20); //异常: ORA-00001: 违反唯一约束条件 (SCOTT.PK_STUDENT_SID)
三 复制表
复制表功能,仅 oracle 支持,其它数据库不一定支持。
1. 语法: create table 表名称 as 查询语句。
2. 示例:
2.1 复制表结构和数据: create table STUDENT_1 as select * from STUDENT;
2.2 仅复制表结构: create table STUDENT_2 as select * from STUDENT where 1=2;
四 删除表
1. 方式一: drop table 表名称; //此种删除,表会进入回收站,可通过回收站回滚
2. 方式二: drop table 表名称 purger; //此种删除方式,表不会进入回收站,不能通过回收站进行回滚。
五 恢复表
oracle 10g 之后新增了回收站的功能,对删除的表可以进行闪回。
1. 查询回收站: show recyclebin;
2. 恢复表: flashback table 表名称 to before drop;
3. 删除回收站: purge table 表名称;
4. 清空回收站: purger recyclebin;
六 重命名
rename 旧表名 To 新表名 ; // oracle 特有
七 截断表
使用delete 清空数据表的时候,清空之后不会立即释放资源,需要执行commit 提交事务才能生效。 而使用Truncate 方式清空表,无需提交事务,立即生效。
八 同义词
oracle 中不同的用户操作其它用户的表时,需要使用 用户名.表名 的方式, 设置同义词之后,即可直接使用表名访问。 同义词的设置方式如下:
1)create synonym 同义词名称 for 用户名.表名称
2)create public synonym 同义词名称 for 用户名.表名称
3)删除同义词: drop synonym 同义词名称
九 修改表结构
在创建数据表的时候,要谨慎。应设计合理的数据类型,字段约束等,应尽量避免日后有修改数据库表结构的场景。目前世界上性能最快的数据库是IBM 的DB2, DB2 就不支持数据表结构的修改。
1) 查看表结构: desc 表名称;
2) 新增字段: alter table 表名称 add 字段名称 字段类型 [default 默认值] [not null];
3)删除字段:alter table 表名称 delete 字段名称;
4)重命名字段: alter table 表名称 rename column 旧字段名称 新字段名称;
4)修改字段: alter table 表名称 modify 字段名称 字段类型 [default 默认值 ] [not null];
对于表结构字段的修改,对字段类型,非空约束,默认值的修改可使用allter xxx modify 来修改,对于自定义名称的主键约束,外键约束等,需要使用约束的修改方式修改。此种修改并不能对所有的数据类型修改都生效,比如varchar2 转换成clob 就会报错。
此种修改,需要进行一下四步: 1. 新增临字段 2. 临时字段赋值 3. 删除临时字段 4. 重命名临时字段
- 《01. oralce 对象管理--表》
- Oralce表空间、用户管理
- Oralce tablespace表空间创建和管理
- Oralce tablespace表空间创建和管理
- 设置oralce自动内存管理
- oralce建立表空间
- oralce 锁表处理
- 误删oralce表
- Oralce表空间(Tablespace)
- oralce临时表
- Oralce解锁表
- oralce一些系统表
- Oralce学习笔记之权限管理
- ORALCE基于用户管理恢复的处理
- oralce
- oralce
- oralce
- oralce &
- 通过DiffUtil高效更新RecyclerView
- 基于注解的测试Spring-aop通知顺序
- Hashtable源码剖析
- selenium之 文件上传所有方法整理总结
- 关于一个失败程序生涯的自省。
- 《01. oralce 对象管理--表》
- Android侧边滑动菜单
- 面试技术汇总
- 《02. oracle 对象管理--约束》
- CentOS7+CDH2.7.2安装
- 《03. oracle 对象管理--视图》
- Ansible管理windows服务器-windows配置
- 《04. oracle 对象管理--索引》
- 编译原理4种文法类型