要求:自己创建一个自增列作为主键(不要用csv文件中的第一列作为主键)。
import pymysql
# 连接MySQL
conn = pymysql.connect(host="127.0.0.1", port=3306, user="root", password="123456", charset="utf8", db='userdb')
cursor = conn.cursor() # 使用 cursor() 方法创建一个游标对象
# sql = """
# create table userdb(
# id int not null primary key auto_increment,
# user_id int not null,
# username varchar(64) not null,
# url varchar(64)
# )default charset=utf8;
# """
# cursor.execute(sql)
# conn.commit()
sql = "alter table userdb modify column url varchar(255);"
cursor.execute(sql)
conn.commit()
with open('db.csv', mode='r', encoding='utf-8') as file_object:
# file_object.readline() #第一行不要
for line in file_object: # 从第二行开始
user_id, username, url = line.strip().split(',')
sql = "insert into userdb(user_id,username,url) values('{}','{}','{}')".format(user_id, username, url)
cursor.execute(sql)
conn.commit()
# sql = """select * from user_info;"""
# cursor.execute(sql)
# conn.commit()
# result = cursor.fetchall()
# print(result)
# 关闭数据库连接
cursor.close()
conn.close()
d367eedc775bd6ee5a81570e6affdb7.png
两边传递的值个数不太一样
数目不匹配