一、SQL简介
SQL是数据库语言,Oracle使用该语言存储和检索信息。
SQL支持如下类型的命令:
1> 数据定义语言:
CREATE(创建)、ALTER(更改)、DROP(删除)命令。
2> 数据操纵语言:
INSERT(插入)、SELECT(选择)、DELETE(删除)、UPDATE(更新)命令。
3> 事务控制语言:
COMMIT(提交)、SAVEPOINT(保存点)、ROLLBACK(回滚)命令。
4> 数据控制语言: GRANT(授予)和REVOKE(回收)命令。
二、Oracle数据类型
1. 字符数据类型:
· CHAR数据类型
· VARCHAR2数据类型
· LONG数据类型
2. 数值数据类型:
· NUMBER数据类型
3. 日期时间数据类型:
· DATE数据类型
·TIMESTAMP数据类型
4. 二进制数据类型:
· RAW数据类型
· LONG RAW数据类型
5. LOB数据类型
· CLOB数据类型
· BLOB数据类型
· BFILE数据类型
6. Oracle中的伪例
· ROWID
· ROWNUM
三、数据定义语言
1. CREATE TABLE命令
语法: CREATE TABLE [schema.]table (column datatype [,column
datatype] [,...]);
2. ALTER TABLE命令
用于更改现有列定语语法:
ALTER TABLE MODIFY (column
definition...);
用于向表中添加新列的语法:
ALTER TABLE ADD (column
definition...);
用于删除表中现有列的语法:
ALTER TABLE DROP COLUMN column;
3. TRUNCATE TABLE命令
语法: TRUNCATE TABLE ;
4. DROP TABLE命令
语法: DROP TABLE(tablename);
四、数据操纵语言(DML)
1. SELECT命令
语法: SELECT * | { [DISTINCT] column |expression
[alias],...}
FROM
table [WHERE condition] [ORDER BY columns];
2. INSERT命令
语法: INSERT INTO table [ (column) [,column...]]
VALUES (value [,value...]);
3. UPDATE命令
语法: UPDATE table SET column=value [,column=value,...]
[WHERE condition];
4. DELETE命令
语法: DELETE [FROM] table [WHERE condition];
五、事务控制语言
1. COMMIT命令
语法: COMMIT work;
2. SAVEPOINT命令
语法: SAVEPOINT savapoint_id;
3. ROLLBACK命令
语法: ROLLBACK work; 或 ROLLBACK;
六、数据控制语言
1. GRANT命令
语法: GRANT privileges On object-name TO username;
2. REVOKE命令
语法: REVOKE privileges ON object-name FROM username;
七、SQL操作符
1. 算术操作符
包括: +(加)、-(减)、*(乘)、/(除)。
2. 比较操作符
包括:
=、!=、、<=、>=、BETWEEN…AND、IN、LIKE、IS
NULL。
3. 逻辑操作符
包括: AND(与)、OR(或)和NOT(非)。
4. 集合操作符
包括: UNION(联合)、UNION
ALL(联合所有)、INTERSECT(交集)、MINUS(减集)。
5. 连接(||)操作符
连接操作符用于将两个或多个字符串合并成一个字符串,或者将一个字符串与一个数值合并在一起。
八、SQL函数
1. 单行函数
1> 日期函数
· ADD_MONTHS:
返回给指定的日期加上指定的月数后的日期值。
· MONTHS_BETWEEN: 返回两个日期之间的月数。
· LAST_DAY: 返回指定日期当月的最后一天的日期值。
· ROUND: 四舍五入为格式模型制定的单位。
· NEXT_DAY: 返回指定的下一个星期几的日期。
· TRUNC:
将制定日期截断为由格式模型制定的单位的日期,只舍不入。
· EXTRACT: 提取日期时间类型中的特定部分。
2> 字符函数
· INITCAP(char):首字母大写
· LOWER(char):转换为小写
· UPPER(char):转换为大写
· LTRIM(char,set):左剪裁
· RTRIM(char,set):右剪裁
· TRANSLATE(char,from,to):按字符翻译
· INSTR(char,substr[,pos]):查找子串位置
· REPLACE(char,search_str,replace_str):字符串替换
· SUBSTR(char,pos,len):取子字符串
· CONCAT(char1,char2):连接字符串
· CHR:根据ASCII码返回对应的字符
· TRIM:从字符串的开头或结尾剪裁特定的字符,默认剪裁空格
· LENGTH:返回字符串的长度
还有一些单行函数就不在此一一说明的了,对函数不一定都要全记住但是看到了要知道是什么意思。
2.分组函数
· AVG:返回列参数中指定的列值的平均值
· MIN:返回参数列中所有值的最小值
· MAX:返回参数列中所有值的最大值
· SUM:用于获取记录集中值的总和
· COUNT:为了计算行数
· GROUP BY:用于将信息表划分为组,按组进行聚合运算
· HAVING:用来指定GROUP BY子句的检索条件。
3.分析函数
· ROW_NUMBER:为有序组中的每一行返回一个唯一的排序值
语法: ROW_NUMBER () OVER ([PARTITION BY column]
order_by_clause)
· RANK:计算一个值在一组值中的排位
语法: RANK () OVER ([PARTITION BY column]
order_by_clause)
· DENSE_RANK:计算一个行在一组有序行中的排位
语法: DENSE_RANK () OVER ([PARTITION BY _column]
order_by_clause)