一、连接到MySQL数据库
在使用Python操作MySQL之前,首先需要建立与数据库之间的连接。可以使用Python的"mysql-connector-python"驱动程序来实现。
import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword" ) print(mydb)
这将输出类似下面的信息:
<mysql.connector.connection_cext.CMySQLConnection object at 0x000002279C7EA208>
如果没有报错,那么说明你已经成功连接到了MySQL数据库。
二、创建数据库和表
连接到MySQL后,可以通过执行SQL语句来创建数据库和表。下面的示例演示如何创建名为"mydatabase"的数据库和一个名为"customers"的表。
import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword" ) mycursor = mydb.cursor() mycursor.execute("CREATE DATABASE mydatabase") mycursor.execute("USE mydatabase") mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")
这样就建立了一个名为"mydatabase"的新数据库,并向其中添加了一个名为"customers"的表。
三、插入、查询和更新数据
在已有数据库和表的情况下,可以通过Python将数据插入到表中,也可以通过SQL语句进行查询和更新。
1. 插入数据
下面的代码演示如何将一条数据插入到"customers"表中:
import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="mydatabase" ) mycursor = mydb.cursor() sql = "INSERT INTO customers (name, address) VALUES (%s, %s)" val = ("John", "Highway 21") mycursor.execute(sql, val) mydb.commit() print(mycursor.rowcount, "记录插入成功。")
这将在"customers"表中插入一条数据,包括名为"John",地址为"Highway 21"。
2. 查询数据
下面的代码演示如何从"customers"表中查询所有数据:
import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="mydatabase" ) mycursor = mydb.cursor() mycursor.execute("SELECT * FROM customers") myresult = mycursor.fetchall() for x in myresult: print(x)
这将输出"customers"表中的所有数据。
3. 更新数据
下面的代码演示如何更新"customers"表中名为"John"的记录地址:
import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="mydatabase" ) mycursor = mydb.cursor() sql = "UPDATE customers SET address = 'Canyon 123' WHERE name = 'John'" mycursor.execute(sql) mydb.commit() print(mycursor.rowcount, " 条记录被修改")
这将将"John"的地址从"Highway 21"更新为"Canyon 123"。
四、删除数据
在已有数据库和表的情况下,可以通过Python从表中删除数据。
1. 删除数据
下面的代码演示如何从"customers"表中删除名为"John"的记录:
import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="mydatabase" ) mycursor = mydb.cursor() sql = "DELETE FROM customers WHERE name = 'John'" mycursor.execute(sql) mydb.commit() print(mycursor.rowcount, " 条记录删除")
这将从"customers"表中删除名为"John"的记录。
五、总结
Python的mysql-connector模块提供了一种可靠的与MySQL数据库进行交互的方式。通过Python,可以轻松地创建和管理数据库、插入、查询、更新或删除数据。