MySQL命令
目录
1、初级
一、连接和退出
1. 连接到 MySQL
2. 退出 MySQL
二、数据库操作
1. 显示数据库列表
2. 创建数据库
3. 使用数据库
4. 删除数据库
三、表操作
1. 显示当前数据库中的表
2. 创建表
3. 查看表结构
4. 删除表
5. 修改表
四、数据操作
1. 插入数据
2. 查询数据
3. 更新数据
4. 删除数据
五、用户管理
1. 创建用户
2. 授予权限
3. 查看用户权限
4. 撤销权限
5. 删除用户
六、备份和恢复
1. 备份数据库
2. 恢复数据库
七、常用高级命令
1. 查看正在运行的查询
2. 杀死一个查询
3. 查看表状态
4. 查看服务器状态
2、高级
一、分页查询
1. 使用 LIMIT 和 OFFSET
2. 示例
二、嵌套查询(子查询)
1. 基本嵌套查询
2. 示例
3. 使用 IN 和子查询
4. 示例
三、联合查询(JOIN)
1. 内连接 (INNER JOIN)
2. 左连接 (LEFT JOIN)
3. 右连接 (RIGHT JOIN)
4. 示例
四、其他高级查询
1. 计算字段(计算列)
2. 使用 CASE 实现条件逻辑
3. 分组和聚合
1、初级
MySQL 提供了丰富的命令集用于数据库管理和操作。以下是一些常用的 MySQL 命令,按功能分类:
一、连接和退出
1. 连接到 MySQL
mysql -u username -p
提示输入密码后,输入你指定的用户名和密码。
2. 退出 MySQL
exit;
二、数据库操作
1. 显示数据库列表
SHOW DATABASES;
2. 创建数据库
CREATE DATABASE database_name;
3. 使用数据库
USE database_name;
4. 删除数据库
DROP DATABASE database_name;
三、表操作
1. 显示当前数据库中的表
SHOW TABLES;
2. 创建表
CREATE TABLE table_name (column1_name column1_datatype,column2_name column2_datatype,... );
3. 查看表结构
DESCRIBE table_name;
4. 删除表
DROP TABLE table_name;
5. 修改表
-
添加列:
ALTER TABLE table_name ADD column_name column_datatype;
-
删除列:
ALTER TABLE table_name DROP COLUMN column_name;
-
修改列:
ALTER TABLE table_name MODIFY COLUMN column_name column_datatype;
四、数据操作
1. 插入数据
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
2. 查询数据
SELECT column1, column2, ... FROM table_name;
-
查询所有列:
SELECT * FROM table_name;
-
带条件查询:
SELECT * FROM table_name WHERE condition;
3. 更新数据
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
4. 删除数据
DELETE FROM table_name WHERE condition;
五、用户管理
1. 创建用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
2. 授予权限
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host';
-
刷新权限:
FLUSH PRIVILEGES;
3. 查看用户权限
SHOW GRANTS FOR 'username'@'host';
4. 撤销权限
REVOKE ALL PRIVILEGES ON database_name.* FROM 'username'@'host';
5. 删除用户
DROP USER 'username'@'host';
六、备份和恢复
1. 备份数据库
在命令行中使用 mysqldump 工具:
mysqldump -u username -p database_name > backup_file.sql
2. 恢复数据库
在命令行中使用 mysql 工具:
mysql -u username -p database_name < backup_file.sql
七、常用高级命令
1. 查看正在运行的查询
SHOW PROCESSLIST;
2. 杀死一个查询
KILL query_id;
3. 查看表状态
SHOW TABLE STATUS LIKE 'table_name';
4. 查看服务器状态
SHOW STATUS;
MySQL 的分页查询和嵌套查询是常用的高级查询操作。以下是这些查询的详细说明和示例。
2、高级
一、分页查询
分页查询用于从大量数据中分段获取数据,从而提高查询效率和用户体验。
1. 使用 LIMIT 和 OFFSET
LIMIT 用于指定返回记录的最大数量,OFFSET 用于指定起始位置。
SELECT column1, column2, ... FROM table_name LIMIT limit OFFSET offset;
2. 示例
假设你有一个名为 employees 的表,包含员工信息,每页显示 10 条记录:
-
第一页:
SELECT * FROM employees LIMIT 10 OFFSET 0;
-
第二页:
SELECT * FROM employees LIMIT 10 OFFSET 10;
-
第三页:
SELECT * FROM employees LIMIT 10 OFFSET 20;
二、嵌套查询(子查询)
嵌套查询是指在一个 SQL 查询中嵌套另一个查询,通常用于条件过滤、数据筛选等场景。
1. 基本嵌套查询
在 WHERE 子句中使用子查询:
SELECT column1, column2, ... FROM table_name WHERE column_name = (SELECT column_name FROM another_table WHERE condition);
2. 示例
假设你有两个表 employees 和 departments,分别存储员工和部门信息,你希望查找属于特定部门的所有员工。
-
查找部门名称为 "Sales" 的部门 ID:
SELECT department_id FROM departments WHERE department_name = 'Sales';
-
使用子查询查找属于 "Sales" 部门的所有员工:
SELECT employee_name FROM employees WHERE department_id = (SELECT department_id FROM departments WHERE department_name = 'Sales');
3. 使用 IN 和子查询
当子查询返回多个结果时,可以使用 IN 关键字:
SELECT column1, column2, ... FROM table_name WHERE column_name IN (SELECT column_name FROM another_table WHERE condition);
4. 示例
查找属于多个部门的员工:
SELECT employee_name
FROM employees
WHERE department_id IN (SELECT department_id FROM departments WHERE department_name IN ('Sales', 'Marketing'));
三、联合查询(JOIN)
联合查询用于从多个表中查询相关数据。
1. 内连接 (INNER JOIN)
返回两个表中满足连接条件的记录。
SELECT a.column1, b.column2, ... FROM table1 a INNER JOIN table2 b ON a.common_column = b.common_column;
2. 左连接 (LEFT JOIN)
返回左表的所有记录及其匹配的右表记录。
SELECT a.column1, b.column2, ... FROM table1 a LEFT JOIN table2 b ON a.common_column = b.common_column;
3. 右连接 (RIGHT JOIN)
返回右表的所有记录及其匹配的左表记录。
SELECT a.column1, b.column2, ... FROM table1 a RIGHT JOIN table2 b ON a.common_column = b.common_column;
4. 示例
假设有两个表 employees 和 departments,分别存储员工和部门信息:
-
内连接查询员工及其所在部门:
SELECT e.employee_name, d.department_name FROM employees e INNER JOIN departments d ON e.department_id = d.department_id;
-
左连接查询所有员工及其所在部门(包括没有分配部门的员工):
SELECT e.employee_name, d.department_name FROM employees e LEFT JOIN departments d ON e.department_id = d.department_id;
-
右连接查询所有部门及其员工(包括没有员工的部门):
SELECT e.employee_name, d.department_name FROM employees e RIGHT JOIN departments d ON e.department_id = d.department_id;
四、其他高级查询
1. 计算字段(计算列)
在查询中对字段进行计算:
SELECT column1, (column2 * column3) AS computed_column FROM table_name;
2. 使用 CASE 实现条件逻辑
SELECT employee_name,CASE WHEN salary >= 50000 THEN 'High'WHEN salary >= 30000 THEN 'Medium'ELSE 'Low'END AS salary_level FROM employees;
3. 分组和聚合
使用 GROUP BY 和聚合函数(如 COUNT, SUM, AVG):
SELECT department_id, COUNT(*) FROM employees GROUP BY department_id;
相关文章:
MySQL命令
目录 1、初级 一、连接和退出 1. 连接到 MySQL 2. 退出 MySQL 二、数据库操作 1. 显示数据库列表 2. 创建数据库 3. 使用数据库 4. 删除数据库 三、表操作 1. 显示当前数据库中的表 2. 创建表 3. 查看表结构 4. 删除表 5. 修改表 四、数据操作 1. 插入数据 2.…...
装本地知识库
装本地知识库 给大模型添加RAG知识库和搜索的功能 1.安装phidata pip install -U phidata在github将该项目拉取下来,后续步骤的很多内容可以直接使用该项目中给的例子,进行简单修改就可直接使用。 2.安装向量知识库,使用的docker docker …...
Django模板层——模板引擎配置
作为Web 框架,Django 需要一种很便利的方法以动态地生成HTML。最常见的做法是使用模板。 模板包含所需HTML 输出的静态部分,以及一些特殊的语法,描述如何将动态内容插入。 模板引擎配置 模板引擎使用该TEMPLATES设置进行配置。这是一个配置列…...
Leetcode刷题笔记2:数组基础2
导语 leetcode刷题笔记记录,本篇博客记录数组基础1部分的题目,主要题目包括: 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II 知识点 滑动窗口 所谓滑动窗口,就是不断的调节子序列的起始位…...
整理好了!2024年最常见 20 道 Redis面试题(八)
上一篇地址:整理好了!2024年最常见 20 道 Redis面试题(七)-CSDN博客 十五、Redis 的性能调优有哪些方法? Redis的性能调优是一个多方面的工作,涉及到硬件、配置、代码层面的优化等多个方面。以下是一些常…...
【STM32项目】基于stm32智能鱼缸控制系统的设计与实现(完整工程资料源码)
实物演示效果 基于stm32智能鱼缸控制系统的设计与实现 目录: 实物演示效果 目录: 一、 绪论...
深入理解 Mysql 分层架构:从存储引擎到查询优化器的内部机制解析
一、基础架构 1.连接器 1.会先连接到这个数据库上,这时候接待你的就是连接器。连接器负责跟客户端建立连接、获取权限、维持和管理连接 2.用户密码连接成功之后,会从权限表中拿出你的权限,后续操作权限都依赖于此时拿出的权限,这就意味着当链…...
Java筑基(三)
Java筑基(三) 一、final概念1、案例1:采用继承:2、案例2:final修饰的类不可以被继承:3、案例3:final修饰的类不能有子类,但是可以有父类4、final修饰构造方法5、final修饰普通方法6、…...
Zoho Campaigns邮件营销怎么发邮件?
Zoho Campaigns,作为业界领先的邮件营销平台,以其强大的功能、用户友好的界面以及深度的分析能力,为企业提供了一站式的邮件营销解决方案,助力企业高效地触达目标受众,构建并巩固庞大的客户基础。云衔科技为企业提供Zo…...
Qt 界面上字体自适应控件大小 - 随控件缩放
Qt 界面上字体自适应控件大小 - 随控件缩放 引言一、设计思路二、进阶版大致思路三、参考链接 引言 Qt控件自适应字体大小可以用adjustSize()函数,但字体自适应控件大小并没有现成的函数可调. - 本文实现了按钮上的字体随按钮大小变化而变化 (如上图所示) - 其他控件…...
【Python】 使用SMOTE解决数据不平衡问题
原谅把你带走的雨天 在渐渐模糊的窗前 每个人最后都要说再见 原谅被你带走的永远 微笑着容易过一天 也许是我已经 老了一点 那些日子你会不会舍不得 思念就像关不紧的门 空气里有幸福的灰尘 否则为何闭上眼睛的时候 又全都想起了 谁都别说 让我一个人躲一躲 你的承诺 我竟然没怀…...
Redis第18讲——Redis和Redission实现延迟消息
即使不是做电商业务的同学,也一定知道订单超时关闭这种业务场景,这个场景大致就是用户下单后,如果在一定时间内未支付(比如15分钟、半小时),那么系统就会把这笔订单给关闭掉。这个功能实现的方式有很多种&a…...
返回枚举类给前端
1. 前言 在实际开发过程中,前端的下拉框或者单选按钮的内容通常的需要和后端匹配的,故一般会由后端将下拉框的内容或单选框的内容传给前端,而这些内容在后端一般是由枚举类存储的,如果后端直接返回枚举类,返回结果将会…...
A. Maximize?
time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You are given an integer x𝑥. Your task is to find any integer y𝑦 (1≤y<x)(1≤𝑦<𝑥) su…...
RBAC 动态权限
文章目录 前言一、RBAC(Role-Based Access Control,基于角色的访问控制)二、Java实现RBAC 权限的大概思路1. 添加依赖2. 配置MyBatis-Plus和数据源1. 添加依赖2. 实体类与Mapper接口UserMapper.java 3. 配置MyBatis-Plus4. 自定义UserDetails…...
c语言:模拟strlen(三种方法)最全版本
1.计数的方法 #include <stdio.h> #include <assert.h> int my_strlen(const char * str)//const的使用优化 {int count0;assert(str)while(*str){count;str;}return count; } 2.用指针的方法(指针-指针) #include <stdio.h> #incl…...
线性模型--普通最小二乘法
线性模型 一、模型介绍二、用于回归的线性模型2.1 线性回归(普通最小二乘法) 一、模型介绍 线性模型是在实践中广泛使用的一类模型,该模型利用输入特征的线性函数进行预测。 二、用于回归的线性模型 以下代码可以在一维wave数据集上学习参…...
移动云以深度融合之服务,令“大”智慧贯穿云端
移动云助力大模型,开拓创新领未来。 云计算——AI模型的推动器。 当前人工智能技术发展的现状和趋势,以及中国在人工智能领域的发展策略和成就。确实,以 ChatGPT 为代表的大型语言模型在自然语言处理、文本生成、对话系统等领域取得了显著的…...
簡述vue常用指令
Vue.js 提供了许多内置指令,这些指令用于在模板中添加特殊功能。以下是一些 Vue 的常用内置指令的简要说明: v-text: 更新元素的 textContent。示例:<span v-text"message"></span> v-html: 更…...
【建议收藏】用AI快速生成一个网页(名侦探柯南~灰原哀主题网页),适合大学生web期末大作业
下面是提供给AI的提示词和AI给出的代码以及成果展示 1、生成一个网页导航栏,宽度为1300px,高度为60px。导航区域在导航栏最右侧不超出导航栏,高60px,宽度500px,里面是5个导航菜单项横向排列,每个宽度100px&…...
产教融合共建失智老年人照护实训室实践路径
本文围绕产教融合模式,结合失智老年人照护岗位实际需求,从合作机制、空间布局、设备配置、教学实施、运营保障五个核心维度,给出可落地的失智老年人照护实训室共建实践路径,兼顾实用性与可操作性,助力院校与企业高效共…...
Unity发布京东小游戏瞻
从 UI 工程师到 AI 应用架构者 13 年前,我的工作是让按钮在 IE6 上对齐; 13 年后,我用 fetch-event-source 订阅大模型的“思维流”,用 OCR 解锁图片中的文字——前端,正在成为 AI 产品的第一道体验防线。 最近&#x…...
2025最权威的六大AI论文神器实际效果
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 关于论文一键生成的技术,它借助了先进的自动化算法,还有自然语言处理…...
Java RAG入门基础教程(非常详细),用LangChain4j构建问答系统看这篇就够了!
1. 引言:为什么需要 RAG 1.1 大模型的局限性 在使用大语言模型(LLM)时,我们常常遇到以下问题: ❌ 问题 1:模型不知道企业内部信息用户:我们公司的年假政策是什么?AI:抱…...
5分钟上手libhv:用自带httpd和curl工具快速搭建本地测试服务
5分钟实战libhv:零配置构建高效本地HTTP测试环境 第一次听说libhv时,我正被一个紧急的前后端联调任务逼得焦头烂额。当时需要快速搭建一个模拟API服务,但Node.js环境配置卡在了权限问题上,Python的SimpleHTTPServer又无法满足复杂…...
1705.0亿元!企业互联网解决方案市场扩容,为产业升级筑牢数字底座
在数字化浪潮席卷全球的当下,企业对高效、安全且可扩展的互联网和云资源访问需求愈发迫切。企业互联网解决方案作为企业级连接服务和托管网络功能的关键载体,正成为企业数字化转型的重要支撑。据恒州诚思调研统计,2025年全球企业互联网解决方…...
OpenCV傅里叶变换实战:图像频域分析与C++实现
1. 傅里叶变换:从数学公式到图像处理 第一次接触傅里叶变换时,我完全被那些复杂的数学公式吓到了。直到后来在实际项目中用它解决了图像去噪问题,才真正理解这个"数学魔法"的威力。简单来说,傅里叶变换就像给图像做X光检…...
UNet人脸融合作品集:这些换脸效果太惊艳了!
UNet人脸融合作品集:这些换脸效果太惊艳了! 1. 前言:当AI遇见人脸融合 想象一下,你有一张喜欢的风景照,但照片里的人物表情不够完美;或者你想看看自己如果长着明星的五官会是什么样子。这些在过去需要专业…...
CefFlashBrowser:拯救Flash游戏的终极方案,你的童年记忆有救了!
CefFlashBrowser:拯救Flash游戏的终极方案,你的童年记忆有救了! 【免费下载链接】CefFlashBrowser Flash浏览器 / Flash Browser 项目地址: https://gitcode.com/gh_mirrors/ce/CefFlashBrowser 还记得那些年我们一起在4399、7k7k网站…...
FPGA JESD204B链路调试实战:从时钟配置到同步状态解析
1. JESD204B接口基础:关键参数解析 第一次接触JESD204B接口时,我被那一堆参数搞得晕头转向。M、N、N、F、K这些字母组合看起来像密码一样,但理解它们对后续调试至关重要。让我用最直白的语言帮你梳理清楚。 M代表转换器数量,这个最…...
