mysql查找当前数据库所有编码不为utf8mb4_general_ci 的表名
时间: 2023-09-06 16:05:25 浏览: 182
### 回答1:
您可以使用以下 SQL 查询来查找当前数据库中编码不为 utf8mb4_general_ci 的表名:
```
SELECT table_name, table_collation
FROM information_schema.tables
WHERE table_schema = DATABASE()
AND table_collation NOT LIKE 'utf8mb4_general_ci';
```
请注意,上面的查询假定您正在使用 MySQL 5.7 或更高版本。如果您正在使用早期版本,则需要稍加修改。
### 回答2:
在MySQL中,可以通过查询information_schema库的表来获取当前数据库中所有编码非utf8mb4_general_ci的表名。具体步骤如下:
首先连接到MySQL数据库,并选择要查询的数据库。
然后执行以下查询语句:
SELECT TABLE_NAME
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = '当前数据库名' AND
TABLE_COLLATION != 'utf8mb4_general_ci'
这段查询语句会从information_schema库的TABLES表中筛选出当前数据库中编码非utf8mb4_general_ci的表名。其中,TABLE_SCHEMA表示数据库名,需要将其替换为实际的当前数据库名。
最后,通过执行查询语句,即可获取到当前数据库中所有编码非utf8mb4_general_ci的表名。
### 回答3:
在MySQL中,可以使用以下语句查找当前数据库中所有编码不为utf8mb4_general_ci的表名:
```mysql
SELECT table_name
FROM information_schema.tables
WHERE table_schema = DATABASE()
AND table_collation NOT LIKE 'utf8mb4_general_ci'
```
解释:
上述语句使用了information_schema数据库中的tables视图来查询当前数据库中的表名。WHERE子句中的table_schema = DATABASE()条件用于限制查询当前数据库,而table_collation NOT LIKE 'utf8mb4_general_ci'条件则用于筛选编码不为utf8mb4_general_ci的表。
最后,使用SELECT语句来获取满足条件的表名。
阅读全文