mysql系列--pymysql模块(python中的模块)

一.pymssql模块

pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者不支持3.x版本。

本文测试python版本:2.7.11。mysql版本:5.6.24

 

二.安装

pip3 install pymysql

三.使用的方法

1.基本使用是如下:

import pymysql
'''建立连接 '''
conn=pymysql.connect(
    host='127.0.0.1',
    port=3306,
    user='root',
    password='456',
    database='day45',
    charset='utf8'
)

ver=conn.cursor()#拿到游标
'''增加记录'''
# insert_sql='insert into userinfo(user,password) VALUES ("%s","%s")'%('alex','alex3714')
# ver.execute('insert into userinfo(user,password) VALUES ("wpq","123"); ')
# ver.execute(insert_sql)#传入sql语句

'''一般用下面这种增加记录'''
# insert_sql='insert into userinfo(user,password) VALUES (%s,%s)'
# ver.execute(insert_sql,('egon','123'))#插入一条值
# ver.executemany(insert_sql,[('egon1','123'),('egon2','123'),('egon3','123')])#插入多条值

'''删除'''
# insert_sql='delete from day45.userinfo where  user="egon"'
# ver.execute(insert_sql)

'''修改'''
# insert_sql='update userinfo set user="alexsb" where id="6"'
#
# ver.execute(insert_sql)



'''查记录'''
# sql='select * from userinfo'
# row=ver.execute(sql)
# print(row)
#
# print(ver.fetchone())#取第一数据
# print(ver.fetchmany(2))#取两个数据
# print(ver.fetchall())#取剩下的所有的数据
#
#
# conn.commit()#把内容写到数据真正的写到数据库中的硬盘中去
# ver.close()#关闭游标
# conn.close()#关闭连接

2.执行过程

import pymysql

# 创建连接
conn = pymysql.connect(
    host='127.0.0.1',
    port=3306, user='root',
    passwd='', db='tkq1',
    charset='utf8')
# 创建游标
cursor = conn.cursor()

# 执行SQL,并返回收影响行数
effect_row = cursor.execute("select * from tb7")

# 执行SQL,并返回受影响行数
# effect_row = cursor.execute("update tb7 set pass = '123' where nid = %s", (11,))

# 执行SQL,并返回受影响行数,执行多次
# effect_row = cursor.executemany("insert into tb7(user,pass,licnese)values(%s,%s,%s)", [("u1","u1pass","11111"),("u2","u2pass","22222")])

# 提交,不然无法保存新建或者修改的数据
conn.commit()
# 关闭游标
cursor.close()
# 关闭连接
conn.close()
执行的过程

3.移动游标

操作都是靠游标,那对游标的控制也是必须的

#注:在fetch数据时按照顺序进行,可以使用cursor.scroll(num,mode)来移动游标位置,如:
 
cursor.scroll(1,mode='relative') # 相对当前位置移动
cursor.scroll(2,mode='absolute') # 相对绝对位置移动

4.获取创建自增ID的最后一条记录的值

import pymysql
conn=pymysql.connect(host='localhost',user='root',password='123',database='egon')
cursor=conn.cursor()

sql='insert into userinfo(name,password) values("xxx","123");'
rows=cursor.execute(sql)
print(cursor.lastrowid) #在插入语句后查看(最后一个的自增ID的值)

conn.commit()

cursor.close()
conn.close()

 

posted @ 2017-11-23 23:08  明-少  阅读(127)  评论(0)    收藏  举报