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

MySQL 常用 SQL 语句大全

1. 基本查询
查询所有记录和字段

SELECT * FROM table_name;

查询特定字段

SELECT column1, column2 FROM table_name;

查询并限制结果

SELECT column1, column2 FROM table_name LIMIT 10;

条件查询

SELECT column1, column2 FROM table_name WHERE condition;

模糊匹配

SELECT column1 FROM table_name WHERE column2 LIKE 'pattern%';

匹配多个值

SELECT column1 FROM table_name WHERE column2 IN (value1, value2);

不匹配某些值

SELECT column1 FROM table_name WHERE column2 NOT IN (value1, value2);

2. 数据插入
插入单条记录

INSERT INTO table_name (column1, column2) VALUES (value1, value2);

插入多条记录

INSERT INTO table_name (column1, column2) VALUES (value1, value2), (value3, value4);

从另一个表插入数据

INSERT INTO table1 (column1, column2)
SELECT column1, column2 FROM table2 WHERE condition;

3. 数据更新
更新单条记录

UPDATE table_name SET column1 = value1 WHERE condition;

批量更新

UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;

基于其他表的更新(关联更新)

UPDATE table1
JOIN table2 ON table1.common_column = table2.common_columnSET table1.column1 = table2.column2
WHERE table2.condition;

4. 数据删除
删除单条记录

DELETE FROM table_name WHERE condition;

批量删除

DELETE FROM table_name WHERE condition;

删除表中的所有记录(也叫截断表)

TRUNCATE TABLE table_name;


5. 表操作
创建表

CREATE TABLE table_name (id INT AUTO_INCREMENT PRIMARY KEY,column1 VARCHAR(255) NOT NULL,column2 INT DEFAULT 0,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);


修改表结构

添加列

ALTER TABLE table_name ADD column_name VARCHAR(255);

删除列

ALTER TABLE table_name DROP COLUMN column_name;


修改列类型

ALTER TABLE table_name MODIFY column_name INT;

重命名列

ALTER TABLE table_name CHANGE old_column_name new_column_name VARCHAR(255);

删除表

DROP TABLE table_name;

删除数据库

DROP DATABASE database_name;

6. 索引管理
创建索引

CREATE INDEX index_name ON table_name (column_name);


创建唯一索引

CREATE UNIQUE INDEX index_name ON table_name (column_name);

删除索引

DROP INDEX index_name ON table_name;


7. 表连接
内连接(INNER JOIN)

SELECT * FROM table1
INNER JOIN table2 ON table1.common_column = table2.common_column;

左连接(LEFT JOIN)

SELECT * FROM table1
LEFT JOIN table2 ON table1.common_column = table2.common_column;

右连接(RIGHT JOIN)

SELECT * FROM table1
RIGHT JOIN table2 ON table1.common_column = table2.common_column;

全连接(FULL JOIN)

SELECT * FROM table1
LEFT JOIN table2 ON table1.common_column = table2.common_column
UNION
SELECT * FROM table1
RIGHT JOIN table2 ON table1.common_column = table2.common_column;


8. 聚合函数
计数

SELECT COUNT(*) FROM table_name;

平均值

SELECT AVG(column_name) FROM table_name;

总和

SELECT SUM(column_name) FROM table_name;

最大值

SELECT MAX(column_name) FROM table_name;

最小值

SELECT MIN(column_name) FROM table_name;

9. 分组与排序
分组

SELECT column1, COUNT(*) FROM table_name
GROUP BY column1;

排序

SELECT * FROM table_name
ORDER BY column1 ASC;SELECT * FROM table_name
ORDER BY column1 DESC;

分页

SELECT * FROM table_name
LIMIT 10 OFFSET 20;

10. 子查询
在 WHERE 子句中

SELECT * FROM table_name
WHERE column1 = (SELECT MAX(column1) FROM table_name);

在 FROM 子句中

SELECT * FROM (SELECT column1, column2 FROM table_name) AS subquery
WHERE condition;


11. 条件表达式
使用 CASE

SELECT column1,CASEWHEN condition1 THEN 'result1'WHEN condition2 THEN 'result2'ELSE 'default'END AS new_column
FROM table_name;


12. 事务管理


开始事务

START TRANSACTION;

提交事务

COMMIT;


回滚事务

ROLLBACK;


13. 备份与恢复


备份

mysqldump -u username -p database_name > backup_file.sql

恢复

mysql -u username -p database_name < backup_file.sql


14. 用户管理
创建用户

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

授予权限

GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host';

撤销权限

REVOKE ALL PRIVILEGES ON database_name.* FROM 'username'@'host';

删除用户

DROP USER 'username'@'host';


15. 表和数据库信息

查看表结构

DESCRIBE table_name;

查看数据库列表

SHOW DATABASES;

