第九篇:python高级之操作数据库

python高级之操作数据库

 

python高级之操作数据库

本节内容

  1. pymysql介绍及安装
  2. 使用pymysql执行sql
  3. 获取新建数据自增ID
  4. fetch数据类型设置

1.pymysql介绍及安装

在python2中连接数据库使可以使用mysqldb模块,为什么在python3中使用pymysql模块呢?因为在python2中mysqldb和pymysql都可以操作数据库,但是当python升级到3以后,pymysql模块支持python3了,但是mysqldb模块目前还不支持python3,所以用python3的小伙伴们还是先用pymysql吧。pymysql和mysqldb的使用方法基本相同。

安装pymysql可以使用pip安装:

 1 pip3 install pymysql 

安装完成之后在python解释器中执行import pymysql如果不报错说明安装成功了。

2.使用pymysql执行sql

第九篇:python高级之操作数据库
 1 import pymysql  # 导入模块
2
3 conn=pymysql.connect(host="192.168.12.120",port=3306,user="root",passwd="123456",db="sql_example",charset="utf8")
4 # 注意,这里传入的参数必须是关键字参数,不能省略关键字,否则将连接不上数据库
5 # conn.autocommit() # 如果设置了这个属性,则会自动commit sql语句,而不需要手动commit
6 cursor=conn.cursor() # 创建游标
7 # cursor.execute("insert into class(caption) values('全栈二班')")
8
9 r=cursor.execute("select * from class") # 执行查询语句并返回查询的数据行数
10 print(r) # 打印行数
11 # print(cursor.fetchall()) # 打印返回的所有数据,数据结构是元祖套元祖((),()),里面的一个元祖就是一行数据
12 # print(cursor.fetchmany(num)) # 打印返回的num条数据,数据结构是元祖套元祖((),()),里面的一个元祖就是一行数据
13 print(cursor.fetchone()) # 打印返回的数据中第一行数据,结构是只有一个元祖
14 cursor.scrroll() # 修改游标的位置
15
16 conn.commit() # 手动提交要执行的sql
17 cursor.close() # 关闭游标
18 conn.close() # 关闭连接
第九篇:python高级之操作数据库

注:在fetch数据时按照顺序进行,可以使用cursor.scroll(num,mode)来移动游标位置,如:

  • cursor.scroll(1,mode='relative') # 相对当前位置移动
  • cursor.scroll(2,mode='absolute') # 相对绝对位置移动

3.获取新建数据自增ID

第九篇:python高级之操作数据库
 1 conn = pymysql.connect(host="192.168.12.120",port=3306,user="root",passwd="123456",db="sql_example",charset="utf8")
2 cursor = conn.cursor()
3 cursor.executemany("insert into hosts(host,color_id)values(%s,%s)", [("1.1.1.11",1),("1.1.1.11",2)])
4 ## executemany可以执行多条插入语句,后面接的数据需要是一个可迭代的对象,一般是列表里面套元祖或列表
5 conn.commit()
6 cursor.close()
7 conn.close()
8
9 # 获取最新自增ID
10 new_id = cursor.lastrowid # 通过cursor.lastrowid可以获取获取最新行的自增ID
第九篇:python高级之操作数据库

表里面只能有一个字段设置为自增ID。。。

4.fetch数据类型设置

关于默认获取的数据是元祖类型,如果想要获得字典类型的数据,即:

第九篇:python高级之操作数据库
 1 conn = pymysql.connect(host="192.168.12.120",port=3306,user="root",passwd="123456",db="sql_example",charset="utf8")
2
3 # 游标设置为字典类型
4 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
5 r = cursor.execute("call p1()")
6
7 result = cursor.fetchone()
8
9 conn.commit()
10 cursor.close()
11 conn.close()
第九篇:python高级之操作数据库
 
分类: python高级
 
好文要顶 关注我 收藏该文
上一篇:【JavaScript】浅析javaScript和HTML与unicode字符集的关系


下一篇:mongodb文件损坏的恢复--无可恢复数据