MySQL 常用语句教程
MySQL 常用语句教程
MySQL 是一种开源的关系型数据库管理系统(RDBMS),广泛用于 Web 开发、数据存储等领域。本文将介绍 MySQL 中常用的 SQL 语句,包括数据库操作、表操作、数据查询、插入、更新和删除等常见操作。
一、数据库操作
1.1 创建数据库
CREATE DATABASE database_name;
此语句用于创建一个新的数据库,database_name
是数据库的名称。
1.2 选择数据库
USE database_name;
此语句用于选择当前操作的数据库。
1.3 显示所有数据库
SHOW DATABASES;
此语句用于列出 MySQL 中的所有数据库。
1.4 删除数据库
DROP DATABASE database_name;
此语句用于删除一个指定的数据库及其中的所有数据。
二、表操作
2.1 创建表
CREATE TABLE table_name (column1 datatype constraints,column2 datatype constraints,...
);
此语句用于创建一个新表。table_name
是表的名称,column1
、column2
是列名,datatype
是数据类型,constraints
是约束条件(如主键、外键等)。
示例:
CREATE TABLE employees (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(100),age INT,department VARCHAR(50)
);
2.2 显示所有表
SHOW TABLES;
此语句列出当前数据库中的所有表。
2.3 查看表结构
DESCRIBE table_name;
此语句显示表的结构信息,包括列名、数据类型、是否为空、主键等信息。
2.4 删除表
DROP TABLE table_name;
此语句删除一个指定的表及其中的数据。
2.5 修改表
2.5.1 添加列
ALTER TABLE table_name ADD column_name datatype;
示例:
ALTER TABLE employees ADD email VARCHAR(100);
2.5.2 修改列
ALTER TABLE table_name MODIFY COLUMN column_name new_datatype;
示例:
ALTER TABLE employees MODIFY COLUMN age TINYINT;
2.5.3 删除列
ALTER TABLE table_name DROP COLUMN column_name;
示例:
ALTER TABLE employees DROP COLUMN department;
三、数据操作
3.1 插入数据
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
此语句将一条记录插入到表中。
示例:
INSERT INTO employees (name, age, department)
VALUES ('Alice', 30, 'HR');
3.2 查询数据
SELECT column1, column2, ...
FROM table_name
WHERE condition;
此语句用于查询表中的数据,condition
是查询条件,可以省略来查询所有数据。
示例:
SELECT * FROM employees;
查询 employees
表中的所有数据。
3.3 更新数据
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
此语句用于更新表中的数据,condition
用于指定需要更新的数据行。
示例:
UPDATE employees
SET age = 31
WHERE name = 'Alice';
3.4 删除数据
DELETE FROM table_name
WHERE condition;
此语句用于删除符合条件的数据行。
示例:
DELETE FROM employees
WHERE name = 'Alice';
3.5 删除所有数据
TRUNCATE TABLE table_name;
此语句删除表中的所有数据,但不会删除表本身。
四、查询操作
4.1 查询所有数据
SELECT * FROM table_name;
此语句返回表中的所有数据。
4.2 查询指定列的数据
SELECT column1, column2 FROM table_name;
此语句只返回指定列的数据。
示例:
SELECT name, age FROM employees;
4.3 使用 WHERE
进行条件查询
SELECT * FROM table_name
WHERE condition;
此语句根据指定条件筛选数据。
示例:
SELECT * FROM employees
WHERE age > 30;
4.4 排序查询结果
SELECT * FROM table_name
ORDER BY column_name [ASC|DESC];
此语句按照指定列排序数据,ASC
表示升序,DESC
表示降序。
示例:
SELECT * FROM employees
ORDER BY age DESC;
4.5 限制查询结果
SELECT * FROM table_name
LIMIT number;
此语句限制查询返回的结果数量。
示例:
SELECT * FROM employees
LIMIT 5;
4.6 使用 AND
、OR
和 NOT
进行条件组合
SELECT * FROM table_name
WHERE condition1 AND condition2;
示例:
SELECT * FROM employees
WHERE age > 30 AND department = 'HR';
五、聚合函数
5.1 COUNT()
计算行数
SELECT COUNT(*) FROM table_name;
此语句返回表中记录的数量。
示例:
SELECT COUNT(*) FROM employees;
5.2 SUM()
计算总和
SELECT SUM(column_name) FROM table_name;
此语句返回指定列的总和。
示例:
SELECT SUM(age) FROM employees;
5.3 AVG()
计算平均值
SELECT AVG(column_name) FROM table_name;
此语句返回指定列的平均值。
示例:
SELECT AVG(age) FROM employees;
5.4 MAX()
和 MIN()
获取最大值和最小值
SELECT MAX(column_name) FROM table_name;
SELECT MIN(column_name) FROM table_name;
示例:
SELECT MAX(age) FROM employees;
SELECT MIN(age) FROM employees;
5.5 GROUP BY
分组查询
SELECT column_name, COUNT(*)
FROM table_name
GROUP BY column_name;
此语句根据指定列对数据进行分组。
示例:
SELECT department, COUNT(*)
FROM employees
GROUP BY department;
六、索引操作
6.1 创建索引
CREATE INDEX index_name
ON table_name (column_name);
此语句用于创建表的索引,index_name
为索引的名称,column_name
为需要建立索引的列。
示例:
CREATE INDEX idx_name ON employees (name);
6.2 删除索引
DROP INDEX index_name ON table_name;
此语句用于删除表的索引。
示例:
DROP INDEX idx_name ON employees;
七、联合查询
7.1 JOIN
联合查询
MySQL 支持几种常用的联接查询:INNER JOIN
、LEFT JOIN
、RIGHT JOIN
和 FULL OUTER JOIN
。
7.1.1 INNER JOIN
联接查询
SELECT columns
FROM table1
INNER JOIN table2
ON table1.column = table2.column;
此查询返回两个表中匹配的记录。
示例:
SELECT employees.name, departments.name
FROM employees
INNER JOIN departments
ON employees.department_id = departments.id;
7.1.2 LEFT JOIN
联接查询
SELECT columns
FROM table1
LEFT JOIN table2
ON table1.column = table2.column;
此查询返回左表的所有记录,以及右表中匹配的记录(没有匹配的记录返回 NULL
)。
示例:
SELECT employees.name, departments.name
FROM employees
LEFT JOIN departments
ON employees.department_id = departments.id;
八、总结
本文介绍了 MySQL 中常用的 SQL 语句,包括数据库的创建、查询、更新、删除操作,表的操作,数据的插入与查询,聚合函数的使用等。掌握这些基本的 MySQL 语句是你进行数据库操作的基础。希望这篇教程能帮助你更好地理解 MySQL 数据库的使用,并提高你的数据库管理能力。
如果你想深入了解更多高级功能或特性,可以参考 MySQL 官方文档。