|-SQL语句分为以下三种类型:
DML:Data Manipulation Language 数据操纵语言
DDL:Data Definition Language 数据定义语言
DCL:Data Control Language 数据控制语言
|-DML用于查询与修改数据记录,包括如下SQL语句:
INSERT:添加数据到数据库中
UPDATE:修改数据库中的数据
DELETE:删除数据库中的数据
SELECT:选择(查询)数据
SELECT是SQL语言的基础,最为重要。
|-DDL用于定义数据库的结构,比如创建、修改或删除数据库对象,包括如下SQL语句:
CREATE TABLE:创建数据库表
ALTER TABLE:更改表结构、添加、删除、修改列长度
DROP TABLE:删除表
CREATE INDEX:在表上建立索引
DROP INDEX:删除索引
|-DCL用来控制数据库的访问,包括如下SQL语句:
GRANT:授予访问权限
REVOKE:撤销访问权限
COMMIT:提交事务处理
ROLLBACK:事务处理回退
SAVEPOINT:设置保存点
LOCK:对数据库的特定部分进行锁定
|-如下以employees表为例:
显示表结构:
desc employees;
①查询所有的列:
select * from employees;
②查询其中的某列或某几列:
select employee_id,last_name,email from employees;
注意:
SQL 语言大小写不敏感。
SQL 可以写在一行或者多行
关键字不能被缩写也不能分行
各子句一般要分行写。
使用缩进提高语句的可读性。
③算数运算符
数字和日期使用的算术运算符:
select 8*4 from dual;
select last_name,salary,12*salary + 1000 from employees;
select sysdate,sysdate+1,sysdate-2 from dual;
操作符优先级:
乘除的优先级高于加减。
同一优先级运算符从左向右执行。
括号内的运算先执行。
④定义空值
--空值不同于0,凡是空值参与的运算,结果都为空(null)
select employee_id,salary,commission_pct,salary*(1+commission_pct) from employees
⑤列的别名
select employee_id id,last_name name,12*salary annual_sal from employees;
select employee_id as id,last_name name,12*salary annual_sal from employees;
呈现为大/小写:
select employee_id "id",last_name "Name",12*salary annual_sal from employees;
别名为多个单词:
select employee_id as id,last_name name,12*salary "annual sal" from employees;
⑥连接符
select last_name||'`s job id is',job_id from employees;
select last_name||'`s job id is'||job_id as details from employees
⑦字符串
select last_name||'`s hire_date is'|| hire_date as "details" from employees;
⑧重复行
select distinct department_id from employees;