MySQL基础-SQL前要重点
一、SQL概述
SQL(Structured Query Language,结构化查询语言
)是使用关系模型的数据库应用语言,与数据直接打交道,由IBM上世纪70年代开发出来。后由美国国家标准局(ANSI)开始着手制定SQL标准,先后有SQL-86,SQL-89,SQL-92,SQL-99
等标准。不同的数据库生产厂商都支持SQL语句,但都有特有内容。
SQL语言在功能上主要分为如下3大类:
DDL(Data Definition Languages,
数据定义语言
),这些语句定义了不同的数据库、表、视图、索引等数据库对象,还可以用来创建、删除、修改数据库和数据表的结构。- 主要的语句关键字包括
CREATE
、DROP
、ALTER
等。
- 主要的语句关键字包括
DML(Data Manipulation Language,
数据操作语言
),用于添加、删除、更新和查询数据库记录,并检查数据完整性。- 主要的语句关键字包括
INSERT
、DELETE
、UPDATE
、SELECT
等。
- 主要的语句关键字包括
DCL(Data Control Language,
数据控制语言
),用于定义数据库、表、字段、用户的访问权限和安全级别。- 主要的语句关键字包括
GRANT
、REVOKE
、COMMIT
、ROLLBACK
、SAVEPOINT
等。
- 主要的语句关键字包括
因为查询语句使用的非常的频繁,所以很多人把查询语句单拎出来一类:DQL(数据查询语言)。还有单独将COMMIT、ROLLBACK取出来称为TCL(Transaction Control Language,事务控制语言)。
二、SQL规范
- SQL可以写在一行或者多行。为了提高可读性,各子句分行写,必要时使用缩进。
- 每条命令以;或\g或\G结束。
- 关键字不能被缩写也不能分行。
- 关于标点符号:
- 必须保证所有的()、单引号、双引号是成对结束的。
- 字符串和日期时间类型的数据可以使用单引号(’’)表示。
- 列的别名尽量使用双引号(””),而且不建议省略AS关键字。
推荐采用统一的SQL大小写书写规范:数据库名、表名、表别名、字段名、字段别名等都小写;SQL关键字、函数名、绑定变量等都大写。
我们观察一下我们当前使用的数据库下面有哪些表,并重点观察employees
表的结构:
补充一个数据库命令DESCRIBE或者DESC,可以用来查看数据库表结构。
下面我们书写几个SQL语句表明前面谈到的SQL规范问题:
不过需要注意的是,我们的数据库下面有一个奇怪的表名称为order
,这与MySQL的关键字ORDER
冲突,此时我们需要使用着重号(``)引用该表。
三、课后练习
1.查询员工12个月的工资总和,并起别名为ANNUAL SALARY
1 | SELECT employee_id, last_name, salary * 12 AS "ANNUAL SALARY" |
2.查询employees表中去除重复的job_id以后的数据
1 | SELECT DISTINCT job_id |
3.查询工资大于12000的员工姓名和工资
1 | SELECT last_name, salary |