侧边栏壁纸
  • 累计撰写 52 篇文章
  • 累计创建 22 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

MySQL常用SQL语法指南

镇沛
2024-09-20 / 0 评论 / 0 点赞 / 15 阅读 / 0 字

MySQL,作为全球最流行的开源关系型数据库管理系统之一,其结构化查询语言(SQL)是数据存储、检索、更新和管理的核心。本指南旨在提供一份详实的参考,帮助初学者熟练掌握MySQL中的关键SQL语法。本指南将通过实际示例,深入浅出地讲解从数据查询到表管理的各项操作。

1. 基础查询

SELECT 语句

  • 简单查询:从表中选取所有列。

SELECT * FROM employees;
  • 指定列查询:只选取特定列。

SELECT first_name, last_name FROM employees;

WHERE 语句

用于过滤结果集。

SELECT * FROM employees WHERE age > 30;

ORDER BY 语句

对结果进行排序。

SELECT * FROM employees ORDER BY salary DESC;

LIMIT 语句

限制返回的结果数量。

SELECT * FROM employees LIMIT 10;

2. 数据操作

插入数据(INSERT)

INSERT INTO employees (first_name, last_name, age, position)
VALUES ('John', 'Doe', 32, 'Software Engineer');

更新数据(UPDATE)

UPDATE employees SET position = 'Senior Engineer' WHERE id = 1;

删除数据(DELETE)

DELETE FROM employees WHERE age < 25;

3. 聚合函数与分组

聚合函数

COUNT, SUM, AVG, MAX, MIN

SELECT COUNT(*) FROM employees;
SELECT AVG(salary) FROM employees;

GROUP BY

结合聚合函数使用,按某一列分组数据。

SELECT position, COUNT(*) FROM employees GROUP BY position;

4. 连接查询(JOIN)

INNER JOIN

结合两个表中匹配的行。

SELECT e.first_name, d.department_name
FROM employees e
INNER JOIN departments d ON e.department_id = d.id;

LEFT JOIN / RIGHT JOIN

分别显示左表/右表的所有记录,即使在另一表中没有匹配。

SELECT e.first_name, d.department_name
FROM employees e
LEFT JOIN departments d ON e.department_id = d.id;

5. 子查询

在查询内部嵌套另一个查询。

SELECT * FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees);

6. 创建与管理表

创建表(CREATE TABLE)

CREATE TABLE departments (
  id INT AUTO_INCREMENT PRIMARY KEY,
  department_name VARCHAR(255) NOT NULL
);

修改表结构(ALTER TABLE)

  • 添加列

ALTER TABLE employees ADD COLUMN hire_date DATE;
  • 修改列

ALTER TABLE employees MODIFY COLUMN salary DECIMAL(10,2);
  • 删除列

ALTER TABLE employees DROP COLUMN middle_name;

删除表(DROP TABLE)

DROP TABLE IF EXISTS departments;

7. 数据库管理

创建数据库(CREATE DATABASE)

CREATE DATABASE my_new_db;

使用数据库(USE)

USE my_new_db;

删除数据库(DROP DATABASE)

DROP DATABASE IF EXISTS my_new_db;

0

评论区