前言

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

  • MySQL 是开源的,目前隶属于 Oracle 旗下产品。
  • MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
  • MySQL 使用标准的 SQL 数据语言形式。
  • MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
  • MySQL 对 PHP 有很好的支持,PHP 是很适合用于 Web 程序开发。
  • MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为8TB。
  • MySQL 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 MySQL 系统。

使用 MySQL 二进制方式连接

使用 MySQL 二进制方式进入到 mysql 命令提示符下来连接 MySQL 数据库,格式如下:

mysql -u your_username -p

列出所有可用的数据库:

SHOW DATABASES;

选择要使用的数据库:

USE your_database;

列出所选数据库中的所有表:

SHOW TABLES;

退出 mysql> 命令提示窗口可以使用 exit 命令,如下所示:

mysql> EXIT; Bye

或者使用:

mysql> QUIT;

登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下:

CREATE DATABASE 数据库名;

MySQL 命令大全

基础命令

| 操作 | 命令 | | :------------------ | :----------------------------------------------------------- | | 连接到 MySQL 数据库 | mysql -u 用户名 -p | | 查看所有数据库 | SHOW DATABASES; | | 选择一个数据库 | USE 数据库名; | | 查看所有表 | SHOW TABLES; | | 查看表结构 | DESCRIBE 表名;SHOW COLUMNS FROM 表名; | | 创建一个新数据库 | CREATE DATABASE 数据库名; | | 删除一个数据库 | DROP DATABASE 数据库名; | | 创建一个新表 | CREATE TABLE 表名 (列名1 数据类型 [约束], 列名2 数据类型 [约束], ...); | | 删除一个表 | DROP TABLE 表名; | | 插入数据 | INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...); | | 查询数据 | SELECT 列1, 列2, ... FROM 表名 WHERE 条件; | | 更新数据 | UPDATE 表名 SET 列1 = 值1, 列2 = 值2, ... WHERE 条件; | | 删除数据 | DELETE FROM 表名 WHERE 条件; | | 创建用户 | CREATE USER '用户名'@'主机' IDENTIFIED BY '密码'; | | 授权用户 | GRANT 权限 ON 数据库名.* TO '用户名'@'主机'; | | 刷新权限 | FLUSH PRIVILEGES; | | 查看当前用户 | SELECT USER(); | | 退出 MySQL | EXIT; |

数据库相关命令

下面是与 MySQL 数据库操作相关的命令,包括创建、删除和修改数据库等操作:

| 操作 | 命令 | | :------------------------------- | :----------------------------------------------------------- | | 创建数据库 | CREATE DATABASE 数据库名; |

| 删除数据库 | DROP DATABASE 数据库名; |

| 修改数据库编码格式和排序规则 | ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 编码格式 DEFAULT COLLATE 排序规则; |

| 查看所有数据库 | SHOW DATABASES; |

| 查看数据库详细信息 | SHOW CREATE DATABASE 数据库名; |

| 选择数据库 | USE 数据库名; |

| 查看数据库的状态信息 | SHOW STATUS; |

| 查看数据库的错误信息 | SHOW ERRORS; |

| 查看数据库的警告信息 | SHOW WARNINGS; |

| 查看数据库的表 | SHOW TABLES; |

| 查看表的结构 | DESC 表名; DESCRIBE 表名; SHOW COLUMNS FROM 表名; EXPLAIN 表名; |

| 创建表 | CREATE TABLE 表名 (列名1 数据类型 [约束], 列名2 数据类型 [约束], ...); |

| 删除表 | DROP TABLE 表名; |

| 修改表结构 | ALTER TABLE 表名 ADD 列名 数据类型 [约束]; ALTER TABLE 表名 DROP 列名; ALTER TABLE 表名 MODIFY 列名 数据类型 [约束]; |

| 查看表的创建 SQL | SHOW CREATE TABLE 表名; |

数据表相关命令

以下是与 MySQL 数据表相关的常用命令,包括创建、修改、删除表以及查看表的结构和数据等操作:

| 操作 | 命令 | | :--------------------- | :----------------------------------------------------------- |

| 创建表 | CREATE TABLE 表名 (列名1 数据类型 [约束], 列名2 数据类型 [约束], ...); |

| 删除表 | DROP TABLE 表名; |

| 修改表结构 | 添加列: ALTER TABLE 表名 ADD 列名 数据类型 [约束]; 删除列: ALTER TABLE 表名 DROP 列名; 修改列: ALTER TABLE 表名 MODIFY 列名 数据类型 [约束]; 重命名列: ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型 [约束]; |

| 查看表结构 | DESC 表名; DESCRIBE 表名; SHOW COLUMNS FROM 表名; EXPLAIN 表名; |

| 查看表的创建 SQL | SHOW CREATE TABLE 表名; |

| 查看表中的所有数据 | SELECT * FROM 表名; |

| 插入数据 | INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...); |

| 更新数据 | UPDATE 表名 SET 列1 = 值1, 列2 = 值2, ... WHERE 条件; |

| 删除数据 | DELETE FROM 表名 WHERE 条件; |

| 查看表的索引 | SHOW INDEX FROM 表名; |

| 创建索引 | CREATE INDEX 索引名 ON 表名 (列名); |

| 删除索引 | DROP INDEX 索引名 ON 表名; |

| 查看表的约束 | SHOW CREATE TABLE 表名; (约束信息会包含在创建表的 SQL 中) |

| 查看表的统计信息 | SHOW TABLE STATUS LIKE '表名'; |

MySQL 事务相关命令

以下是与 MySQL 事务相关的常用命令:

| 操作 | 命令 |

| :----------------------- | :----------------------------------------------------------- |

| 开始事务 | START TRANSACTION;BEGIN; |

| 提交事务 | COMMIT; |

| 回滚事务 | ROLLBACK; |

| 查看当前事务的状态 | SHOW ENGINE INNODB STATUS; (可查看 InnoDB 存储引擎的事务状态) |

| 锁定表以进行事务操作 | LOCK TABLES 表名 WRITE;LOCK TABLES 表名 READ; |

| 释放锁定的表 | UNLOCK TABLES; |

| 设置事务的隔离级别 | SET TRANSACTION ISOLATION LEVEL READ COMMITTED; SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; |