本模块为python第三方模块,须要单独安装。做用为调用mysql接口执行模块python
pip3 install pyMySqlmysql
操做步骤:sql
#!/usr/bin/python3 import pymysql # 打开数据库链接 db = pymysql.connect("10.1.80.200", "alex", "alex", "ip") # 使用 cursor() 方法建立一个游标对象 cursor cursor = db.cursor() # 使用 execute() 方法执行 SQL 查询 cursor.execute("SELECT VERSION()") # 使用 fetchone() 方法获取单条数据. data = cursor.fetchone() print("Database version : %s " % data) # 关闭数据库链接 db.close()
一、执行sql数据库
#!/usr/bin/env python # -*- coding:utf-8 -*- import pymysql # 建立链接 conn = pymysql.connect(host='10.1.80.200', port=3306, user='alex', passwd='alex', db='cs') # 建立游标 cursor = conn.cursor() # 执行SQL,创建一个测试表 effect_row = cursor.execute("create table cstable (id int,sex char(1),name char(10));") # 提交,否则没法保存新建或者修改的数据 conn.commit() # 关闭游标 cursor.close() # 关闭链接 conn.close()
二、获取新建立数据自增ID编程
#!/usr/bin/env python # -*- coding:utf-8 -*- import pymysql # 建立链接 conn = pymysql.connect(host='10.1.80.200', port=3306, user='alex', passwd='alex', db='cs') # 建立游标 cursor = conn.cursor() # 执行SQL cursor.execute("select * from cstable;") # 获取前n行数据 # row_2 = cursor.fetchmany(3) # 获取全部数据 # row_3 = cursor.fetchall() # 获取第一行数据 row_1 = cursor.fetchone() # 打印第一行数据 print(row_1) # 关闭游标 cursor.close() # 关闭链接 conn.close()
三、更新mysql表中数据测试
对于支持事务的数据库, 在Python数据库编程中,当游标创建之时,就自动开始了一个隐形的数据库事务。fetch
commit()方法游标的全部更新操做,rollback()方法回滚当前游标的全部操做。每个方法都开始了一个新的事务。对象
#!/usr/bin/python3 import pymysql # 打开数据库链接 db = pymysql.connect("10.1.80.200", "alex", "alex", "ip") # 使用 cursor() 方法建立一个游标对象 cursor cursor = db.cursor() # SQL 更新语句 sql = "UPDATE ip_table SET status = 1 WHERE ipaddress = '10.1.80.62'" try: # 执行SQL语句 cursor.execute(sql) # 提交到数据库执行 db.commit() except: # 发生错误时回滚 db.rollback() # 关闭数据库链接 db.close()
Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。 fetchone(): 该方法获取下一个查询结果集。结果集是一个对象 fetchall(): 接收所有的返回结果行 rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。