查看表列表

SHOW TABLES;

查看表的索引

SHOW INDEX FROM table_name;

查看表的创建语句

SHOW CREATE TABLE table_name;

16. 查询优化

查看查询计划

EXPLAIN SELECT * FROM table_name WHERE condition;

查看慢查询日志

SHOW VARIABLES LIKE 'slow_query_log';

启用慢查询日志:

SET GLOBAL slow_query_log = 'ON';

查看当前的数据库状态

SHOW STATUS;

17. 其他实用操作

计算字段的平均值和总和

SELECT column1, AVG(column2), SUM(column2) FROM table_name GROUP BY column1;

使用 GROUP_CONCAT 函数

SELECT column1, GROUP_CONCAT(column2) FROM table_name GROUP BY column1;

这些 SQL 语句和技巧覆盖了数据库操作的广泛领域,从基础查询到高级管理和优化。掌握这些可以帮助你更高效地管理和操作 MySQL 数据库。

相关文章:

MySQL 常用 SQL 语句大全

1. 基本查询 查询所有记录和字段 SELECT * FROM table_name; 查询特定字段 SELECT column1, column2 FROM table_name; 查询并限制结果 SELECT column1, column2 FROM table_name LIMIT 10; 条件查询 SELECT column1, column2 FROM table_name WHERE condition; 模糊匹…...

[Spring] Spring事务与事务的传播

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…...

Java 网络编程练习

