Python Day12

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python Day12相关的知识,希望对你有一定的参考价值。

二、python与mysql交互  

pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。
 
下载安装
1 pip3 install pymysql

 

2.1.执行原生sql语句

1 import pymysql
2 conn = pymysql.connect(host=192.168.48.20, port=3306, user=root, passwd=123, db=test)  # 创建连接
3 cursor = conn.cursor()  # 创建游标
4 # num = cursor.execute("create table student (name CHAR(20),age INT(3),date DATE )")  # 创建表不需要提交可以生效
5 num = cursor.execute("insert into student value(‘hua‘,25,‘1992-05-22‘)")  # 执行sql返回受影响的条目数
6 print(num)
7 conn.commit()  # pymysql默认开启了事务,进行数据库更新需要提交
8 cursor.close()  # 关闭游标
9 conn.close()  # 关闭连接

 

2.2.批量执行sql
实际是循环调用execute
1 import pymysql
2 conn = pymysql.connect(host=192.168.48.20, port=3306, user=root, passwd=123, db=test)  # 创建连接
3 cursor = conn.cursor()  # 创建游标
4 # 一次性执行操作多条,参数为print(num)#打印条结果条目
5 num = cursor.executemany("insert into student values(%s,%s,%s)", [(jack, 22, 1993-01-11), (tara, 18, 1998-03-04)])
6 conn.commit()  # pymysql默认开启了事务,进行数据库更新需要提交
7 new_id = cursor.lastrowid  # 如果是自增id,该方法可以获取到插入完成以后的IDprint(new_id)
8 cursor.close()  # 关闭游标
9 conn.close()  # 关闭连接

 

2.3.查询操作:fetch

 1 import pymysql
 2 conn = pymysql.connect(host=192.168.48.20, port=3306, user=root, passwd=123, db=test)  # 创建连接
 3 cursor = conn.cursor()  # 创建游标
 4 cursor = conn.cursor()
 5 cursor.execute("select * from student")
 6 # 获取第一行数据
 7 row_1 = cursor.fetchone()
 8 print(row_1)
 9 # 获取前n行数据
10 row_2 = cursor.fetchmany(3)
11 print(row_2)
12 # 获取所有数据
13 # row_3=cursor.fetchall()
14 cursor.scroll(0, mode=absolute)  # 将游标重新移至开始处
15 row_new = cursor.fetchone()
16 print(row_new)
17 cursor.close()  # 关闭游标
18 conn.close()  # 关闭连接
TIPS:使用fetchone获取数据如同读取文件一样,如果读一行游标会下移一行

可以使用cursor.scroll(num,mode)来移动游标位置,如:

  • cursor.scroll(1,mode=‘relative‘)  # 相对当前位置移动
  • cursor.scroll(2,mode=‘absolute‘) # 相对绝对位置移动
 
2.4.设置fetch获取数据类型
默认使用fetch查询结果是tuple,我们还可以设置获取的数据返回时dict
 1 import pymysql
 2 
 3 conn = pymysql.connect(host=192.168.48.20,port=3306,user=root,passwd=123,db=test)
 4 # 游标设置为字典类型
 5 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)  # 设置游标类型为字典
 6 r = cursor.execute("select * from student")
 7 res = cursor.fetchone()
 8 print(res)
 9 cursor.close()
10 conn.close()
11 结果:
12 {name: bg, age: 22, date: datetime.date(1993, 5, 22)}

 

以上是关于Python Day12的主要内容,如果未能解决你的问题,请参考以下文章

Python s12 Day1 笔记及作业

day06-jsp

day12_框架一sendmail.py代码

day12_框架一report.py代码

day12_框架二tools.py代码

day12_框架一main.py代码