Python pymysql

pip  install  PyMysql

数据库连接

#!/usr/bin/python3
  
import  pymysql
  
# 打开数据库连接
# mysql地址localhost,用户名testuser,密码test123,库名TESTDB。
# 库名非必须
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)
  
# 关闭数据库连接

创建数据库表

#!/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 )"""
  
  
# 关闭数据库连接

数据插入

 

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

数据库查询操作

Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。

  • fetchone(): 该方法获取下一个查询结果集。结果集是一个对象
  • fetchall(): 接收全部的返回结果行.
  • rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。

查询EMPLOYEE表中salary(工资)字段大于1000的所有数据:

#!/usr/bin/python3
  
import  pymysql
  
# 打开数据库连接
db  =  pymysql.connect( "localhost" , "testuser" , "test123" , "TESTDB"  )
  
# 使用cursor()方法获取操作游标
cursor  =  db.cursor()
  
# SQL 查询语句
sql  =  "SELECT  *  FROM EMPLOYEE \
        WHERE INCOME >  '%d' %  ( 1000 )
try :
    # 执行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" )
  
# 关闭数据库连接

转载于:https://www.cnblogs.com/Presley-lpc/p/9844399.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值