【MySQL】基本的select语句
1.1 SQL分类
- DDL(数据定义语言):用来创建、删除、修改数据库和数据表的结构。
- 主要语句:create、drop(删结构)、alter等。
- DML(数据操作语言):用于添加、删除、更新和查询数据库记录,并检查数据完整性。
- 主要语句:insert、delete(删记录)、update、select等。
- DCL(数据控制语言):用于定义数据库、表、字段、用户的访问权限和安全级别。
- 主要语句:grant、revoke、commit、rollback、savepoint等。
1.2 语法规则
- 每条命令以;或\g或\G结束
- 列的别名,尽量使用双引号,而且不建议省略as。
- 建议
- 数据库名、表名、表别名、字段名、字段别名等都小写
- SQL关键字、函数名、绑定变量等都大写
- 字符串使用单引号,别名使用双引号
- MySQL在windows环境下是大小写不敏感的
- MySQL在linux环境下是大小写敏感的
1.3注释
单行注释:#注释文字(MySQL特有的方式)
单行注释:-- 注释文字(--后面必须包含一个空格。)
多行注释:/* 注释文字 */
1.4 Select语句
1.数据导入指令
可以在命令行登录后导入数据
source d:\mysqldb.sql
2.SELECT
SELECT 1;
SELECT 9/2;
SELECT * FROM departmenms; #选中所有列
SELECT department_id,location_id FROM departments;
3.列的别名
使用AS
SELECT last_name AS name,commission_pct comm
FROM employees;
省略AS,使用双引号(可以包含空格)
SELECT last_name "Name",salary*12 "Annual Salary"
From employees;
4.去重DISTINCT
查询结果中不会有department_id重复的数据。
DISTINCT要写在所有列名的前面,否则会报错,多个列名时,是对所有列名的组合进行去重。
SELECt DISTINCT department_id
FROM employees;
5.空值参与运算
所有运算符或列值遇到null值,运算的结果都为null
SELECT
employee_id,salary,commission_pct,12*salary*(1+commission_pct) "annual_sal"
FROM employees;
6.着重号
表名、字段名等和保留字、数据库系统或常用函数冲突时会报错
SELECT * FROM ORDER; #报错
SELECT * FROM `ORDER`; #正确的
7.查询常数
SELECT '卡拉肖克' AS corporation,last_name FROM employees;
8.显示表结构
DESC employees;
或
DESCRIBE employees;
9.过滤数据WHERE
SELECT employee_id,last_name,job_id,department_id
FROM employees
WHERE department_id=90;