[所使用的示例文件来自尚硅谷]
1. 基础语法
1.1 SELECT 语句
SELECT 是 SQL(Structured Query Language)中最核心、最常用的语句,用于从数据库中查询(检索)数据。它不会修改数据,只负责“读取”,是数据分析、报表、应用后端取数等场景的基础。
SELECT [DISTINCT] column1, column2, ...
FROM table_name
[WHERE condition]
[GROUP BY column_list]
[HAVING group_condition]
[ORDER BY column [ASC|DESC]]
[LIMIT number];
举 例:
# 查看employees数据表
SELECT * FROM employees;
# 筛选出表格中员工好为90的员工姓名和部门号
SELECT first_name,last_name,department_id
FROM employees
WHERE department_id = 90
# 筛选出员工工资在8000到12000之间的员工的姓名和部门号和工资
SELECT first_name, last_name,salary
FROM employees
# WHERE salary BETWEEN 8000 AND 12000
WHERE salary >= 8000 AND salary <= 12000
ORDER BY salary ASC
LIMIT 0,10
# 查看数据有多少行
SELECT COUNT(*) FROM employees;
1.2 DISTINCT
去除重复的行,返回唯一(不重复)的结果组合。
注意:
DISTINCT是对 所有 SELECT 列的组合 去重,不是单列。 举 例:
# 去除工资重复的行,并统计有多少条记录
SELECT COUNT(DISTINCT salary)
FROM employees
# 57
SELECT DISTINCT salary ,first_name
FROM employees
1.3 ORDER BY
按指定列对查询结果进行升序(ASC)或降序(DESC)排列。
# 提取姓名和工资并将工资按照降序
SELECT first_name, last_name, salary
FROM employees
ORDER BY salary DESC
1.4 LIMIT
限制分页的数目
SELECT * FROM employees
LIMIT 0, 10
1.5 INSERT INTO
INSERT INTO 语句用于向表中插入新记录。
CREATE TABLE test (
first_name VARCHAR(50),
last_name VARCHAR(50),
salary DECIMAL(10,2)
);
INSERT INTO test (first_name, last_name, salary)
VALUES ('jack', 'ma', 1000);
SELECT * FROM test