整理一份 MySQL 常用 SQL 语句大全,从基础操作到进阶查询,都涵盖。方便日常开发和学习参考。


1. 数据库操作

-- 查看所有数据库
SHOW DATABASES;-- 创建数据库
CREATE DATABASE db_name;-- 删除数据库
DROP DATABASE db_name;-- 使用数据库
USE db_name;-- 查看当前数据库
SELECT DATABASE();

2. 数据表操作

-- 查看所有表
SHOW TABLES;-- 查看表结构
DESCRIBE table_name;
-- 或
SHOW COLUMNS FROM table_name;-- 创建表
CREATE TABLE user (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50) NOT NULL,age INT,create_time DATETIME DEFAULT NOW()
);-- 删除表
DROP TABLE table_name;-- 修改表
ALTER TABLE user ADD email VARCHAR(100);
ALTER TABLE user DROP COLUMN age;
ALTER TABLE user MODIFY COLUMN name VARCHAR(100) NOT NULL;
ALTER TABLE user RENAME TO new_user;

3. 数据操作(增删改查)

-- 插入数据
INSERT INTO user (name, age) VALUES ('Alice', 25);
INSERT INTO user SET name='Bob', age=30;-- 更新数据
UPDATE user SET age=26 WHERE name='Alice';-- 删除数据
DELETE FROM user WHERE age < 20;-- 查询数据
SELECT * FROM user;
SELECT name, age FROM user WHERE age > 20;
SELECT name AS username, age FROM user;

4. 条件查询与排序

-- 条件查询
SELECT * FROM user WHERE age BETWEEN 20 AND 30;
SELECT * FROM user WHERE name LIKE 'A%';
SELECT * FROM user WHERE age IN (20, 25, 30);-- 排序
SELECT * FROM user ORDER BY age DESC, name ASC;

5. 聚合函数与分组

-- 聚合函数
SELECT COUNT(*) FROM user;
SELECT AVG(age) FROM user;
SELECT SUM(age) FROM user;
SELECT MAX(age), MIN(age) FROM user;-- 分组
SELECT age, COUNT(*) FROM user GROUP BY age;
SELECT age, AVG(salary) FROM user GROUP BY age HAVING AVG(salary) > 3000;

6. 多表查询(JOIN)

-- 内连接
SELECT u.name, d.department_name
FROM user u
JOIN department d ON u.department_id = d.id;-- 左连接
SELECT u.name, d.department_name
FROM user u
LEFT JOIN department d ON u.department_id = d.id;-- 右连接
SELECT u.name, d.department_name
FROM user u
RIGHT JOIN department d ON u.department_id = d.id;-- 自连接
SELECT a.name AS employee, b.name AS manager
FROM user a
JOIN user b ON a.manager_id = b.id;

7. 子查询

-- 单行子查询
SELECT name FROM user WHERE age = (SELECT MAX(age) FROM user);-- 多行子查询
SELECT name FROM user WHERE age IN (SELECT age FROM user WHERE age > 25);-- EXISTS 判断
SELECT name FROM user u WHERE EXISTS (SELECT 1 FROM department d WHERE d.id = u.department_id);

8. 排序与分页

-- 排序
SELECT * FROM user ORDER BY age DESC;-- 分页
SELECT * FROM user LIMIT 0, 10;  -- 从第1条开始取10条
SELECT * FROM user LIMIT 10 OFFSET 10; -- 跳过前10条取后10条

9. 索引操作

-- 创建索引
CREATE INDEX idx_name ON user(name);-- 创建唯一索引
CREATE UNIQUE INDEX idx_email ON user(email);-- 删除索引
DROP INDEX idx_name ON user;

10. 事务操作

-- 开启事务
START TRANSACTION;-- 提交事务
COMMIT;-- 回滚事务
ROLLBACK;-- 自动提交设置
SET autocommit=0; -- 关闭自动提交

11. 数据库函数(常用)

-- 字符串函数
SELECT CONCAT(name,'_',age) FROM user;
SELECT LENGTH(name) FROM user;
SELECT SUBSTRING(name,1,3) FROM user;
SELECT REPLACE(name,'A','B') FROM user;-- 日期函数
SELECT NOW();  -- 当前时间
SELECT CURDATE();  -- 当前日期
SELECT DATE_ADD(NOW(), INTERVAL 1 DAY);
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');-- 数学函数
SELECT ROUND(12.345,2);
SELECT CEIL(12.3);
SELECT FLOOR(12.9);
SELECT POW(2,3);

