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

MySQL常用命令之汇总(Summary of Commonly Used Commands in MySQL)

MySQL常用命令汇总

简介

‌MySQL是一个广泛使用的开源关系型数据库管理系统,由瑞典的MySQL AB公司开发,现属于Oracle公司。‌ MySQL支持SQL(结构化查询语言),这是数据库操作的标准语言,用户可以使用SQL进行数据查询、插入、更新和删除操作。‌

MySQL的主要特点包括:

  • 开源‌:用户可以免费下载、使用和修改其源代码,尽管现在属于Oracle公司,但其社区版仍然保留开源模式。
  • 高性能和扩展性‌:MySQL能够处理从小型应用程序到大型系统的多种数据工作负载,适合高并发的在线事务处理(OLTP)系统。
  • 跨平台支持‌:MySQL支持多种操作系统,包括Linux、Windows和macOS,这使得它可以在不同的开发环境中广泛使用。
  • 多种存储引擎‌:MySQL支持多种存储引擎,如InnoDB和MyISAM,用户可以根据具体需求选择适合的引擎。

MySQL的应用场景非常广泛,特别是在网络应用中十分流行。许多Web开发框架(如PHP、Python的Django)都可以与MySQL无缝集成,适用于内容管理系统(CMS)、电子商务、社交媒体平台等方面。

MySQL命令是很多的,如果全面列出的话,篇幅较长,我在这里面只是罗列了一些常用的,供大家参考。

1. 登录与退出

登录 MySQL

mysql [OPTIONS]mysql -uroot -p
选项说明示例
-u指定用户名-u root
-p提示输入密码(密码可跟在后面但不安全)-p1234 或 -p
-h指定主机名(默认 localhost)-h 192.168.1.100
-P指定端口(默认 3306)-P 3307
--ssl启用 SSL 安全连接--ssl
--socket指定套接字文件--socket=/tmp/mysql.sock
--database登录后直接使用指定数据库--database=testdb

退出 MySQL

SQL> exit;

或:

SQL> quit;

2. 数据库管理

查看数据库列表

show databases;

创建数据库

CREATE DATABASE 数据库名 [OPTIONS];CREATE DATABASE mydb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
选项说明示例
DEFAULT CHARACTER SET设置数据库的默认字符集DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE设置数据库的排序规则(与字符集匹配)DEFAULT COLLATE utf8mb4_general_ci

删除数据库

drop databases 数据库名;

使用指定数据库

USE 数据库名;
use mysql;

查看当前使用的数据库

SELECT DATABASE();

查看数据库大小

SELECT table_schema AS 数据库名,ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS 大小_MB
FROM information_schema.tables
GROUP BY table_schema;

3. 表管理

查看当前数据库的所有表

SHOW TABLES;

查看表结构

DESC 表名;

或:

SHOW COLUMNS FROM 表名;

创建表

CREATE TABLE 表名 (列名 数据类型 [约束条件],...
) [OPTIONS];CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50) NOT NULL,email VARCHAR(100) UNIQUE,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
选项说明示例
ENGINE设置存储引擎(如 InnoDB、MyISAM)ENGINE=InnoDB
DEFAULT CHARSET设置表的默认字符集DEFAULT CHARSET=utf8mb4
AUTO_INCREMENT指定自增主键id INT AUTO_INCREMENT PRIMARY KEY

查看表的创建语句

SHOW CREATE TABLE 表名;

修改表结构

添加列:

ALTER TABLE 表名 ADD 列名 数据类型 [位置];

位置:FIRST(在最前),AFTER 列名(在指定列后)。

修改列:

ALTER TABLE 表名 MODIFY 列名 数据类型;

删除列:

ALTER TABLE 表名 DROP 列名;

重命名列:

ALTER TABLE 表名 CHANGE 原列名 新列名 数据类型;

删除表

DROP TABLE 表名;

清空表(保留结构)

TRUNCATE TABLE 表名;

4. 数据操作

插入数据

INSERT INTO 表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...);INSERT INTO users (name, email) VALUES ('Alice', 'liyb@example.com');

批量插入

INSERT INTO 表名 (列名1, 列名2) VALUES
(值1, 值2),
(值3, 值4),
(值5, 值6);

查询数据

SELECT 列名1, 列名2, ... FROM 表名 [WHERE 条件] [ORDER BY 列名 ASC|DESC] [LIMIT 偏移量, 行数];SELECT * FROM users WHERE email LIKE '%example.com' ORDER BY created_at DESC LIMIT 10;

常用子句:

子句说明示例
WHERE指定条件WHERE age > 30
ORDER BY排序结果集ORDER BY name ASC
LIMIT限制返回行数,支持偏移量LIMIT 5 OFFSET 10
GROUP BY按列分组GROUP BY department
HAVING筛选分组结果HAVING COUNT(*) > 1

