使用pymysql创建数据库

host(str): MySQL服务器地址
port(int): MySQL服务器端口号
user(str): 用户名
passwd(str): 密码
db(str): 数据库名称
charset(str): 连接编码

**方法一:**指定连接字符集为utf8(不能插入中文数据,会出现编码错误)

import pymysql


# 创建链接
conn = pymysql.connect(host='localhost', user='root', password='123456', charset='utf8')
# 创建游标
cursor = conn.cursor()
# 创建数据的sql语句
sql = 'create database if not exists new_db;'
# 执行sql语句
cursor.execute(sql)
# 指定使用数据库
cursor.execute('use new_db;')
# 创建表的sql语句
sql_table = '''create table if not exists hero(
id int primary key auto_increment,
name varchar(20),
age char(4)
);'''
# 执行sql语句
cursor.execute(sql_table)
# 插入数据的sql语句
sql_db = "insert into hero values (1, 'Tom', '20'), (2, 'Tony', '30');"
# 执行sql语句
cursor.execute(sql_db)
# 提交事务
conn.commit()

# 查询sql语句
sql_select = "select * from hero;"
# 执行sql语句
cursor.execute(sql_select)
# 读取数据
"""
# 一次性获取一条数据
a = cursor.fetchone()
# 一次性获取所有数据
a = cursor.fetchall()
"""
a = cursor.fetchall()
for i in a:
    print(i)

**方法二:**创建数据库的时候指定数据库的字符集和默认校对规则(插入中文不报错)

import pymysql


# 创建链接
# charset可写可不写
conn = pymysql.connect(host='localhost', user='root', password='123456', charset='utf8mb4')
# 创建游标
cursor = conn.cursor()
# 创建数据的sql语句
sql = 'create database if not exists new_db default charset utf8 default collate utf8_general_ci;'
# 执行sql语句
cursor.execute(sql)
# 指定使用数据库
cursor.execute('use new_db;')
# 创建表的sql语句
sql_table = '''create table if not exists hero(
id int primary key auto_increment,
name varchar(20),
age char(4)
);'''
# 执行sql语句
cursor.execute(sql_table)
# 插入数据的sql语句
sql_db = "insert into hero values (1, 'Tom', '20'), (2, 'Tony', '30');"
# 执行sql语句
cursor.execute(sql_db)
# 提交事务
conn.commit()

# 查询sql语句
sql_select = "select * from hero;"
# 执行sql语句
cursor.execute(sql_select)
# 读取数据
"""
# 一次性获取一条数据
a = cursor.fetchone()
# 一次性获取所有数据
a = cursor.fetchall()
"""
a = cursor.fetchall()
for i in a:
    print(i)

更多推荐