Oracle学习笔记(一)
1 什么是SQL语句?
1. 概述:
结构化查询语言 (Structured Query Language) SQL,具有定义、查询、更新和控制等多种功能,是关系数据库的标准语言。
2. 分类:
– 数据操纵语言DML Data Manipulation Language :
- SELECT 、INSERT、 UPDATE、 DELETE
– 数据定义语言DDL Data definition language :
- CREATE、 ALTER、 DROP、 RENAME、 TRUNCATE
– 数据控制语言DCL Data Control Language :
- GRANT、 REVOKE
– 事务Transaction :
- commit、 rollback、 savepoint
================================================================================
Oracle中操作数据库查看表结构的语言:(补充)
- 查看所有表:
SELECT TABLE_NAME FROM USER_TABLES;
- 查看表结构:
DESCRIBE TABLE_NAME;(或者 DESC TABLE_NAME;)
例如:查看员工表的表结构。 DESC(RIBE) EMP;
- 设置一行显示多少字符:
SET LINES NUMBER;
例如:SET LINES 1000;
- 设置一页显示多少行:
SET PAGES NUMBER;
例如:SET PAGES 100;
- 为表添加注释:
COMMENT ON TABLE TABLENAME IS '用户表';
例如:COMMENT ON TABLE EMP IS ‘雇员表’;
- 查看表的COMMENT :
SELECT * FROM USER_TAB_COMMENTS WHERE TABLE_NAME='TABLENAME';
例如:SELECT * FROM USER_TAB_COMMENTS WHERE TABLE_NAME= ’EMP’;
- 为列添加注释
COMMENT ON COLUMN TABLENAME.COLUMNNAME IS ‘列的注释’;
例如: COMMENT ON COLUMN EMP.EMPNO IS ‘雇员工号’;
- 查看字段的COMMENT
SELECT * FROM USER_COL_COMMENTS WHERE TABLE_NAME='TABLENAME';
例如:SELECT * FROM USER_COL_COMMENTS WHERE TABLE_NAME = ‘TABLENAME’;
3. Oracle清屏命令:
Oracle清屏命令 3种sqlplus清屏命令:
Oracle数据库查询时如何对满屏的sql命令做清屏处理呢?很多人使用SQL*Plus,而SQL*Plus工具怎么清屏呢?
Oracle清屏命令汇集:
1、同时按SHIFT和DELETE键,然后点OK即可清屏 。
2、若在window窗口下sqlplus 中清屏命令: host cls 或是 clear screen 或只是4位clea scre。
3、若在dos的窗口下进入sql/plus就要用clear SCR。
以上就是3种最好用的oracle清屏命令。
2 数据库操作语言(DML)之SELECT基本操作:
1. 基本语法:
SELECT *|{[DISTINCT] column|expression [alias],...}
FROM table;
[WHERE condition(s)]
[ORDER BY {column, expr, alias}[ASC|DESC]];
2. 解释:
- SELECT 标识: 选择哪些列。
- FROM 标识: 从哪个表中选择。
- WHEREE 标识: 条件语句。
- DISTINCT 标识: 去除重复的列.
- SQL 语言大小写不敏感。
- SQL 可以写在一行或者多行
- 关键字不能被缩写也不能分行
- 各子句一般要分行写。
- 使用缩进提高语句的可读性。
3. 注意:
4. 运算符:
算术运算符:
操作符 | 含义 |
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
代码:
SELECT ENAME,(SAL+NVL(COMM,0))*12 FROM EMP;
5. 对于空值:
空值是无效的,未指定的,未知的或不可预知的值
空值不是空格或者0。
包含空值的数学表达式的值都为空值 . 解决办法:NVL(COL_NAME , NUMBER ).
如果该列允许为空,使用 NVL(COL_NAME,NUMBER) 函数可以解决该问题,NUMBER 将代替列中为空的值,而不取代该列中不为空的值。
如下:
SELECT ENAME ,SAL*12 FROM EMP;
SELECT ENAME,(SAL+COMM)*12 FROM EMP;
SELECT ENAME,(SAL+NVL(COMM,0))*12 FROM EMP;
6. 列的别名:
① 、重命名一个列。
② 、便于计算。
③ 、紧跟列名,也可以在列名和别名之间加入关键字‘AS’,别名使用双引号,以便在别名中包含空格或特殊的字符并区分大小写。
7. 连接符:
- 把列与列,列与字符连接在一起。
- 用 ‘||’表示。
- 可以用来‘合成’列。
如下代码:
SELECT ENAME||’的薪资为:’||SAL*12 FROM EMP;
注意:ENAME||’的薪资为:’||SAL*12 代表的是一列,利用连接符连接后代表的是一列的列名,对于连接的字符串来说需要使用 单引号 ’’来进行连接。 |
8. 字符串:
- 字符串可以是 SELECT 列表中的一个字符,数字,日期。
- 日期和字符只能在单引号中出现。
- 每当返回一行时,字符串被输出一次。
注意:对于双引号和单引号在何时使用? 在别名时这一块来使用双引号,而对于字符串只能在单引号中出现,且在单引号中的字符区分大小写。 |