12. 权限管理

-- 创建用户
CREATE USER 'test'@'localhost' IDENTIFIED BY '123456';-- 授权
GRANT ALL PRIVILEGES ON db_name.* TO 'test'@'localhost';-- 查看权限
SHOW GRANTS FOR 'test'@'localhost';-- 删除用户
DROP USER 'test'@'localhost';

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/96540.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/96540.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/96540.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[iOS] 单例模式的深究

文章目录前言一、什么是单例模式二、单例模式的优缺点优点缺点三、模式介绍1.懒汉模式&#xff08;GCD & 互斥锁&#xff09;GCD 写法互斥锁写法&#xff08;双重检查锁&#xff09;2.饿汉模式总结懒汉式 互斥锁&#xff08;Mutex&#xff09;**懒汉式 GCD (dispatch_onc…

解决Discord.py中的/help命令问题

在使用Discord.py开发机器人时,常常会遇到一些常见的问题,比如命令找不到或者命令功能不符合预期。本文将详细探讨如何解决在使用@bot.slash_command定义/help命令时遇到的问题,并提供一个完整的实例来展示如何正确设置这个命令。 问题描述 当你在Discord机器人中输入/hel…

解决VSCode默认F5配置无法启动调试器的问题

前几天做笔试&#xff0c;最后一题代码有点问题&#xff0c;习惯性地按了个F5启动gdb发现居然爆炸了&#xff0c;报错找不到编译出来的二进制文件&#xff0c;看着像是默认配置的问题&#xff0c;由于时间紧迫最后只能用输出大法解决。 感觉不可理喻&#xff0c;几年前调程序的…

webrtc弱网-LossBasedBweV2类源码分析与算法原理

1. 核心功能LossBasedBweV2是WebRTC Google Congestion Control (GoogCC) 算法套件中的第二代基于丢包的带宽估计器。它的核心功能是&#xff1a;带宽估计&#xff1a; 根据网络数据包的丢失情况&#xff0c;估算当前网络路径可用的带宽上限。其核心假设是&#xff1a;当发送速…

AI代理化检索:智能信息获取新范式

代理化检索(Agentic Retrieval)是一种由AI代理自主管理的信息检索范式,通过动态规划、工具调用和多步推理提升复杂查询的处理能力。其核心机制、技术实现和应用特点如下: 一、核心机制 自主决策循环 代理通过循环执行"规划-行动-观察"流程处理查询: 规划阶段:…

Android Studio中的各种Java版本区别

Android Studio中的各种Java版本 创建一个项目&#xff0c;app模块的build.gradle.kts默认配置如下&#xff1a; plugins {alias(libs.plugins.android.application)alias(libs.plugins.kotlin.android) }android {namespace "cn.android666.javaversiontest"comp…

ubuntu新增磁盘扩展LV卷

登录平台 login as: wqbboy wqbboy172.17.2.86s password: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-153-generic x86_64)* Documentation: https://help.ubuntu.com* Management: https://landscape.canonical.com* Support: https://ubuntu.com/proSyst…

Day 16: GAN生成对抗网络专项 - 从博弈论到艺术创作的完整之旅

Day 16: GAN生成对抗网络专项 - 从博弈论到艺术创作的完整之旅 🎯 学习目标: 深度掌握生成对抗网络理论与实践,从博弈论基础到风格迁移应用的完整技术栈 ⏰ 学习时长: 6小时深度学习 (理论3小时 + 实践3小时) 🔧 技术栈: PyTorch + 数学推导 + 经典架构 + 实战应用 💡 核…

《QT 108好类》之16 QComboBox类

《QT 108好类》之16 QComboBox类QT 108好类之16 QComboBox类QComboBox类特性和应用场景QComboBox类继承关系QComboBox类使用1 简单使用2 表单输入3 使用自定义模型和视图4 完全自定义弹出窗口QComboBox类类使用效果QT 108好类之16 QComboBox类 QComboBox是 常用的下拉框&#…

项目模块划分

