pymysql, 创建table语句中,如何指定字符集为utf8mb4
时间: 2023-10-03 12:09:12 浏览: 96
在使用pymysql创建table时,可以在SQL语句中指定字符集为utf8mb4。具体操作如下:
```python
import pymysql
# 连接数据库
conn = pymysql.connect(host='localhost', port=3306, user='root', password='password', db='test', charset='utf8mb4')
# 创建游标
cursor = conn.cursor()
# 定义创建table的SQL语句,包含指定字符集为utf8mb4
create_table_sql = '''
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`age` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
'''
# 执行SQL语句,创建table
cursor.execute(create_table_sql)
# 关闭游标和连接
cursor.close()
conn.close()
```
在上面的代码中,我们在创建table的SQL语句中,使用了字符集为utf8mb4,并且在创建每个字段时,也指定了该字段的字符集为utf8mb4。注意,在使用utf8mb4字符集时,需要使用对应的排序规则utf8mb4_unicode_ci,以支持存储emoji等4字节字符。最后,执行SQL语句,即可创建一个指定字符集为utf8mb4的table。
阅读全文