python如何操作mysql

1. Python连接MySQL数据库

在Python中操作MySQL数据库需要安装MySQL Connector/Python驱动,可以通过以下命令进行安装:

pip install mysql-connector-python

1.1 导入mysql.connector模块

import mysql.connector

1.2 连接MySQL数据库

使用connect()函数连接到MySQL数据库,传入相应的连接信息:

mydb = mysql.connector.connect(

host="localhost",

user="root",

password="123456",

database="mydatabase"

)

在连接MySQL数据库时,需要提供主机名(host)、用户名(user)、密码(password)和要连接的数据库(database)。如果连接成功,会返回一个MySQL连接对象。

2. 创建数据库和数据表

2.1 创建数据库

在MySQL中,可以使用CREATE DATABASE语句创建数据库:

mycursor = mydb.cursor()

mycursor.execute("CREATE DATABASE mydatabase")

首先,创建一个游标对象,用于执行SQL语句。然后,使用execute()方法执行CREATE DATABASE语句,创建名为mydatabase的数据库。

2.2 创建数据表

创建数据表需要使用CREATE TABLE语句,指定表名和字段信息:

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

以上语句创建了一个名为customers的数据表,包含id、name和address三个字段。id字段为自增主键,name和address字段的数据类型为VARCHAR,长度为255。

3. 插入数据

可以使用INSERT INTO语句向数据表中插入数据:

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

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

mycursor.execute(sql, val)

mydb.commit()

首先,创建一个INSERT INTO语句,指定要插入的目标数据表和字段。然后,使用execute()方法执行SQL语句,并通过参数传递要插入的值。最后,使用commit()方法提交事务,将数据保存到数据库中。

4. 查询数据

使用SELECT语句可以查询数据库中的数据:

mycursor.execute("SELECT * FROM customers")

result = mycursor.fetchall()

for row in result:

print(row)

首先,使用execute()方法执行SELECT语句,查询数据表中的所有数据。然后,使用fetchall()方法获取查询结果。最后,使用for循环遍历结果集,打印每一行数据。

5. 更新数据

可以使用UPDATE语句更新数据表中的数据:

sql = "UPDATE customers SET address = 'Canyon 123' WHERE name = 'John'"

mycursor.execute(sql)

mydb.commit()

首先,创建一个UPDATE语句,指定要更新的数据表和条件。然后,使用execute()方法执行SQL语句,更新符合条件的数据。最后,使用commit()方法提交事务,将更新保存到数据库中。

6. 删除数据

可以使用DELETE语句删除数据表中的数据:

sql = "DELETE FROM customers WHERE name = 'John'"

mycursor.execute(sql)

mydb.commit()

首先,创建一个DELETE语句,指定要删除的数据表和条件。然后,使用execute()方法执行SQL语句,删除符合条件的数据。最后,使用commit()方法提交事务,将删除操作保存到数据库中。

总结

本文介绍了使用Python操作MySQL数据库的基本步骤,包括连接数据库、创建数据库和数据表、插入、查询、更新和删除数据等操作。通过这些操作,可以实现对MySQL数据库的增删改查功能。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签