更新数据

UPDATE 表名 SET 列名1=值1, 列名2=值2 WHERE 条件;

示例:

UPDATE users SET email='new_email@example.com' WHERE name='Alice';

删除数据

DELETE FROM 表名 WHERE 条件;DELETE FROM users WHERE id=10;

5. 用户管理

创建用户

CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'mypassword';
参数说明示例
'用户名'用户名'testuser'
'主机'用户允许访问的主机(% 表示任意主机)'localhost' 或 '%'
'密码'用户密码'password123'

修改用户密码

ALTER USER '用户名'@'主机' IDENTIFIED BY '新密码';ALTER USER 'testuser'@'localhost' IDENTIFIED BY 'newpassword123';

删除用户

DROP USER '用户名'@'主机';

授予权限

GRANT 权限列表 ON 数据库.表 TO '用户名'@'主机';
权限说明
ALL PRIVILEGES授予所有权限
SELECT允许读取表中的数据
INSERT允许向表中插入数据
UPDATE允许修改表中的数据
DELETE允许删除表中的数据
CREATE允许创建数据库和表
DROP允许删除数据库和表
GRANT SELECT, INSERT ON mydb.* TO 'testuser'@'localhost';

撤销权限

REVOKE 权限列表 ON 数据库.表 FROM '用户名'@'主机';REVOKE INSERT ON mydb.* FROM 'testuser'@'localhost';

刷新权限

FLUSH PRIVILEGES;

6. 性能优化

查看查询执行计划

EXPLAIN SELECT 查询语句;
EXPLAIN SELECT * FROM users WHERE email='test@example.com';

优化表

OPTIMIZE TABLE 表名;

慢查询查看

SHOW VARIABLES LIKE 'slow_query_log';

启用慢查询:

SET GLOBAL slow_query_log=1;

检查表

CHECK TABLE 表名;

修复表

REPAIR TABLE 表名;

相关文章:

MySQL常用命令之汇总(Summary of Commonly Used Commands in MySQL)

MySQL常用命令汇总 简介 ‌MySQL是一个广泛使用的开源关系型数据库管理系统,由瑞典的MySQL AB公司开发,现属于Oracle公司。‌ MySQL支持SQL(结构化查询语言),这是数据库操作的标准语言,用户可以使用SQL进…...

六年之约day10

今日开心∶今天部门开了个颁奖大会,看着别人收获的荣誉,还真有些羡慕,什么时候,我也能拥有属于自己的荣誉啊. 今日不开心∶活没干多少,对业务也不是很懂 今日思考∶很多事情,存在即合理.工作,…...

springboot和vue配置https请求

项目场景: 代码发布到线上使用https请求需要配置ssl证书,前后端都需要修改。 问题描述 如图,我们在调用接口时报如下错误,这就是未配置ssl但是用https请求产生的问题。 解决方案: 前端:在vite.config.js文…...

selenium遇见伪元素该如何处理?

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 问题发生 在很多前端页面中,大家会见到很多::before、::after 元素,比如【百度流量研究院】: 比如【百度疫情大数…...

慧集通(DataLinkX)iPaaS集成平台-数据质量

