1.MySQL与python、pymysql
pip install pymysql
import pymysql
#链接数据库
conn = pymysql.connect(host=‘localhost’,user=‘root’,password=‘123456’,db=‘dbmovie_top250’)#host user password db
#host 为端口 #user用户 #password密码#db数据库
cursor = conn.cursor()#游标
当我们开启了游标功能,再去执行这条语句的时候,系统会先帮你找到这些行, 先给你存放起来,然后提供了一个游标接口。当你需要数据的时候,就借助这个游标去一行行的取出数据,你每取出一条记录,游标指针就朝前移动一次,
概括来讲,SQL的游标是一种临时的数据库对象,即可以用来存放在数据库表中的数据行副本,也可以指向存储在数据库中的数据行的指针。游标提供了在逐行的基础上操作表中数据的方法。
sql = “INSERT INTO t_top250 VALUES” + s # sql命令
cursor.execute(sql) #执行SQL语句
conn.commit() # 提交数据
cursor.close() # 关闭游标
conn.close() # 关闭数据库
数据库可视化工具建立的表格,sql语句也行
2 .代码
import pandas as pd
import csv
import pymysql
conn = pymysql.connect(host='localhost',user='root',password='123456',db='dbmovie_top250')#host user password db
#创建游标对象
cursor = conn.cursor()
with open('../data/doubantop250.csv', 'r', encoding='utf-8') as f:
read = csv.reader(f)
# 一行一行地存,除去第一行和第一列
for each in list(read)[1:]:
i = tuple(each)
print(i)
# 使用SQL语句添加数据
sql = "INSERT INTO t_top250 VALUES" + str(i) # t_top250是表的名称
conn.ping(True)
cursor.execute(sql) #执行SQL语句
conn.commit() # 提交数据
cursor.close() # 关闭游标
conn.close() # 关闭数据库
3.总结
主要问题是数据库数据类型长度的优化。
在调试过程中,有时候sql语句正确但是没办法sql处理,需要关闭数据库重启