Oracle SQL简介与数据表分析
认识SQL
SQL指的是结构化的查询语句。
对于SQL语句分为几个子类:
- DML(数据库操作语言)数据的更新与查询操作(SELECT,FROM,INSERT,GROUP BY,HAVING,WHERE,UPDATE,DELETE),在开发中基本都是以DML操作为主。
- DDL(数据定义语言)数据库对象的定义语言,例如:数据表,约束,索引,同义词,用户;对数据库设计的时候必须掌握。
- DCL(数据库控制语言)对数据库权限控制。
重点学习DML与DDL的学习上。
scott用户表(背)
首先要想知道某一个用户(模式)下,所有的数据表,那么可以使用如下语法完成。
SELECT * FROM tab;
结果中一共返回4张数据表。
要想知道每一张表的结构
DESC dept;
- 部门表 dept
No | 列名称 | 类型 | 描述 |
---|---|---|---|
1 | DEPTNO | NUMBER(2) | 部门编号,最多由2位数字组成 |
2 | DNAME | VARCHAR2(14) | 部门名称,由14位字符组成 |
3 | LOC | VARCHAR2(13) | 部门位置 |
- 雇员表:emp (一个部门存在多个雇员)
No | 列名称 | 类型 | 描述 |
---|---|---|---|
1 | EMPNO | NUMBER(4) | 雇员编号,最多由4位数字组成 |
2 | DNAME | VARCHAR2(10) | 雇员姓名 |
3 | JOB | VARCHAR2(9) | 职位 |
4 | MGR | NUMBER(4) | 领导编号,领导也属于雇员 |
5 | HIREDATE | DATE | 雇佣日期 |
6 | SAL | NUMBER(7,2) | 基本工资,小数位最多是2位,整数是5位,总共7位 |
7 | COMM | NUMBER(7,2) | 佣金 |
8 | DEPTNO | NUMBER(2) | 所属部门编号 |
- 工资等级表(SALGRADE)
No | 列名称 | 类型 | 描述 |
---|---|---|---|
1 | GRADE | NUMBER | 工资等级编号 |
2 | LOSAL | NUMBER | 此等级的最低工资 |
3 | HISAL | NUMBER | 此等级的最高工资 |
- 工资表 (ENAME)
No | 列名称 | 类型 | 描述 |
---|---|---|---|
1 | ENAME | VARCHAR2(10) | 雇员姓名 |
2 | JOB | VARCHAR2(9) | 雇员职位 |
3 | SAL | NUMBER | 工资 |
4 | COMM | NUMBER | 佣金 |