SQL基础知识
SQL 结构化查询语言
分类
- DDL 数据定义语言
- DML 数据管理语言
- DCL 数据控制语言
- DQL 数据查询语言
DDL
- create
- alter
- drop
- rename
- truncate
DDL 没有事务性,不能回滚。所以在使用 truncate 的时候需要注意。
DML
- insert
- delete
- update
- select
使用频率较高,需要熟练掌握。
DCL
- commit
- rollback
- savepoint
- grant
- revoke
需要理解透彻事务。 transaction
DQL
select <字段名>
from <表名>
where <条件>
SQL 语句的规范
- use interview;
- 字句分行写,提高可读性。
- 每条命令以
;结尾。 - 关键字大写,表名,字段名小写。
SELECT
select 1;
select 1 + 1
from dual;
select *
from jobs;
别名
select job_id id
from jobs;
select job_id as id
from jobs;
select job_id "job id"
from jobs; -- 推荐
select job_id 'job id'
from jobs; -- 不推荐
distinct 去除重复行
如果要使用 distinct 的时候要放在 select 后面。
SELECT distinct studentid
from student_courses;
空值参与运算,结果也为空
null, 0 , '', 'null' 这四个值不同。
使用 IFNULL 函数来判断。
null 参与计算时结果为 null
select ifnull(age_, 0)
from students;
-- 无法获取数据,因为 null 参与计算的结果为 null。 如果要判断值是否为 null ,需要使用 xxx is null。或者使用 xx <=> null.
select *
from students
where name = null;
着重号
用于转义关键字。
select *
from `order`;
显示表结构
describe students;
desc students;