无论是初学者还是经验丰富的数据库管理员,掌握MySQL命令都是进行高效数据库管理和开发的基础
本文将全面介绍MySQL命令大全,帮助读者深入理解并熟练运用这些命令,从而在数据库管理和开发中如鱼得水
一、MySQL基础命令 1. 登录与退出MySQL 要登录MySQL数据库,你需要使用`mysql`命令,并指定用户名、密码和主机
基本语法如下: bash mysql -u用户名 -p -h主机名 登录后,系统会提示你输入密码
退出MySQL则可以使用`exit`或`quit`命令
sql exit; -- 或 quit; 2. 显示数据库列表 登录后,你可以使用`SHOW DATABASES;`命令查看所有数据库
sql SHOW DATABASES; 3. 选择数据库 使用`USE`命令选择一个特定的数据库进行操作
sql USE 数据库名; 4. 显示当前选择的数据库中的表 选择数据库后,你可以使用`SHOW TABLES;`命令查看该数据库中的所有表
sql SHOW TABLES; 5. 显示表结构 使用`DESCRIBE`或`DESC`命令查看表的结构,包括字段名、数据类型、是否允许NULL、键信息、默认值和其他额外信息
sql DESCRIBE 表名; -- 或 DESC 表名; 二、数据库与表管理命令 1. 创建数据库 使用`CREATE DATABASE`命令创建一个新的数据库
你可以指定字符集和排序规则
sql CREATE DATABASE 数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; 2. 删除数据库 使用`DROP DATABASE`命令删除一个数据库
注意,这个操作会删除数据库及其包含的所有表和数据,因此应谨慎使用
sql DROP DATABASE 数据库名; 3. 创建表 使用`CREATE TABLE`命令创建一个新表
你需要定义表名和字段信息,包括字段名、数据类型和约束条件
sql CREATE TABLE 表名( 字段1 数据类型约束条件, 字段2 数据类型约束条件, ... ); 例如,创建一个用户表: sql CREATE TABLE users( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, email VARCHAR(100) NOT NULL UNIQUE, password VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); 4. 删除表 使用`DROP TABLE`命令删除一个表
同样,这个操作会删除表及其所有数据,应谨慎使用
sql DROP TABLE 表名; 5. 修改表结构 使用`ALTER TABLE`命令修改表的结构,如添加、删除或修改字段,添加或删除索引等
- 添加字段: sql ALTER TABLE 表名 ADD字段名 数据类型约束条件; - 删除字段: sql ALTER TABLE 表名 DROP COLUMN字段名; - 修改字段: sql ALTER TABLE 表名 MODIFY COLUMN字段名 新数据类型 新约束条件; -- 或 ALTER TABLE 表名 CHANGE COLUMN 旧字段名 新字段名 新数据类型 新约束条件; - 添加索引: sql ALTER TABLE 表名 ADD INDEX索引名(字段名); - 删除索引: sql ALTER TABLE 表名 DROP INDEX索引名; 三、数据操作命令 1.插入数据 使用`INSERT INTO`命令向表中插入数据
你可以一次插入一行或多行数据
-插入一行数据: sql INSERT INTO 表名(字段1,字段2,...) VALUES(值1, 值2,...); -插入多行数据: sql INSERT INTO 表名(字段1,字段2,...) VALUES (值1_1, 值2_1, ...), (值1_2, 值2_2, ...), ...; 2. 查询数据 使用`SELECT`命令从表中查询数据
你可以使用各种条件和函数来筛选和格式化结果
- 查询所有字段: sql SELECTFROM 表名; - 查询特定字段: sql SELECT字段1,字段2, ... FROM 表名; - 使用条件查询: sql SELECT字段1,字段2, ... FROM 表名 WHERE 条件; -排序查询结果: sql SELECT字段1,字段2, ... FROM 表名 ORDER BY字段名【ASC|DESC】; - 限制查询结果数量: sql SELECT字段1,字段2, ... FROM 表名 LIMIT 数量 OFFSET偏移量; 3. 更新数据 使用`UPDATE`命令修改表中的现有数据
你需要指定要修改的表和字段,以及用于筛选要更新行的条件
sql UPDATE 表名 SET字段1 = 新值1,字段2 = 新值2, ... WHERE 条件; 4. 删除数据 使用`DELETE`命令从表中删除数据
你需要指定要删除的表和用于筛选要删除行的条件
sql DELETE FROM 表名 WHERE 条件; 四、高级管理命令 1.备份与恢复 MySQL提供了多种备份和恢复数据库的方法,其中最常用的是`mysqldump`工具
-备份数据库: bash mysqldump -u用户名 -p 数据库名 >备份文件.sql - 恢复数据库: bash mysql -u用户名 -p 数据库名 <备份文件.sql 2. 优化表 使用`OPTIMIZE TABLE`命令优化表,以提高查询性能
这通常涉及重新组织表的物理存储结构
sql OPTIMIZE TABLE 表名; 3.导入与导出数据 除了使用`mysqldump`进行备份和恢复外,MySQL还支持其他数据导入和导出方法,如`LOAD DATA INFILE`和`SELECT ... INTO OUTFILE`
-导入数据: sql LOAD DATA INFILE 文件路径 INTO TABLE 表名 FIELDS TERMINATED BY 字段分隔符 LINES TERMINATED BY 行分隔符 (字段1,字段2,...); -导出数据: sql SELECT字段1,字段2, ... INTO OUTFILE 文件路径 FIELDS TERMINATED BY 字段分隔符 LINES TERMINATED BY 行分隔符 FROM 表名; 五、安全与权限管理命令 1. 创建用户 使用`CREATE USER`命令创建新用户,并指定密码
sql CREATE USER 用户名@主机名 IDENTIFIED BY 密码; 2.授予权限 使用`GRANT`命令授予用户特定的权限
你可以授予全局、数据库或表级别的权限
sql GRANT权限类型【(列名)】【,权限类型【(列名)】...】 ON 数据库名.表名 TO 用户名@主机名 【WITH GRANT