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操作数据库增删改查的主要内容,如果未能解决你的问题,请参考以下文章

python之pymysql库连接mysql实现增删改查

python-对数据库的增删改查

pymysql实现数据库的增删改查

python操作mysql--增删改查

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

pymysql增删改查视图触发器事务存储过程内置函数流程控制索引理论