InternetExercise1 package InternetExercise20240815;public class InternetExercise1 {public static void main(String[] args) {// 网络编程// 在网络通信协议下&#xff0c;不同计算机上面运行的程序&#xff0c;可以实现不同计算机上的数据传输// 网络编程三要素// 1.IP…...

中国科技统计年鉴,数据覆盖1991-2022年多年份

基本信息. 数据名称: 中国科技统计年鉴 数据格式: excel 数据时间: 1991-2022年 数据几何类型: xlsx 数据坐标系: WGS84 数据来源&#xff1a;国家统计局 数据预览&#xff1a; 数据可视化....

大模型的训练过程

大模型的训练是一个复杂的过程&#xff0c;涉及多个步骤和技术。下面我将概述大模型训练的主要流程&#xff0c;包括预训练、微调等关键阶段&#xff0c;并解释一些常见的技术和策略。 1. 数据准备 数据收集&#xff1a;收集大量多样化的数据&#xff0c;包括文本、图像、音频…...

4款ai在线改写工具,帮你轻松一键智能改写文章

在当今数字化内容创作的浪潮中&#xff0c;ai技术的应用为我们带来了极大的便利&#xff0c;尤其是在文章改写方面。以下将为大家详细分享四款出色的ai在线改写工具&#xff0c;从而帮助大家提升创作效率和质量。 ai在线改写工具一&#xff1a;智媒ai伪原创工具 它是一款备受好…...

Maven Mirror - 仓库镜像的介绍和配置

Maven Mirror&#xff08;Maven镜像&#xff09;是Maven构建工具中用于优化依赖下载速度和提高构建效率的一种机制。 在使用 Maven 构建应用程序时&#xff0c;Maven 默认会从 Maven 官方的中央仓库中下载依赖包。但是&#xff0c;在该仓库受到网络限制或访问速度过慢等问题时&…...

DevEcoStudio对Gitee进行变基与合并

当尝试将本地分支的更改推送到远程仓库&#xff0c;但是远程仓库中的该分支已经有了您本地分支中没有的提交时&#xff0c;会出现这个提示。 具体来说&#xff0c;这个提示意味着&#xff1a; 推送被拒绝&#xff1a;不能直接将更改推送到远程仓库&#xff0c;因为远程仓库中…...

2024 NVIDIA Summer Camp Day1:构建RAG多模态AI Agent

下载材料和课件等 课程相关资料下载链接: https://pan.baidu.com/s/15Y-gmsfeYCgKF-M3TJZVgg?pwdfafe 提取码: fafe 1.课件 链接&#xff1a;https://pan.baidu.com/s/15JTy9CqnesXSlPiwwrUmjA?pwd1111 提取码&#xff1a;1111 2.phi3量化大模型 链接&#xff1a;http…...

微服务之间的通信?

微服务之间的通信是微服务架构中的关键部分&#xff0c;它决定了服务之间如何进行数据交换和协同工作。微服务架构通过将大型应用拆分成多个小型、独立的服务&#xff0c;每个服务专注于完成特定的业务功能&#xff0c;从而提高了系统的可伸缩性、可维护性和可靠性。以下是微服…...

Elasticsearch 聚合概览及示例

Elasticsearch 是一个强大的搜索引擎&#xff0c;除了提供搜索功能外&#xff0c;它还内置了丰富的聚合功能&#xff0c;允许用户对数据进行统计、分析和运算。聚合可以帮助我们理解数据的分布和统计特性&#xff0c;是数据探索和报告的重要工具。本文将介绍 Elasticsearch 中的…...

【抓包】- Fiddler抓包教程,使用Fiddle抓取B站视频;ffmpeg的使用方法

一、预准备&#xff1a;过滤器设置 打开fiddler后&#xff0c;清空内容&#xff0c;然后播放视频。 找到与B站视频资源相关的回应&#xff0c;而后在“原始&#xff08;raw&#xff09;”标签中查看它的host信息。 发现B站视频资源的服务器DNS地址为【*bilivideo.cn】、【*bi…...

Linux网络配置和维护命令(三)

文章目录 网络接口配置-network-scripts文件远程复制文件-scp定义主机名与IP地址的关系-hosts文件登录远程主机-sshIP/主机名配置DNS域名解析服务器-resolv.conf文件 本篇讲解&#xff1a;网络接口配置-network-scripts文件、远程复制文件-scp、定义主机、名与IP地址的关系-hos…...

代码随想录算法训练营第二天 |209.长度最小子数组; 59.螺旋矩阵|| ; 前缀和

今日任务 209.长度最小子数组; 59.螺旋矩阵|| 58.区间和 44.开发商购买土地 209.长度最小的子数组 题目建议&#xff1a; 本题关键在于理解滑动窗口&#xff0c;这个滑动窗口看文字讲解 还挺难理解的&#xff0c;建议大家先看视频讲解。 拓展题目可以先不做。 题目链接&#xf…...

Go语言基础--数据类型(整型、字符型)

转义字符 常用的转义字符有如下: 1)\t : 表示一个制表符&#xff0c;通常使用它可以排版。 2)\n&#xff1a;换行符 3)\\&#xff1a;一个\ 4) \"&#xff1a;一个" 5)\r&#xff1a;一个回车 数据类型概述 在 Go 编程语言中&#xff0c;数据类型用于声明函数和变量…...

SpringBoot配置--Profile

目录 使用profile 的原因&#xff1f; proflie 的配置方式 多profile文件方式 profile 激活方式 1 配置文件 2 命令行参数 小结 使用profile 的原因&#xff1f; 用来完成不同环境下&#xff0c;配置动态切换功能的&#xff08;具体什么意思呢&#xff1f;假设你在A电脑…...

在Go中理解栈和先进先出原则

Go是一种功能强大的编程语言&#xff0c;提供了丰富的数据结构和算法。堆栈是计算机科学中的基本数据结构之一。在本博文中&#xff0c;我们将探讨如何在 Go 中实现和使用堆栈&#xff0c;以及堆栈如何遵循先进先出 (FIFO) 原则。 首先&#xff0c;让我们来看看堆栈是什么以及它…...

Ted靶机渗透测试

一、靶机下载地址 Ted: 1 ~ VulnHub 二、信息收集 1、主机发现 # 使用命令 nmap 192.168.145.0/24 -sn | grep -B 2 "00:0C:29:E2:36:FA" 2、端口扫描 # 使用命令 nmap 192.168.145.214 -p- -sV 3、指纹识别 # 使用命令 whatweb "http://192.168.145.214&…...

【chart.js】折线图给点添加点击事件

var mychart new Chart( ctx,{ type:line", … options:{ hover:{ // 此处最重要&#xff0c;决定是否能选中绑定的点 mode:“nearest” } &#xff0c; onClick:function(event,elements){ // 此为 被点击 的点 firstelement elements[0] // 这个点 属于第几个数据集合…...

旧手机NAS方案

这里写目录标题 1、参考2、alpine-term-v16.0-release.apk下载安装3、电脑端ssh连接3、安装docker3.1 网络配置3.2 配置APK源 1、参考 【Docker与Termux】闲置旧安卓手机上的NAS无缝部署方案 https://blog.csdn.net/AnRanGeSi/article/details/138717589 【Alpine Term】Andr…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API&#xff0c;用于在函数组件中使用 state 和其他 React 特性&#xff08;例如生命周期方法、context 等&#xff09;。Hooks 通过简洁的函数接口&#xff0c;解决了状态与 UI 的高度解耦&#xff0c;通过函数式编程范式实现更灵活 Rea…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时&#xff0c;与数据库的交互无疑是核心环节。虽然传统的数据库操作方式&#xff08;如直接编写SQL语句与psycopg2交互&#xff09;赋予了我们精细的控制权&#xff0c;但在面对日益复杂的业务逻辑和快速迭代的需求时&#xff0c;这种方式的开发效率和可…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper&#xff08;简称 DM&#xff09;是 Linux 内核中的一套通用块设备映射框架&#xff0c;为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程&#xff0c;并配以详细的…...