菜鸟科技网

MySQL命令有哪些常用核心操作?

MySQL作为最受欢迎的开源关系型数据库管理系统之一,其命令行工具是数据库管理和操作的核心,熟练掌握MySQL命令能够高效完成数据库的创建、查询、更新、备份等任务,以下从登录、数据库操作、表操作、数据操作、权限管理、备份恢复六个维度进行详细总结。

MySQL命令有哪些常用核心操作?-图1
(图片来源网络,侵删)

登录MySQL数据库是使用命令的第一步,基本语法为mysql -h主机名 -u用户名 -p密码,h可省略默认本地,-p后直接跟密码会不安全,推荐交互式输入,登录后可通过exitquit退出,或使用\q快捷键,数据库操作是管理的基础,创建数据库使用CREATE DATABASE 数据库名 [CHARACTER SET utf8mb4] [COLLATE utf8mb4_unicode_ci],删除数据库为DROP DATABASE 数据库名,选择数据库需执行USE 数据库名,查看所有数据库可用SHOW DATABASES,查看数据库创建语句为SHOW CREATE DATABASE 数据库名

表操作是数据存储的核心,首先需通过USE选择数据库,创建表时需定义字段名、数据类型、约束条件,CREATE TABLE 表名 (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, age INT DEFAULT 18, INDEX idx_age (age)),数据类型包括整型(INT)、浮点型(DOUBLE)、字符串(VARCHAR/CHAR)、日期时间(DATE/DATETIME)等,约束有主键(PRIMARY KEY)、外键(FOREIGN KEY)、非空(NOT NULL)、唯一(UNIQUE)、默认值(DEFAULT)等,修改表结构使用ALTER TABLE,如添加列ALTER TABLE 表名 ADD COLUMN 列名 数据类型,修改列ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型,删除列ALTER TABLE 表名 DROP COLUMN 列名,重命名表RENAME TABLE 旧表名 TO 新表名,查看表结构用DESC 表名SHOW CREATE TABLE 表名,删除表为DROP TABLE 表名

数据操作是数据库应用的核心,插入数据使用INSERT INTO 表名 (列1,列2) VALUES (值1,值2),支持批量插入和省略列名(需按表顺序),查询数据功能强大,基础语法为SELECT 列名|* FROM 表名 [WHERE 条件] [GROUP BY 列名] [HAVING 条件] [ORDER BY 列名 ASC|DESC] [LIMIT 起始位置,数量],WHERE子件支持比较运算符(=、>、<)、逻辑运算符(AND、OR、NOT)、范围(BETWEEN...AND...)、集合(IN、NOT IN)、模糊查询(LIKE,通配符%和_),聚合函数包括COUNT(计数)、SUM(求和)、AVG(平均值)、MAX(最大值)、MIN(最小值),常与GROUP BY配合使用,更新数据使用UPDATE 表名 SET 列1=值1,列2=值2 WHERE 条件,删除数据为DELETE FROM 表名 WHERE 条件,需注意不加WHERE会删除全表数据。

权限管理确保数据库安全,创建用户使用CREATE USER '用户名'@'主机' IDENTIFIED BY '密码',授权通过GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机' [WITH GRANT OPTION],权限包括SELECT、INSERT、UPDATE、DELETE、ALL等,可用表示所有数据库和表,撤销权限使用REVOKE 权限 ON 数据库名.表名 FROM '用户名'@'主机',刷新权限为FLUSH PRIVILEGES,删除用户为DROP USER '用户名'@'主机'

MySQL命令有哪些常用核心操作?-图2
(图片来源网络,侵删)

备份恢复是数据安全的关键,备份整个数据库使用mysqldump -u用户名 -p密码 数据库名 > 备份文件.sql,备份多个数据库加--databases,备份所有数据库用--all-databases,备份表结构加--no-data,备份数据加--no-create-info,恢复数据需登录MySQL后执行USE 数据库名; SOURCE 备份文件.sql;,或直接使用mysql -u用户名 -p密码 数据库名 < 备份文件.sql,还可使用mysqlhotcopy(仅MyISAM引擎)和SELECT ... INTO OUTFILE/LOAD DATA INFILE进行数据导出导入。

相关问答FAQs:
Q1: 如何忘记MySQL root密码时重置密码?
A1: 首先停止MySQL服务(Linux下systemctl stop mysql,Windows下通过服务管理器停止),然后以跳过权限表的方式启动:mysqld_safe --skip-grant-tables &(Linux)或mysqld --skip-grant-tables(Windows),登录MySQL后执行UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';,刷新权限FLUSH PRIVILEGES;,最后重启MySQL服务即可。

Q2: MySQL中如何优化慢查询?
A2: 优化慢查询可从五方面入手:①使用EXPLAIN分析查询计划,检查是否走索引;②为常用查询条件(WHERE、JOIN、ORDER BY)创建合适索引;③避免SELECT *,只查询必要字段;④复杂查询拆分为简单查询,避免大事务;⑤对表分区或分表,减少单表数据量,可通过slow_query_log开启慢查询日志,定位执行时间超过阈值的SQL针对性优化。

MySQL命令有哪些常用核心操作?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