使用pymysql对数据进行增删改查

什么是 PyMySQL?

PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。

PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。

1、安装pymysql

 pip3 install PyMySQL

2、pymysql执行流程

使用pymysql对数据进行增删改查_第1张图片

3、引入模块

  • py文件中引入pymysql

from pymysql import *

4、Connection 对象

  • 用于建立与数据库的连接
  • 创建对象:调用connect()方法

conn=connect(参数列表)

  • 参数host接的mysql主机,如果本机是'localhost'
  • 参数port接的mysql主机的端口,默3306
  • 参数database:数据的名称
  • 参数user接的用
  • 参数password接的密
  • 参数charset:通信采用的编码方式,推荐使用utf8

对象的方

  • close()闭连
  • commit()提交
  • cursor()返回Cursor对象,用于执行sql语句并获得结

5、Cursor对象

  • 用于sql语句,使用频度最高的语句为selectinsertupdatedelete
  • 获取Cursor对象:调用Connection对象的cursor()方法

cs1=conn.cursor()

6、对象的方法

  • close()
  • execute(operation [, parameters ])执行语句,返回受影响的行数,主要用于执行insertupdatedelete语句,也可以执行createalterdrop
  • fetchone()执行查询语句时,获取查询结果集的第一个行数据,返回一个元
  • fetchall()执行查询时,获取结果集的所有行,一行构成一个元组,再将这些元组装入一个元组返

对象的属

  • rowcount属性,表示最近一次execute()执行后受影响的行
  • connection获得当前连接对

 

实例一:链接TESTDB


#!/usr/bin/python3
 
import pymysql
 
# 打开数据库连接         IP           USER    PASSWORD  DBNAME
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
 
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
 
# 使用 execute()  方法执行 SQL 查询 
cursor.execute("SELECT VERSION()")
 
# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()
 
print ("Database version : %s " % data)
 
# 关闭数据库连接
db.close()

 

实例二:创建数据库表


#!/usr/bin/python3
 
import pymysql
 
# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
 
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
 
# 使用 execute() 方法执行 SQL,如果表存在则删除
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")

--------------------------------------------看这里------------------------------------
# 使用预处理语句创建表
sql = """CREATE TABLE EMPLOYEE (
         FIRST_NAME  CHAR(20) NOT NULL,
         LAST_NAME  CHAR(20),
         AGE INT,  
         SEX CHAR(1),
         INCOME FLOAT )"""
 
cursor.execute(sql)
-------------------------------------------------------------------------------------
 
# 关闭数据库连接
db.close()

实例三:增加数据,向employee


#!/usr/bin/python3
 
import pymysql
 
# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
 
# 使用cursor()方法获取操作游标 
cursor = db.cursor()
--------------------------------------------------------here-------------------- 
# SQL 插入语句
sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
         LAST_NAME, AGE, SEX, INCOME)
         VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""
try:
   # 执行sql语句
   cursor.execute(sql)
   # 提交到数据库执行
   db.commit()
except:
   # 如果发生错误则回滚
   db.rollback()
 --------------------------------------------------------------------------------
# 关闭数据库连接
db.close()

 

实例四:查询数据


#!/usr/bin/python3
 
import pymysql
 
# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
 
# 使用cursor()方法获取操作游标 
cursor = db.cursor()
-------------------------------------here-----------------------------------
# SQL 查询语句
sql = "SELECT * FROM EMPLOYEE \
       WHERE INCOME > '%d'" % (1000)
try:
   # 执行SQL语句
   cursor.execute(sql)
   # 获取所有记录列表
   results = cursor.fetchall()
   for row in results:
      fname = row[0]
      lname = row[1]
      age = row[2]
      sex = row[3]
      income = row[4]
       # 打印结果
      print ("fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \
             (fname, lname, age, sex, income ))
except:
   print ("Error: unable to fetch data")
----------------------------------------------------------------------------------- 
# 关闭数据库连接
db.close()

 

实例五: 改(更新)数据


#!/usr/bin/python3
 
import pymysql
 
# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
 
# 使用cursor()方法获取操作游标 
cursor = db.cursor()
 
# SQL 更新语句
sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = '%c'" % ('M')
try:
   # 执行SQL语句
   cursor.execute(sql)
   # 提交到数据库执行
   db.commit()
except:
   # 发生错误时回滚
   db.rollback()
 
# 关闭数据库连接
db.close()

 

实例六:删除数据


#!/usr/bin/python3
 
import pymysql
 
# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
 
# 使用cursor()方法获取操作游标 
cursor = db.cursor()
 
# SQL 删除语句
sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20)
try:
   # 执行SQL语句
   cursor.execute(sql)
   # 提交修改
   db.commit()
except:
   # 发生错误时回滚
   db.rollback()
 
# 关闭连接
db.close()

 

实例七: 执行事务


# SQL删除记录语句
sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20)
try:
   # 执行SQL语句
   cursor.execute(sql)
   # 向数据库提交
   db.commit()
except:
   # 发生错误时回滚
   db.rollback()

 

 

作者:scrat

参考文档:http://www.runoob.com/python3/python3-mysql.html

你可能感兴趣的:(数据库)