沃梦达 / IT编程 / 数据库 / 正文

MySQL查看字符集和校对规则

可以通过以下命令查看数据库的字符集和校对规则:

查看数据库的字符集和校对规则

可以通过以下命令查看数据库的字符集和校对规则:

SHOW CREATE DATABASE dbname;

其中,dbname 表示要查询的数据库名。

执行该命令后,会返回一个包含字符集和校对规则信息的 SQL 语句,如下所示:

CREATE DATABASE `dbname` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */;

其中,DEFAULT CHARACTER SET 后面的参数表示默认的字符集,COLLATE 后面的参数表示默认的校对规则。

查看表的字符集和校对规则

可以通过以下命令查看表的字符集和校对规则:

SHOW CREATE TABLE tablename;

其中,tablename 表示要查询的表名。

执行该命令后,会返回一个包含字符集和校对规则信息的 SQL 语句,如下所示:

CREATE TABLE `tablename` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  `email` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

其中,CHARSET 后面的参数表示表的字符集,COLLATE 后面的参数表示表的校对规则。

实例说明

假设现在有一个数据库 demo,其中包含一个表 users,该表有以下结构:

CREATE TABLE users (
  id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  email VARCHAR(50) NOT NULL
) ENGINE=InnoDB;

如果要查看该数据库的字符集和校对规则,可以执行以下命令:

SHOW CREATE DATABASE demo;

执行结果如下:

CREATE DATABASE `demo` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */;

从结果可以看出,该数据库的默认字符集为 utf8mb4,默认校对规则为 utf8mb4_general_ci

如果要查看该表的字符集和校对规则,可以执行以下命令:

SHOW CREATE TABLE users;

执行结果如下:

CREATE TABLE `users` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `email` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

从结果可以看出,该表的字符集为 utf8mb4,校对规则为 utf8mb4_general_ci

本文标题为:MySQL查看字符集和校对规则