python与MySQL详解编程语言
2023-06-13 09:20:37 时间
因版本不同python操作mysql有两个模块,python3不再支持MySQL-python,模块使用都一样:
python2.7:MySQL-python
python3:pymysql
安装:
pip install Mysql-python
pip install pymysql
pymysql介绍:
1.执行原生sql语句
#!/usr/bin/env python3 #_*_ coding:utf-8 _*_ #Author:wd import pymysql conn=pymysql.connect(host=10.0.0.241,port=3307,user=stu,passwd=1234qwer,db=student)#创建连接 cursor=conn.cursor()#创建游标 try: #num=cursor.execute("create table student (name CHAR(20),age INT(3),date DAT )")#创建表不需要提交可以生效 num=cursor.execute("insert into student value(wd,22,1993-05-22)")#执行sql返回受影响的条目数 print(num) conn.commit() #pymysql默认开启了事务,进行数据库更新需要提交 except: conn.rollback()#出现异常则回滚 cursor.close()#关闭游标 conn.close()#关闭连接
2.批量执行sql
实际是循环调用execute
def executemany(self, query, args):
# type: (str, list) - int
#!/usr/bin/env python3 #_*_ coding:utf-8 _*_ #Author:wd import pymysql conn=pymysql.connect(host=10.0.0.241,port=3307,user=stu,passwd=1234qwer,db=student)#创建连接 cursor=conn.cursor()#创建游标 num=cursor.executemany("insert into student values(%s,%s,%s)",[(jack,22,1993-01-11),(tara,18,1998-03-04)]) #一次性执行操作多条,参数为 print(num)#打印条结果条目 conn.commit() #pymysql默认开启了事务,进行数据库更新需要提交 new_id = cursor.lastrowid#如果是自增id,该方法可以获取到插入完成以后的ID print(new_id) cursor.close()#关闭游标 conn.close()#关闭连接
3.查询操作:fetch
#!/usr/bin/env python3 #_*_ coding:utf-8 _*_ #Author:wd import pymysql conn=pymysql.connect(host=10.0.0.241,port=3307,user=stu,passwd=1234qwer,db=student)#创建连接 cursor=conn.cursor()#创建游标 cursor = conn.cursor() cursor.execute("select * from student") # 获取第一行数据 row_1=cursor.fetchone() print(row_1) # 获取前n行数据 row_2=cursor.fetchmany(3) print(row_2) # 获取所有数据 # row_3=cursor.fetchall() cursor.scroll(0,mode=absolute)#将游标重新移至开始处 row_new=cursor.fetchone() print(row_new) cursor.close()#关闭游标 conn.close()#关闭连接
TIPS:使用fetchone获取数据如同读取文件一样,如果读一行游标会下移一行,
可以使用cursor.scroll(num,mode)来移动游标位置,如:
cursor.scroll(1,mode= relative ) # 相对当前位置移动 cursor.scroll(2,mode= absolute ) # 相对绝对位置移动4.设置fetch获取数据类型
默认使用fetch查询结果是tuple,我们还可以设置获取的数据返回时dict
#!/usr/bin/env python3 #_*_ coding:utf-8 _*_ #Author:wd import pymysql conn = pymysql.connect(host=10.0.0.241, port=3307, user=stu, passwd=1234qwer, db=student) # 游标设置为字典类型 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)#设置游标类型为字典 r = cursor.execute("select * from student") res = cursor.fetchone() print(res) cursor.close() conn.close() {name: wd, age: 22, date: datetime.date(1993, 5, 22)}
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/12436.html
cjavamysqlpython相关文章
- python django 数据库_Apache+Mysql+PHP/Python简单项目
- python-Python与MySQL数据库-处理MySQL查询结果
- Python的Mysql connector封装详解编程语言
- python操作mysql数据库的简单示例详解编程语言
- python通过MySQLdb模块连接查询mysql数据详解编程语言
- Python学习:1.快速搭建python环境详解编程语言
- MySQL主从配置:实现高可用性(mysql主从配置)
- MySQL 按数量排序技巧简介(mysql数量排序)
- MySQL如何快速复制数据表结构(mysql复制数据表结构)
- 一步步学习:利用Python连接MySQL数据库(python连接mysql数据库)
- 【MySQL二进制日志:深入剖析】(mysql二进制日志)
- 解决MySQL数据库连接问题:如何使用驱动(mysql连接数据库驱动)
- MySQL时间触发器:实现自动任务管理(mysql时间触发器)
- Python Flask实现与MySQL的连接(flask连接mysql)
- 深入学习MySQL高级语法,提升数据库操作技能(mysql高级语法)
- 使用MySQL进行空值判断的方法(mysql空判断)
- 毕向东:成就MySQL一代神话(毕向东 mysql)
- MySQL使用详解:全面学习MYSQL技术(mysql大全)
- 从 Python 连接到 MySQL:实现更多强大的数据库应用(python和mysql)
- Python编程连接MySQL:从零开始(python与mysql)
- 关于MySQL中SQL注释的详细介绍(mysql中sql注释)
- Python操作MySQL数据库的必备模块mysqlpython(mysql_python)
- GET MYSQL 免费下载并破解MySQL数据库软件(mysql下载和破解)
- MyINI配置文件下载与安装MySQL教程(mysql下载myini)
- Mysql 数据库丢失别慌来了解一下 MySQL 不见的可能原因及解决办法(mysql不见)
- MySQL视频教程如何上传和管理视频(mysql上传视频教程)
- MySQL不是内部或外部命令(mysql不是内部买命令)