python包接口_python编程 之 PyMysql包接口,python中如何使用数据库

1,环境介绍

要求:使用数据库TESTDB.EMPLOYMENT

EMPLOYEE表字段为 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME。

2,基本用法:

importpymysql#打开数据库连接,4个参数依次是:本地数据库,数据库用户名,密码,数据库名

db = pymysql.connect("localhost","xxxx","xxxx","TESTDB")#使用 cursor() 方法创建一个游标对象 cursor

cursor =db.cursor()#使用 execute() 方法执行 SQL 查询

cursor.execute("SELECT VERSION()") #返回1#使用 fetchone() 方法获取单条数据.

data =cursor.fetchone()print ("Database version : %s" %data) #返回:DATABASE VERSION:5.7.23-0ubuntu0.16.04.1

#关闭数据库连接

db.close()

>import pymysql

>db=pymysql.connect("localhost","testuser","test123","TESTDB" )    #连接到数据库先

>cursor=db.cursor()    #使用cursor方法创建一个游标对象cursor,目前不是很懂

>cursor.execute("drop table if exists EMPLOYEE")    #execute()的参数直接就是sql语言,只是不用末尾加分号而已,由此可见,这果然是个接口包。ps:真的可以删掉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)    #执行sql字符串代表的sql语言,创建一个table叫employee。 在命令行中执行的话,执行无误会返回0,

2,增

#!/usr/bin/python3

importpymysql#打开数据库连接,创建游标,开头启动数据库都是这一套,先链接数据库再设置游标

db = pymysql.connect("localhost","xxxx","xxxx","TESTDB")

cursor =db.cursor()#SQL 插入语句

sql = """INSERT INTO EMPLOYEE(FIRST_NAME,

LAST_NAME, AGE, SEX, INCOME)

VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""

try:#执行sql语句,此处只是预执行,不会真正插入数据,但是如果可执行就返回1,后面用commit提交

cursor.execute(sql)#提交刚刚的插入请求到数据库执行

db.commit()except:#如果发生错误则回滚

db.rollback()#关闭数据库连接

db.close()

特殊说明:ROLLBACK指的是【回滚】,即是在事务的运行过程中,发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有的已完成的操作全部撤销,回滚到事务开始之前的状态。

3 查

importpymysql

db= pymysql.connect("localhost","xxxx","xxxx","TESTDB")

cursor=db.cursor()#SQL 查询语句

sql = "select * from employee where income >2000"

try:#模拟执行SQL语句

cursor.execute(sql) #返回2

#获取所有记录列表

results = cursor.fetchall() #真正的执行查询语句,此时results是:(('Mark', 'Twn', 50, 'M', 3000.0), ('lee', 'devin', 30, 'M', 4000.0))

#此处往下只是格式化提取results中的内容。

for row inresults:

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()

特殊说明:pymysql中使用fetchone()或者fetchall()语句来提交和处理查询请求

4,改

importpymysql

db= pymysql.connect("localhost","xxxx","xxxx","TESTDB")

cursor=db.cursor()#SQL 更新语句

sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE INCOME >2000"

try:#执行SQL语句

cursor.execute(sql)#提交到数据库执行

db.commit()except:#发生错误时回滚

db.rollback()#关闭数据库连接

db.close()

5,删

importpymysql

db= pymysql.connect("localhost","xxxx","xxxx","TESTDB"cursor=db.cursor()#SQL 删除语句

sql = "DELETE FROM EMPLOYEE WHERE AGE > 40"

try:#执行SQL语句

cursor.execute(sql)#提交修改

db.commit()except:#发生错误时回滚

db.rollback()#关闭连接

db.close()

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值