python连接mysql

本篇对于Python操作MySQL主要使用两种方式:

  • 原生模块 pymsql
  • ORM框架 SQLAchemy

pymysql

pymsql是Python中操作MySQL的模块

下载安装

pip install pymysql

使用操作

1、执行SQL  

import pymysql

conn = pymysql.connect(host = "localhost",port=3306,user = 'root',passwd = '123456',db = 'testdb') #连接mysql
cursor = conn.cursor()  #创建游标,相当于登陆mysql>所在的位置

effect_row = cursor.execute("update Student set name = 'test' where stu_id = {} ".format(11)) #修改
#effect_row = cursor.execute("insert into Student(name,age,register_date) values(%s,%s,%s)",("mysql",1,"2017-11-15")) #添加,这里注意即使插入数字也用%s,不要用%d
# effect_row = cursor.execute("delete from Student where stu_id > %s",(12,))  #删除
# effect_row = cursor.executemany("insert into Student(name,age,register_date) values(%s,%s,%s)",(("pymysql",11,"2017-11-15"),('pyorcale',22,"2017-11-15"))) # 插入多条
##这里注意effect_row返回的都是收影响的行数

# print(effect_row)

conn.commit() #提交,不然无法保存修改的数据
cursor.close() #关闭游标
conn.close()  #关闭连接2、

2、获取自增id

import pymysql

conn = pymysql.connect(host = "localhost",port=3306,user = 'root',passwd = '123456',db = 'testdb') #连接mysql
cursor = conn.cursor()  #创建游标,相当于登陆mysql>所在的位置

effect_row = cursor.execute("insert into Student(name,age,register_date) values(%s,%s,%s)",("mysql",1,"2017-11-15")) #添加

new_id = cursor.lastrowid  #搭配insert语句用,返回最后一次添加记录的自增id
print(new_id)
conn.commit() #提交,不然无法保存修改的数据
cursor.close() #关闭游标
conn.close()  #关闭连接

3、获取查询数据

import pymysql

conn = pymysql.connect(host = "localhost",port=3306,user = 'root',passwd = '123456',db = 'testdb') #连接mysql
# cursor = conn.cursor()  #创建游标,相当于登陆mysql>所在的位置,查找出来的记录为列表形式
cursor = conn.cursor(cursor = pymysql.cursors.DictCursor) #如需要设置查找出来的记录为字典形式,游标设置为字典类型

cursor.execute("select * from Student")  #查找语句

# row = cursor.fetchall() #获取所有记录
# row = cursor.fetchone() #获取第一行记录
cursor.scroll(2,mode='relative') #相对当前位置移动
cursor.scroll(1,mode='absolute') #相对绝对位置移动
row = cursor.fetchmany(3) #获取前3行记录

print(row)

conn.commit() #提交,不然无法保存修改的数据
cursor.close() #关闭游标
conn.close()  #关闭连接

  

posted @ 2017-11-16 13:23  zj-luxj  阅读(229)  评论(0编辑  收藏  举报