1.什么是数据质量 介绍: 数据质量的主要作用就是记录组件写入的数据,及执行时的相关信息,如执行的最终状态(成功,失败,进行中等),执行的时间(创建时间,修改时…...

微软发布AIOpsLab:一个开源的全面AI框架,用于AIOps代理

在当今这个云计算技术迅猛发展的时代,企业面临着前所未有的挑战与机遇。随着云基础设施的日益复杂化,它们成为了企业运营不可或缺的支柱。网站可靠性工程师(Site Reliability Engineers,简称SRE)和DevOps团队肩负着关键…...

ElasticSearch | Elasticsearch与Kibana页面查询语句实践

关注:CodingTechWork 引言 在当今大数据应用中,Elasticsearch(简称 ES)以其高效的全文检索、分布式处理能力和灵活的查询语法,广泛应用于各类日志分析、用户行为分析以及实时数据查询等场景。通过 ES,用户…...

12.C语言中的struct详解:定义、赋值、指针、嵌套与位字段

目录 1.简介2.struct 的复制3.struct 指针4.struct 的嵌套5.位字段6.弹性数组成员 1.简介 本篇原文为:C语言中的struct详解:定义、赋值、指针、嵌套与位字段。 更多C进阶、rust、python、逆向等等教程,可点击此链接查看:酷程网 …...

文件读写到SQLite数据库的方法

在 SQLite 数据库中,将文件读写到数据库的常见方法主要有以下几种: 1. 将文件以 BLOB 类型存储 BLOB(Binary Large Object) 是 SQLite 中的二进制数据类型,可以直接用来存储文件内容。 步骤: 创建表 创建一…...

springboot项目部署至linux

1.修改pom.xml 确认是否有以下代码&#xff0c;没有请进行添加&#xff0c;mainClass改成你的启动类 <plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.ve…...

使用sed命令封装自定义dos2unix脚本

使用sed命令封装自定义dos2unix脚本 创建 `dos2unix` 脚本使用自定义的 `dos2unix` 脚本注意事项要将 sed -i 封装为一个简单的 dos2unix 脚本,你可以创建一个 Bash 脚本文件,该文件接受文件名作为参数,并使用 sed 命令来删除文件中的 DOS 回车符(\r)。以下是一个基本的实…...

调整Python+Pytest+Allure+Yaml+Pymysql框架中需要执行的用例顺序

当pytest框架中有时时候会因为用例的前后关联关系需要调整用例执行顺序时则可以跟进具体的要求调整pytest.ini配置文件中执行用例文件夹的前后顺序 当如果是需要调整某个文件夹中用例的执行顺序时&#xff0c;则跟进具体的文件调整对应testcases中test_*.py文件中的执行顺序...

带内管理和带外管理

带内管理&#xff08;In-Band Management&#xff09; 概述 带内管理是一种借助生产网络来传输管理数据的网络管理方式&#xff0c;其管理流量与业务流量共享相同的网络路径。 特点 共享网络路径&#xff1a;管理数据和业务数据一同使用现有的网络基础设施&#xff0c;在同…...

【操作系统】阻塞非阻塞I/O、同步异步I/O

阻塞I/O&#xff1a;程序发起I/O操作时&#xff0c;程序被挂起&#xff0c;直到I/O操作完成并返回结果。在这个过程中&#xff0c;程序会被阻塞无法执行其他任务。适用于简单、低并发的场景。 非阻塞I/O&#xff1a;程序发起I/O操作时&#xff0c;不会等待&#xff0c;立即返回…...

spring cloud alibaba-dubbo3 rpc运行原理

Dubbo3 运行原理 Dubbo3 是 Apache Dubbo 的最新版本&#xff0c;是一个高性能、轻量级的分布式服务框架&#xff0c;支持微服务架构。相比 Dubbo2&#xff0c;它在协议、扩展性、服务治理、流控等方面做了大量改进&#xff0c;特别是引入了 Triple 协议&#xff0c;使其更加适…...

【Uniapp-Vue3】computed计算属性用法及方法对比

如果我们想要将两个响应式变量进行某种运算&#xff0c;就可以使用computed计算属性。 比如下面这个例子中&#xff0c;输入名和姓合成全名&#xff0c;可以用直接显示的方法&#xff1a; 我们也可以使用computed属性&#xff1a; import {computed} from "vue"; le…...

web实操10——Filter和Listener

Filter介绍 web三大组件&#xff1a;servlet&#xff0c;filter, lisenter。 Filter快速入门 步骤 拦截路径&#xff1a;你访问什么样的资源&#xff0c;过滤器会生效&#xff0c;包括静态资源&#xff0c;动态资源。 配置&#xff1a;两种配置方式 代码实现 代码&#…...

Spring中,出现依赖不完全注入后才执行逻辑

1. Bean生命周期机制 Spring管理的Bean是通过生命周期回调进行初始化和依赖注入的。以下是典型的生命周期阶段&#xff1a; 实例化&#xff08;Instantiation&#xff09;&#xff1a; 创建Bean对象。依赖注入&#xff08;Dependency Injection&#xff09;&#xff1a; 向Be…...

如何选择 Dockerfile 的放置方式

是否将 Dockerfile 放在项目根目录下还是为每个应用服务单独创建 Dockerfile&#xff0c;取决于项目架构和使用场景。以下是针对不同项目类型的最佳实践和推荐方式&#xff1a; 一、单体应用项目 项目特点 项目是一个单体应用&#xff0c;只有一个运行环境&#xff0c;例如&a…...

用 HTML5 Canvas 和 JavaScript 实现炫酷跨年烟花特效

一、引言 跨年夜,五彩斑斓、绚丽绽放的烟花是最令人期待的视觉盛宴之一。在网页端,我们能否通过技术手段复现这一梦幻场景呢?答案是肯定的。本文将深入剖析一段使用 HTML5 Canvas 和 JavaScript 实现的跨年烟花特效源码,带你领略前端技术创造的惊艳画面。 用 HTML5 Canvas…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开&#xff0c;首…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

CSS设置元素的宽度根据其内容自动调整

width: fit-content 是 CSS 中的一个属性值&#xff0c;用于设置元素的宽度根据其内容自动调整&#xff0c;确保宽度刚好容纳内容而不会超出。 效果对比 默认情况&#xff08;width: auto&#xff09;&#xff1a; 块级元素&#xff08;如 <div>&#xff09;会占满父容器…...