插入三张表:
@d:/del_data.sql;
@d:/hr_cre.sql;
@d:/hr_popul.sql;
select * from employees;
DML用于差询与修改数据记录,包含以下 sql 语句:
INSERT: 添加数据到数据库中
UPDATE: 修改数据库中的数据
DELETE: 删除数据库中的数据
SELECT: 选择 (查询) 数据
DDL用于定义数据库的结构,比如创建,修改或删除数据库对象,包含如下 sql 语句:
CREATE TABLE: 创建数据库表
ALTER TABLE: 更改表结构,添加, 删除, 修改列长度
DROP TABLE : 删除表
CREATE INDEX: 在表上建立索引
DROP INDEX: 删除索引
DCL用于控制数据库的访问,包含如下 sql 语句
GRANT:授予访问权限
REVOKE:撤销访问权限
COMMIT:提交事务处理
POLLBACK:事务处理回退
SAVEPOINT:设置保存点
LOCK:对数据库的特定部分进行锁定
--查询表有哪些列:
desc employees;
desc employees 名称 空值 类型 -------------- -------- ------------ EMPLOYEE_ID NOT NULL NUMBER(6) FIRST_NAME VARCHAR2(20) LAST_NAME NOT NULL VARCHAR2(25) EMAIL NOT NULL VARCHAR2(25) PHONE_NUMBER VARCHAR2(20) HIRE_DATE NOT NULL DATE JOB_ID NOT NULL VARCHAR2(10) SALARY NUMBER(8,2) COMMISSION_PCT NUMBER(2,2) MANAGER_ID NUMBER(6) DEPARTMENT_ID NUMBER(4)
--查询指定列的sql语句
select employee_id,last_name,email from employees;
EMPLOYEE_ID LAST_NAME EMAIL ----------- ------------------------- ------------------------- 100 King SKING 101 Kochhar NKOCHHAR 102 De Haan LDEHAAN 103 Hunold AHUNOLD 104 Ernst BERNST 107 Lorentz DLORENTZ
. . .
算数运算符可用:
select 7+2 from dual;
7+2 ---------- 9
日期计算:
select last_name,salary,12*salary+1000 from employees;
LAST_NAME SALARY 12*SALARY+1000 ------------------------- ---------- -------------- King 24000 289000 Kochhar 17000 205000 De Haan 17000 205000 Hunold 9000 109000
select sysdate,sysdate+1,sysdate-2 from dual;
SYSDATE SYSDATE+1 SYSDATE-2 --------- --------- --------- 21-MAR-20 22-MAR-20 19-MAR-20
注意:空值不同于0;凡是空值参与的运算,结果都为空(null)
-- 列的别名:类名 as 别名 as可加可不加, 想要区分大小写可在别名上加 " "
SELECT employee_id AS "id", last_name as name, email FROM employees;
id NAME EMAIL ---------- ------------------------- ------------------------- 100 King SKING 101 Kochhar NKOCHHAR 102 De Haan LDEHAAN 103 Hunold AHUNOLD
连接符:把列与列,列与字符连接在一起
用 || 表示
可以用来合成列
select last_name|| '`s job_id is' || job_id as details from employees;
DETAILS ----------------------------------------------- King`s job_id isAD_PRES Kochhar`s job_id isAD_VP De Haan`s job_id isAD_VP Hunold`s job_id isIT_PROG
注意:SQL中只有在起别名的时候用 " " 的 , 其他的都是用 ' '
-- 重复行 去重distinct
SELECT DISTINCT
Company FROM Orders;
SQL : | SQL*PLUS: |
一种语言 ANSI标准 关键字不能缩写 使用语句控制数据库中的表的定义信息和表中的数据 |
一种环境 Oracle的特性之一 关键字可以缩写 命令不能改变数据库中的数据的值 集中运行 |
FF