MySQL 基本命令操作大全(从入门到熟练)

一、MySQL 简介与安装

MySQL 是一个开源的关系型数据库管理系统(RDBMS),广泛应用于 Web 应用开发中。它使用 SQL(结构化查询语言)进行数据管理,具有速度快、可靠性高、易于使用等特点。

安装 MySQL(以 Ubuntu 为例):

sudo apt update sudo apt install mysql-server sudo systemctl start mysql sudo systemctl enable mysql sudo mysql_secure_installation

安装完成后,可以通过以下命令登录 MySQL:

mysql -u root -p

二、数据库操作

1. 查看所有数据库

SHOW DATABASES;

2. 创建数据库

CREATE DATABASE mydb;

3. 选择(使用)数据库

USE mydb;

4. 删除数据库

DROP DATABASE mydb;

三、表操作

1. 查看当前数据库中的所有表

SHOW TABLES;

2. 创建表

CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, email VARCHAR(100) UNIQUE, age INT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );

3. 查看表结构

DESC users;

或者:

SHOW CREATE TABLE users;

4. 修改表

添加列:

ALTER TABLE users ADD COLUMN phone VARCHAR(20);

修改列类型:

ALTER TABLE users MODIFY COLUMN age TINYINT;

删除列:

ALTER TABLE users DROP COLUMN phone;

重命名表:

RENAME TABLE users TO customers;

5. 删除表

DROP TABLE users;

四、数据操作(CRUD)

1. 插入数据(INSERT)

INSERT INTO users (username, email, age) VALUES ('张三', 'zhangsan@example.com', 25);

插入多行:

INSERT INTO users (username, email, age) VALUES ('李四', 'lisi@example.com', 30), ('王五', 'wangwu@example.com', 28);

2. 查询数据(SELECT)

查询所有列:

SELECT * FROM users;

查询指定列:

SELECT username, email FROM users;

带条件查询:

SELECT * FROM users WHERE age > 25;

排序:

SELECT * FROM users ORDER BY age DESC;

限制返回行数:

SELECT * FROM users LIMIT 5;

3. 更新数据(UPDATE)

UPDATE users SET age = 26 WHERE username = '张三';

4. 删除数据(DELETE)

DELETE FROM users WHERE username = '李四';

清空表(删除所有数据):

TRUNCATE TABLE users;

五、高级查询

1. 聚合函数

SELECT COUNT(*) FROM users; SELECT AVG(age) FROM users; SELECT MAX(age) FROM users; SELECT MIN(age) FROM users; SELECT SUM(age) FROM users;

2. 分组查询(GROUP BY)

SELECT age, COUNT(*) FROM users GROUP BY age;

3. 连接查询(JOIN)

内连接:

SELECT users.username, orders.order_id FROM users INNER JOIN orders ON users.id = orders.user_id;

左连接:

SELECT users.username, orders.order_id FROM users LEFT JOIN orders ON users.id = orders.user_id;

4. 子查询

SELECT username FROM users WHERE age > (SELECT AVG(age) FROM users);

六、用户与权限管理

1. 创建用户

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

2. 授予权限

GRANT ALL PRIVILEGES ON mydb.* TO 'newuser'@'localhost'; FLUSH PRIVILEGES;

3. 查看用户权限

SHOW GRANTS FOR 'newuser'@'localhost';

4. 撤销权限

REVOKE ALL PRIVILEGES ON mydb.* FROM 'newuser'@'localhost';

5. 删除用户

DROP USER 'newuser'@'localhost';

七、备份与恢复

1. 备份数据库(命令行)

mysqldump -u root -p mydb > mydb_backup.sql

2. 恢复数据库

mysql -u root -p mydb < mydb_backup.sql

八、常用实用命令

  • 查看 MySQL 版本:SELECT VERSION();
  • 查看当前用户:SELECT USER();
  • 查看当前数据库:SELECT DATABASE();
  • 退出 MySQL:EXIT;QUIT;

九、总结

本文涵盖了 MySQL 从安装、数据库操作、表操作、数据 CRUD、高级查询到用户权限管理和备份恢复的基本命令。掌握这些命令是进行 MySQL 数据库管理和开发的基础。建议读者在实际操作中多加练习,并结合官方文档深入学习更高级的功能。