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&…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...
智能AI电话机器人系统的识别能力现状与发展水平
一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...
人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
