当前位置: 首页 > news >正文

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 是表的名称,column1column2 是列名,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 使用 ANDORNOT 进行条件组合

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 JOINLEFT JOINRIGHT JOINFULL 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 官方文档。

相关文章:

  • RAG技术解析:以Text2SQL为例看检索增强生成的全流程应用
  • C++学习笔记(四十)——STL之归约算法
  • Python Pandas实现ABC_manage_channel逻辑
  • JAVAEE初阶01
  • 【C语言】柔性数组
  • SEO新手快速上手核心步骤
  • 解释型语言和编译型语言
  • 部署yolo到k230教程
  • DataStreamAPI实践原理——计算模型
  • 类的高级特性与语法细节
  • 线程池(五):线程池使用场景问题
  • Qt软件开发-摄像头检测使用软件V1.1
  • Redis和MQ的区别
  • SMT贴片加工费控制与优化实践指南
  • 基于大模型的急性肠套叠全流程预测与诊疗方案研究报告
  • JVM考古现场(二十六):执剑人·降维打击的终极审判
  • puppeteer注入浏览器指纹过CDP
  • PyTabKit:比sklearn更强大的表格数据机器学习框架
  • 2025.04.26-淘天春招笔试题-第一题
  • C#进阶学习(十四)反射的概念以及关键类Type
  • 洛阳原副市长收礼品消费卡,河南通报6起违反八项规定典型问题
  • 共话城市自然之美,“微观黄浦”自媒体网络大V沙龙首场活动举行
  • 上海五五购物节首次推出商圈精品推广节,9个商圈近百个商场参与促销
  • 养胃不是顿顿喝粥,这份“胃的使用说明书”请收好
  • 范福生受审:任高密市长、市委书记时滥用职权,致公共财产利益重大损失
  • 新《火灾统计管理规定》即将施行,火灾死亡统计时限延长