本篇对于Python操做MySQL主要使用两种方式:python
pymsql是Python中操做MySQL的模块mysql
pip install pymysqlsql
一、执行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() #关闭链接二、
二、获取自增idfetch
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() #关闭链接
三、获取查询数据orm
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() #关闭链接