项目模块划分 服务端模块&#xff1a; 持久化数据管理中心模块 在数据管理模块中管理交换机&#xff0c;队列&#xff0c;队列绑定&#xff0c;消息等部分数据数据。 \1. 交换机管理&#xff1a; a. 管理信息&#xff1a;名称&#xff0c;类型&#xff0c;是否持久化标志&#…

小白也能看懂!OpenCV 从零开始安装配置全教程(包含Windows / Ubuntu / 树莓派)系统详细操作配置教程

小白也能看懂&#xff01;OpenCV 从零开始安装配置全教程&#xff08;包含Windows / Ubuntu / 树莓派&#xff09;系统详细操作配置教程 摘要 本教程是面向“小白也能懂”的OpenCV安装与配置全攻略&#xff0c;涵盖Windows、Ubuntu和树莓派三大平台&#xff0c;真正实现“从零…

【华为云】容器镜像服务 SWR 详解:从上传下载到 ModelArts 应用

前言 华为云容器镜像服务&#xff08;Software Repository for Container&#xff0c;简称 SWR&#xff09;是华为云提供的企业级容器镜像仓库服务。它支持 Docker 镜像的存储、管理和分发&#xff0c;为容器化应用提供安全可靠的镜像托管服务。本文将详细介绍 SWR 的核心功能…

计算机网络知识点梳理(一)概述:组成、发展、性能、体系结构等

目录 一、互联网 &#xff08;1&#xff09;特点 &#xff08;2&#xff09;网络的组成 &#xff08;3&#xff09;网络、互连网、因特网 &#xff08;4&#xff09;互联网发展的三个阶段 &#xff08;5&#xff09;标准化 &#xff08;6&#xff09;组成 二、计算机网…

不同行业视角下的数据分析

声明&#xff1a;以下部分内容含AI生成 基于行业维度来划分数据分析岗位&#xff0c;可以帮助我们更好地理解不同行业对数据分析技能、业务知识和职业发展的独特要求。 目录 一、总体框架&#xff1a;为什么行业维度如此重要&#xff1f; 二、主要行业划分及详细讲解 1. 互联…

「CTF」青少年CTF·雏形系统

题目&#xff1a; 解题过程 尝试随便输入点什么&#xff0c;没有结果 使用dirsearch扫描网址目录 可以看到有扫描到一个www.zip&#xff0c;zip文件大概率有需要的东西 网址后加上www.zip就能对该文件进行下载 文件解压缩后如下 打开qsnctf.php&#xff0c;代码内容如下 <…

Java实战项目演示代码及流的使用

project 准备牌->洗牌->发牌 import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.TreeSet;public class PokerGameplus {static HashMap<Integer,String> hs new HashMap<>();static ArrayList<Int…

使用 OpenLayers + 高德瓦片源实现旅游足迹地图

作为一个热爱旅行的开发者&#xff0c;我一直想要一个能够记录和展示自己旅游足迹的功能。市面上虽然有很多地图应用&#xff0c;但大多功能复杂&#xff0c;而我只需要一个简单直观的方式来标记去过的地方和想去的地方。 于是我决定在自己的个人网站上实现一个旅游足迹地图功…

Redis基础(含常用命令等以快速入门)

一、初步认识 1、NoSQL SQL 关系型数据库&#xff08;表结构&#xff0c;强一致&#xff09;NoSQL 非关系型数据库&#xff08;灵活结构&#xff0c;最终一致&#xff0c;水平扩展爽&#xff09; 维度SQL&#xff08;关系型&#xff09;NoSQL&#xff08;非关系型&#xf…

OSPF特殊区域、路由汇总及其他特性

OSPF路由器需要同时维护域内路由、域间路由、外部路由信息数据库。当网络规模不断扩大时&#xff0c;LSDB规模也不断增长。如果某区域不需要为其他区域提供流量中转服务&#xff0c;那么该区域内的路由器就没有必要维护本区域外的链路状态数据库。OSPF通过划分区域可以减少网络…

在缓存Cacheable注解中Key值如何使用常量

1.在常量类中定义商品缓存空间和商品缓存KEY public interface CacheConstants {/*** Goods Cache Name*/String QNA_GOODS_CACHE "qna-goods";/*** Goods Cache key*/String QNA_GOODS_CACHE_KEY "qna_goods:";/*** Order Cache Name*/String QNA_ORDER…