优草派 > 问答 > Python

带你彻底搞懂python操作mysql数据库(cursor游标讲解)

作者:Q604318423     

在Python编程中,操作MySQL数据库是非常普遍的需求。Python的MySQL模块是一个很好的选择,它提供了许多有用的API来连接和操作MySQL数据库。其中,cursor游标是最基础、最重要的操作方式之一。本文将从多个角度分析Python操作MySQL数据库,重点讲解cursor游标的使用方法。

一、安装MySQL模块

在使用MySQL模块之前,需要先安装它。我们可以使用pip来安装:

```

$ pip install mysql-connector-python

```

或者

```

$ pip install pymysql

```

其中,mysql-connector-python是官方的MySQL模块,而pymysql是第三方的MySQL模块,两者都可以使用。在本文中,我们以mysql-connector-python为例进行讲解。

二、连接MySQL数据库

使用MySQL模块连接MySQL数据库,需要提供以下信息:

- 主机名或IP地址

- 端口号,默认为3306

- 数据库名

- 用户名

- 密码

连接MySQL数据库的代码如下:

```

import mysql.connector

mydb = mysql.connector.connect(

host="localhost",

user="username",

password="password",

database="database_name"

)

print(mydb)

```

其中,host、user、password、database分别为主机名、用户名、密码和数据库名。

三、创建表

连接数据库之后,我们可以使用游标(cursor)来执行SQL语句。首先,我们需要创建一个表。创建表的SQL语句如下:

```

CREATE TABLE customers (

id INT AUTO_INCREMENT PRIMARY KEY,

name VARCHAR(255),

address VARCHAR(255)

)

```

使用游标执行SQL语句的代码如下:

```

mycursor = mydb.cursor()

mycursor.execute("CREATE TABLE customers (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), address VARCHAR(255))")

```

其中,mycursor是一个游标对象,execute()方法用于执行SQL语句。

四、插入数据

创建好表之后,我们可以向表中插入数据。插入数据的SQL语句如下:

```

INSERT INTO customers (name, address) VALUES (%s, %s)

```

使用游标执行插入数据的代码如下:

```

sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"

val = ("John", "Highway 21")

mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, "record inserted.")

```

在代码中,我们先定义了一个SQL语句和需要插入的数据。然后,使用execute()方法执行SQL语句,并使用commit()方法提交数据。最后,打印插入数据的行数。

五、查询数据

插入数据之后,我们可以使用游标查询数据。查询数据的SQL语句如下:

```

SELECT * FROM customers

```

使用游标执行查询数据的代码如下:

```

mycursor.execute("SELECT * FROM customers")

myresult = mycursor.fetchall()

for x in myresult:

print(x)

```

在代码中,我们使用execute()方法执行SQL语句,并使用fetchall()方法获取所有的查询结果。然后,使用for循环遍历查询结果并打印。

六、更新数据

查询数据之后,我们可以使用游标更新数据。更新数据的SQL语句如下:

```

UPDATE customers SET address = %s WHERE name = %s

```

使用游标执行更新数据的代码如下:

```

sql = "UPDATE customers SET address = %s WHERE name = %s"

val = ("Valley 345", "John")

mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, "record(s) affected")

```

在代码中,我们先定义了一个SQL语句和需要更新的数据。然后,使用execute()方法执行SQL语句,并使用commit()方法提交数据。最后,打印更新数据的行数。

七、删除数据

更新数据之后,我们可以使用游标删除数据。删除数据的SQL语句如下:

```

DELETE FROM customers WHERE name = %s

```

使用游标执行删除数据的代码如下:

```

sql = "DELETE FROM customers WHERE name = %s"

name = ("John", )

mycursor.execute(sql, name)

mydb.commit()

print(mycursor.rowcount, "record(s) deleted")

```

在代码中,我们先定义了一个SQL语句和需要删除的数据。然后,使用execute()方法执行SQL语句,并使用commit()方法提交数据。最后,打印删除数据的行数。

八、关闭连接

操作MySQL数据库之后,我们需要关闭连接。关闭连接的代码如下:

```

mydb.close()

```

使用完MySQL数据库之后,一定要注意关闭连接,否则可能会导致资源浪费或者连接数过多而出现连接失败的问题。

本文主要从连接MySQL数据库、创建表、插入数据、查询数据、更新数据和删除数据等多个角度分析了Python操作MySQL数据库的方法,重点讲解了cursor游标的使用方法。希望本文能够帮助读者更好地理解Python操作MySQL数据库的方法。

5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
相关问题
sql判断字段是否存在
python键值对
for循环可以遍历字典吗
怎么使用vscode
查看更多

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024