MySQL 是一种广泛使用的开源关系型数据库管理系统,其强大的命令行工具(MySQL Command-Line Client)允许用户通过 SQL 语句与数据库进行交互,掌握 MySQL 命令是数据库管理和开发的基础,本文将详细介绍常用的 MySQL 命令,包括数据库操作、表操作、数据操作、用户权限管理等,并通过示例和表格帮助理解。

连接到 MySQL 服务器是使用 MySQL 命令的第一步,在命令行中输入 mysql -u 用户名 -p,然后按提示输入密码。mysql -u root -p 会以 root 用户身份登录,登录成功后,可以使用 SHOW DATABASES; 命令查看所有数据库,返回结果是一个包含数据库名称的列表,如 information_schema、mysql、performance_schema 等,要选择一个数据库进行操作,使用 USE 数据库名; 命令,USE my_database;。
创建数据库和表是数据库设计的基础,创建数据库的命令是 CREATE DATABASE 数据库名;,CREATE DATABASE my_database;,如果数据库已存在且不想报错,可以添加 IF NOT EXISTS 子句,如 CREATE DATABASE IF NOT EXISTS my_database;,创建表时,需要定义表的列名、数据类型和约束,创建一个名为 users 的表,包含 id(整数,主键,自增)、name(字符串,非空)、email(字符串,唯一)和 created_at(日期时间),命令如下:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);MySQL 支持多种数据类型,包括整数类型(INT、BIGINT)、字符串类型(VARCHAR、TEXT)、日期时间类型(DATE、DATETIME)等,约束条件包括主键(PRIMARY KEY)、外键(FOREIGN KEY)、唯一(UNIQUE)、非空(NOT NULL)和默认值(DEFAULT)。
数据操作语言(DML)用于管理表中的数据,插入数据使用 INSERT INTO 命令,

INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');可以一次性插入多行数据:
INSERT INTO users (name, email) VALUES
('Bob', 'bob@example.com'),
('Charlie', 'charlie@example.com');查询数据使用 SELECT 命令,这是最常用的命令之一,查询 users 表的所有数据:
SELECT * FROM users;
指定查询列:
SELECT name, email FROM users;
使用 WHERE 子句进行条件查询:

SELECT * FROM users WHERE name = 'Alice';
排序结果使用 ORDER BY,例如按 id 降序排列:
SELECT * FROM users ORDER BY id DESC;
聚合函数如 COUNT()、SUM()、AVG()、MAX()、MIN() 可以用于计算统计数据,
SELECT COUNT(*) FROM users;
分组查询使用 GROUP BY 子句,例如按 name 分组并统计每个名字的数量:
SELECT name, COUNT(*) FROM users GROUP BY name;
更新数据使用 UPDATE 命令,例如将 name 为 ‘Alice’ 的用户的 email 更新:
UPDATE users SET email = 'alice_new@example.com' WHERE name = 'Alice';
删除数据使用 DELETE 命令,例如删除 name 为 ‘Bob’ 的用户:
DELETE FROM users WHERE name = 'Bob';
注意:DELETE 操作不可逆,建议在执行前使用 SELECT 确认条件。
数据定义语言(DDL)用于修改表结构,添加列使用 ALTER TABLE 命令,例如在 users 表中添加一个 age 列:
ALTER TABLE users ADD COLUMN age INT;
修改列的数据类型或约束:
ALTER TABLE users MODIFY COLUMN age INT NOT NULL;
删除列:
ALTER TABLE users DROP COLUMN age;
重命名表:
RENAME TABLE users TO customers;
删除表使用 DROP TABLE 命令,DROP TABLE customers;,如果表不存在会报错,可以添加 IF EXISTS 子句,删除数据库使用 DROP DATABASE 命令,DROP DATABASE my_database;,此操作会删除数据库中的所有表,需谨慎使用。
用户权限管理是数据库安全的重要部分,创建用户使用 CREATE USER 命令,
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password';
授予权限使用 GRANT 命令,例如授予 new_user 对 my_database 的所有权限:
GRANT ALL PRIVILEGES ON my_database.* TO 'new_user'@'localhost';
刷新权限使更改生效:
FLUSH PRIVILEGES;
撤销权限使用 REVOKE 命令,例如撤销 new_user 的删除权限:
REVOKE DELETE ON my_database.* FROM 'new_user'@'localhost';
删除用户使用 DROP USER 命令,DROP USER 'new_user'@'localhost';。
MySQL 还支持事务处理,确保数据的一致性,事务以 START TRANSACTION 或 BEGIN 开始,以 COMMIT 提交或 ROLLBACK 回滚。
START TRANSACTION; UPDATE accounts SET balance = balance - 100 WHERE user_id = 1; UPDATE accounts SET balance = balance + 100 WHERE user_id = 2; COMMIT;
如果在执行过程中发生错误,可以使用 ROLLBACK 撤销所有更改。
以下是常用 MySQL 命令的总结表格:
| 命令类别 | 命令示例 | 说明 |
|---|---|---|
| 连接与退出 | mysql -u root -p | 连接到 MySQL 服务器 |
| 数据库操作 | SHOW DATABASES; | 显示所有数据库 |
CREATE DATABASE my_db; | 创建数据库 | |
USE my_db; | 选择数据库 | |
| 表操作 | SHOW TABLES; | 显示当前数据库的所有表 |
CREATE TABLE users (id INT PRIMARY KEY); | 创建表 | |
DROP TABLE users; | 删除表 | |
| 数据查询 | SELECT * FROM users; | 查询所有数据 |
SELECT name FROM users WHERE id = 1; | 条件查询 | |
| 数据插入 | INSERT INTO users VALUES (1, 'Alice'); | 插入数据 |
| 数据更新 | UPDATE users SET name = 'Bob' WHERE id = 1; | 更新数据 |
| 数据删除 | DELETE FROM users WHERE id = 1; | 删除数据 |
| 用户权限 | GRANT SELECT ON my_db.* TO 'user'@'localhost'; | 授予权限 |
FLUSH PRIVILEGES; | 刷新权限 |
相关问答FAQs:
Q1: 如何查看 MySQL 数据库中某个表的结构?
A1: 可以使用 DESCRIBE 表名; 或 SHOW COLUMNS FROM 表名; 命令查看表的结构。DESCRIBE users; 会返回 users 表的列名、数据类型、是否允许 NULL、键信息、默认值和额外信息。
Q2: 如何备份和恢复 MySQL 数据库?
A2: 备份数据库使用 mysqldump 命令,mysqldump -u root -p my_database > backup.sql 会将 my_database 备份到 backup.sql 文件中,恢复数据库时,先创建空数据库,然后使用 mysql -u root -p my_database < backup.sql 将备份文件导入数据库。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/413523.html<
