pymysql实现python操作数据库增删改查
Posted ogr_mpwf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pymysql实现python操作数据库增删改查相关的知识,希望对你有一定的参考价值。
一、mysql创建数据库
首先,我们在mysql中创建一个名为travel的数据库,并在数据库中创建flights表。
1.1 创建数据库和表
/*创建数据库travel*/
DROP DATABASE IF EXISTS travel;
CREATE DATABASE IF NOT EXISTS travel;
USE travel;
/*创建数据库中的关系模式*/
CREATE TABLE IF NOT EXISTS flights(
flightNum VARCHAR(30) PRIMARY KEY,#航班号
price INT,#机票价格
numSeats INT,#座位总数
numAvail INT,#可被预定座位数
FromCity VARCHAR(30),#起点
ArivCity VARCHAR(30),#终点
CONSTRAINT ck_numAvail CHECK(numAvail<=numSeats AND numAvail>=0),
CONSTRAINT ck_price CHECK(price>=0),
CONSTRAINT ck_numSeats CHECK(numSeats>=0)
)
1.2插入数据
然后,我们在mysql中插入一定量的数据。
INSERT INTO flights
VALUES('CA1206','1500','100','100','Houston','Olympic'),
('CZ3151','800','100','100','Lincoln','Washington D.C.'),
('CP2452','900','100','100','Olympic','New Orleans'),
('CN1242','1000','100','100','Miami','New York'),
('CM1672','780','100','100','New York','Lincoln');
1.3 查看数据
在mysql中查看flights表中数据
SELECT *FROM `flights`;
二、pymysql操作数据库
2.1 引入库mysql库
from pymysql import *
import pandas as pd
2.2 查询操作
进行查询操作,我们创建函数select_text()用来查询数据库中的数据。
#查询数据
def select_text():
#创建Connection连接,password为你的mysql用户密码
conn=connect(host='localhost',port=3306,user='root',password='XXXXXX',database='travel')
#获取游标对象
cs1=conn.cursor()
#执行select语句,并返回影响行数:查询一条数据
count=cs1.execute('select * from flights;')
#打印受影响的行数
print('受影响的数据有:',count,'行')
#获取查询全部数据,返回结果为元组
result=cs1.fetchall()
#将结果转化为dataframe形式
table_list=[]
for i in result:
table_list.append(list(i))
df=pd.DataFrame(table_list,columns=["flightnum","price","numSeats","numAvail","FromCity","ArivCity"])
#关闭游标
cs1.close()
#关闭连接
conn.close()
return df
调用函数,我们可以得到以下结果:
print(select_text())
2.3 增删改操作
对于mysql中的插入,更新,删除语句,我们均可以使用execute函数来实现,我们只需要更改execute函数中的字符串便可以实现三种mysql基本语句。在这里以插入语句insert为例来进行python代码实现。
在代码中,需要注意的是,每一次执行execute语句,均需在execute后执行commit语句,因为pymysql库默认执行mysql语句为事务形式,在执行事务后,需要进行事务提交才能成功执行mysql语句。
#增删改
def change_data():
#创建Connection连接
conn=connect(host='localhost',port=3306,user='root',password='XXXXXXX',database='travel')
#获取游标对象
cs1=conn.cursor()
#输入插入语句
cs1.execute("INSERT INTO flights VALUES('CA1230','6500','90','90','Olympic','Houston');")
#提交事务
conn.commit()
cs1.close()
conn.close()
调用函数:
change_data()
再次执行查询语句:
print(select_text())
我们可以得到:
以上是关于pymysql实现python操作数据库增删改查的主要内容,如果未能解决你的问题,请参考以下文章