一、连接数据库
import pymysql # 1.创建与数据库的连接 connect = pymysql.connect(host = 'localhost',user = 'root', passwd = '123456',db= 'mariadb_learn',charset = 'utf8') #host : 连接的数据库的主机ip地址 localhost 代表本地主机 #user : 用户身份 #passwd : 登录密码 #db : 连接的数据库名称 #charset : 数据库字符编码设置 connect.close()# 关闭连接
二、创建游标
cur = connect.cursor() users = [('user2', '123'), ('user3', '123'), ('user4', '123')] try: cur.execute('create table userinfor(username varchar(10), passwd varchar(10));') except Exception as Error: print(Error,type(Error)) print(isinstance(Error,pymysql.err.InternalError)) if isinstance(Error,pymysql.err.InternalError): #判断表已经存在 for username ,passwd in users: #使用循环对表添加信息,每次添加一条。 cur.execute('insert into userinfor values("%s", "%s");'%(username,passwd)) finally: connect.commit() # 对于数据库操作,一定要提交; cur.close() #先关闭游标 connect.close() #关闭连接
二、executemany()函数
excutemany是批量操作,我们可以通过这个函数将所需要插入的信息一次性插入,节省时间。
insert_sqli = 'insert into userinfo values(%s, %s);' cur.executemany(insert_sqli, users)关与 execute()与executemany()的插入速度,我推荐这篇博文Python MySQLdb 循环插入execute与批量插入executemany性能分析。