表操作
2016-04-19 17:20
260 查看
1、常用字段类型
VARCHAR2 (size) 可变长度的字符串, 必须规定长度CHAR(size) 固定长度的字符串, 不规定长度默认值为1
NUMBER(p,s) 数字型p是位数总长度, s是小数的长度, 可存负数,最长38位. 不够位时会四舍五入.
注意: Integer只是个别名。number才是实际类型
INT、INTEGER 是 NUMBER 的受限子类型(只表示整数),相当于 NUMBER(38)。
DATE 日期和时间类型
LOB 超长字符, 最大可达4G
CLOB 超长文本字符串
BLOB 超长二进制字符串
2、 创建表时给字段加默认值 和约束条件
ORACLE支持五种类型的完整性约束NOT NULL (非空)–防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值.
CHECK (检查)–检查在约束中指定的条件是否得到了满足.
UNIQUE (唯一)–保证在指定的列中没有重复值.在该表中每一个值或者每一组值都将是唯一的.
PRIMARY KEY (主键)–用来唯一的标识出表的每一行,并且防止出现NULL值,一个表只能有一个主键约束.
POREIGN KEY (外部键)–通过使用公共列在表之间建立一种父子(parent-child)关系,在表上定义的外部键可以指向主键或者其他表的唯一键.
3、创建表
1create table test (id number,name varchar(10));
2
CREATE TABLE DEPT( EPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY, DNAME VARCHAR2(14), LOC VARCHAR2(13)) ;
3
CREATE TABLE region( ID number(2) NOT NULL PRIMARY KEY, postcode number(6) default '0' NOT NULL, areaname varchar2(30) default ' ' NOT NULL);
default 为默认值
4、用子查询建表
create table 表名 as +查询语句
5、 插入列(字段)
alter table 表名 add 新列列名 列数据类型[default 0 not null] (添加列默认值为0)
alter table 表名 drop 列名(删除列)
alter table 表名 alter column 列名 新添加的数据类型(修改列)
6、删除表
drop table 表名
delete from 表名(后面不跟where语句,则也删除表中所有的数据)
truncate table 表名
delete 属于DML,当不commit时不生效而truncate 和 drop 则是直接生效,不能回滚。
truncate 和 delete 不删除表的结构,只是针对表中的内容删除
drop语句将删除表的结构,被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为invalid状态.
truncate 会释放占用空间,而drop 和 delete不会。
速度:drop>truncate>dalete
7、 连表查询
select gl.oi,gl.data,gl.a,dv.a,dl.a,gs.a, from a gl,b dv,c dl,d gs where dv.oi=gl.oi and dv.data=gl.data and dl.oi=gl.oi and dl.data=gl.data and gs.oi=gl.oi and gs.data=gl.data and GL.OI_=1
*where执行为从左到右
ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾.、
联合查询效率较高,分四类:内联inner join 、左联left outer join 、
右联right outer join 、全联full outer join
(取决是否消除笛卡尔积)
相关文章推荐
- 数据一致性-分区可用性-性能——多副本强同步数据库系统实现之我见
- ZZULIOJ 1881: 蛤玮的机房【并查集】
- iOS应用上线
- Hinbernate ManyToMany JPA注解
- Elasticsearch初步使用(安装、Head配置、分词器配置)
- 简单的贴图显示shander
- C++ 保留几位小数
- 泛型,学习2016-4-19
- acm 2 1012 Rescue
- 结合源码探讨Android距离传感器亮灭屏机制
- [从头学数学] 第185节 周游列国拜诸侯(下)
- css实现文本和div居中对齐详细讲解示例
- Android 驱动开发系列五
- iOS远程推送
- py调用cmd命令
- Python 完成2048
- 从源代码剖析Mahout推荐引擎
- NOSQL场景梳理
- njust oj triple 莫比乌斯反演
- 小问题快速处理