编辑
2024-11-07
linux
00
请注意,本文编写于 344 天前,最后修改于 0 天前,其中某些信息可能已经过时。

目录

1. 数据库管理
2. 表管理
3. 数据操作
4. 条件查询
5. 排序和分组
6. 表连接
7. 索引
8. 用户管理
9. 备份与恢复
10. 事务管理
11. 系统管理
12. 其他常用命令

1. 数据库管理

  • 查看所有数据库:
SHOW DATABASES;

作用:列出 MySQL 中所有的数据库。

  • 创建数据库
CREATE DATABASE database_name;

作用:创建一个新的数据库,database_name 是你要创建的数据库名称。

  • 删除数据库:
DROP DATABASE database_name;

作用:删除指定的数据库及其中的所有数据。

  • 选择使用数据库:
USE database_name;

作用:选择并激活一个数据库,后续的操作将针对该数据库进行。

2. 表管理

  • 查看当前数据库中的所有表:
SHOW TABLES;

作用:显示当前选择数据库中的所有表。

  • 创建表:
CREATE TABLE table_name ( column1 datatype, column2 datatype, ...);

作用:创建一个新表,并定义其列的名称和数据类型。每列必须指定数据类型(如:INT、VARCHAR、DATE 等)。

  • 查看表结构:
DESCRIBE table_name;

作用:显示表 table_name 的结构,包括字段名、数据类型、是否为 NULL、默认值等信息。

  • 删除表:
DROP TABLE table_name;

作用:删除表及其包含的数据。

  • 修改表(如添加字段):
ALTER TABLE table_name ADD column_name datatype;

作用:向已有表中添加新的列。

  • 删除表中的字段:
ALTER TABLE table_name DROP COLUMN column_name;

作用:删除表中指定的列。

3. 数据操作

  • 查看数据(查询表):
SELECT * FROM table_name;

作用:查询并显示表 table_name 中的所有数据。

  • 插入数据:
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);

作用:向表中插入一条新记录。column1, column2 是列名,value1, value2 是对应列的值。

  • 更新数据:
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;

作用:更新表 table_name 中符合条件的记录。SET 指定要更新的字段和值,WHERE 是条件,确保只更新特定记录。

  • 删除数据:
DELETE FROM table_name WHERE condition;

作用:删除表 table_name 中符合条件的记录。WHERE 是删除条件。

4. 条件查询

  • 使用条件查询数据:
SELECT * FROM table_name WHERE column_name = value;

作用:查询 column_name 列的值为 value 的所有记录。

  • 使用 AND 和 OR 连接多个条件:
SELECT * FROM table_name WHERE column1 = value1 AND column2 = value2;

作用:同时满足多个条件的记录,AND 表示所有条件必须为真,OR 表示至少一个条件为真。

  • 模糊查询 (LIKE):
SELECT * FROM table_name WHERE column_name LIKE 'pattern';

作用:模糊匹配 column_name 中符合 pattern 的值,% 代表任意字符。例如,LIKE 'A%' 表示以 A 开头的值。

  • 查询数据范围(BETWEEN):
SELECT * FROM table_name WHERE column_name BETWEEN value1 AND value2;

作用:查询 column_name 在 value1 和 value2 范围之间的数据,包括边界值。

  • 查询为空或非空数据:
SELECT * FROM table_name WHERE column_name IS NULL;

作用:查询 column_name 值为 NULL 的记录。

  • 查询前几条记录:
SELECT * FROM table_name LIMIT n;

作用:限制查询结果的行数,n 是要查询的记录数量。

5. 排序和分组

  • 排序数据:
SELECT * FROM table_name ORDER BY column_name ASC;

作用:根据某一列排序查询结果,ASC 表示升序,DESC 表示降序。

  • 分组查询:
SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;

作用:将数据按照 column_name 列分组,并对每组数据进行统计(例如,COUNT 计算每组的记录数)。

  • 使用 HAVING 筛选分组后的数据:
SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name HAVING COUNT(*) > 1;

作用:对分组后的数据进行进一步筛选。HAVING 用于条件过滤,而 WHERE 只能用于行级过滤。

6. 表连接

  • 内连接(INNER JOIN):
SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;

作用:从两个表中返回符合条件的行,只有当 table1 和 table2 中的列值匹配时才返回记录。

  • 左连接(LEFT JOIN):
SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column;

作用:返回左表所有记录以及右表中匹配的记录。如果右表没有匹配的记录,右表列会返回 NULL。

  • 右连接(RIGHT JOIN):
SELECT * FROM table1 RIGHT JOIN table2 ON table1.column = table2.column;

作用:返回右表所有记录以及左表中匹配的记录。如果左表没有匹配的记录,左表列会返回 NULL。

7. 索引

创建索引:

CREATE INDEX index_name ON table_name (column_name);

作用:创建一个索引,提高查询效率。index_name 是索引的名称,column_name 是要加索引的列。

  • 删除索引:
DROP INDEX index_name ON table_name;

作用:删除指定的索引。

8. 用户管理

  • 创建用户:
CREATE USER 'username'@'hostname' IDENTIFIED BY 'password';

作用:创建一个新的用户并指定密码,username 是用户名,hostname 是主机名(如 % 表示任意主机)。

  • 修改用户密码:
ALTER USER 'username'@'hostname' IDENTIFIED BY 'new_password';

作用:修改指定用户的密码。

  • 赋予用户权限:
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'hostname';

作用:授予用户对指定数据库的所有权限。

  • 撤销用户权限:
REVOKE ALL PRIVILEGES ON database_name.* FROM 'username'@'hostname';

作用:撤销指定用户对指定数据库的所有权限。

  • 删除用户:
DROP USER 'username'@'hostname';

作用:删除指定的用户。

9. 备份与恢复

  • 备份数据库:
mysqldump -u username -p database_name > backup_file.sql

作用:使用 mysqldump 工具将指定数据库导出为 SQL 文件,backup_file.sql 是保存备份的文件名。

  • 恢复数据库:
mysql -u username -p database_name < backup_file.sql

作用:从 SQL 文件中恢复数据库。

10. 事务管理

  • 开始事务:
START TRANSACTION;

作用:开始一个事务,所有操作将在事务结束时一起提交或回滚。

  • 提交事务:
COMMIT;

作用:提交当前事务,确保事务内的所有修改生效。

  • 回滚事务:
ROLLBACK;

作用:撤销事务内的所有操作,恢复事务开始前的数据状态。

11. 系统管理

  • 查看当前数据库服务器状态:
SHOW STATUS;

作用:显示数据库服务器的运行状态。

  • 查看当前数据库连接信息:
SHOW PROCESSLIST;

作用:显示当前正在执行的所有查询。

  • 显示当前数据库的信息:
SHOW VARIABLES;

作用:显示 MySQL 配置变量和服务器参数的当前值。

12. 其他常用命令

  • 查询数据库版本:
SELECT VERSION();

作用:查询 MySQL 服务器的版本。

  • 查看当前数据库字符集:
SHOW VARIABLES LIKE 'character_set%';

作用:查看数据库当前的字符集设置。

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:十号

本文链接:

版权声明:十号版权所有

看板娘

瑞依随时为您服务