1.Oracle基本数据类型
char -- char(4) -- 不足位数空格补
varchar2 -- varchar(4) 不足位数不补空格
number(p,s) -- p 总长度,s 小数位数
date -- 一个7字节的定宽日期/时间数据类型。其中总包含7个属性,包括:世
纪、世纪中哪一年、月份、月中的哪一天、小时、分钟和秒。
timestamp --一个7 字节或12.字节的定宽日期/时间数据类型。它与DATE 数
据类型不同,因为TIMESTAMP 可以包含小数秒(fractional second);带小数
秒的TIMESTAMP 在小数点右边最多可以保留9位。
BLOB:不包含字符转换信息,(4GB)×(
数据库块大小)字节的数据
CLOB: 字符转换信息 (4GB)×(数据库块大小)字节的数据
2.DML:
CREATE TABLE 创建表(主键、外键、约束、级联)
DROP TABLE 删除表
ALTER TABLE 修改表
CREATE VIEW 创建视图
DROP VIEW 删除视图
CREATE INDEX 创建索引
DROP INDEX 删除索引
CREATE SEQUENCE 创建序列
。。。。。。。。
3.DQL及常用
Oracle函数
select
SELECT 查询字段
FROM 表
[ WHERE 查询条件]
[ GROUP BY 分组字段]
[ HAVING 分组条件]
[ ORDER BY 排序字段[ ASC | DESC ] ]
ASC 升序,默认; DESC 降序
4. DDL:INSERT、UPDATE、DELETE Truncate
Insert(新增数据)
语法
insert into 表名( 列名(,列名)* )* values ( 值( ,值)* );
1、新增整行insert into 表名values ( 值( ,值)* );
insert into TBL_STUDENT values(1,’name’,1,’1’);
注:[所有值必须和列定义位置一一对应]
2、新增行的一部分insert into 表名( 列名(,列名)* )* values ( 值( ,值)* );
insert into TBL_STUDENT(snum,sname,age) values(1,’name’,1);
3、新增某些查询的结果insert into 新表名(查询);
insert into TBL_STUDENT (select * from TBL_STUDENT);
4、从一个表复制到另一个表
create table tbl_student3 as select * from tbl_student;
Update(更新数据)
语法:Update 表名set 列名=值(,列名=值)* (where 条件)*
1、更新表中特定行
update tbl_student set age=2,sex=‘0’ where snum=1;
2、更新表中所有行:初始化时可能用用
Update tbl_student set age=2,sex=‘0’;
Delete(删除数据)
语法:Delete from 表名(where 条件)*
1、从表中删除特定行数据
Delete from tbl_student where snum=1;
2、从表中删除所有行
Delete from tbl_student;
3、截断,更快的从表中删除所有行-不保留
日志,1、不能回滚;2、快
Truncate table TBL_Student;
Oracle 运算符:
比较运算符:=、<、<=、>、>= 、!=、^=、<>
算数运算符:+、-、*、/、%
范围:between...and、not between....and
逻辑运算符:and、or、not
字符串匹配运算符:like、not like
字符串连接运算符: ||
空运算符:is null、is not null
包含运算符:in、not in;exists、not exists
集合操作符:union、union all、intersect、minus
Oracle 数据处理函数
1、CHR(intValue) 返回等价数值的字符ASCII(charater) 返回等价字符的数值
2、LENGTH(str)字符串长度
3、CONCAT(str1,str2)字符串连接
4、INITCAP(str)返回字符串的每个单词的第一个字母大写,而其他字母小写。
5、LOWER(str) 把字符串str转换为小写UPPER(str)把字符串str转换为小写
6、LTRIM(str1,trimCharater)从str左边开始去掉出现在trimCharater的中任何前导字符集。
7、RTRIM(str1,trimCharater)从str右边边开始去掉出现在trimCharater的中任何前导字符集。
8、LPAD(str, length, padStr)在字符串str左边添加字符串padStr直到str字符串的长度等于length
9、RPAD(str, length, padStr)在字符串str右边添加字符串padStr直到str字符串的长度等于length
10、SUBSTR(str, fromIndex, length)返回字符串str中从fromIndex位置开始的length个字符
11、INSTR(str,searchStr,fromIndex, count)在str中从位置fromIndex开始查找searchStr在str中出
12、to_number(str) 将str转换为数字
Oracle 数字处理函数
1、ABS(x) x的绝对值
2、CEIL(x) 大于或等于x的最小整数值FLOOR(x)小于或等于x的最大整数值
3、MOD(x, y) 求余,返回x除以y的余数。
4、POWER(x,y)计算x的y次幂
5、ROUND(x, y)计算保留到小数点右边y位的x值。会四舍五入
6、TRUNC(x,y)计算保留到小数点右边y位的x值。会四舍五入
7、LOG(x,y)、SIN(x)、COS(x)、TAN(x)、EXP(x)、LN(x)……
第count次的位置,fromIndex可以为负(此时,从str的尾部开始)。
Oracle 聚合函数
1、avg(列名) 返回某列的平均值
2、count(列名) 返回某列的行数
3、max(列名) 返回某列的最大值
4、min(列名) 返回某列的最小值
5、sum(列名) 返回某列值的总和
子查询:any,same,all 用法
Join:左连接,右连接,内连接
nvl,bvl2,decode,case
rownum,rowid
事务特性(ACID)
1.原子性 Atomicity,全做-不做
2.一致性 Consistency 不破坏数据约束
3.隔离性 Isolation 并发操作,不相互影响
4.持久性 Durability 操作成功,数据永久改变,不因为突发事件而造成数据不一致和丢失
事务处理
事务(transaction):一组
SQL语句;
回滚(rollback) :撤销指定SQL语句的过程;
提交(commit) :执行指定SQL语句;
保留点(savepoint):事务处理中设置的临时占位符,可以对保留点执行回滚