Python数据库编程
在现代Web应用程序中,数据库是必不可少的组成部分。Python提供了多个流行的数据库API,使得开发者可以轻松地与各种关系型和非关系型数据库进行交互。本篇博客将介绍Python数据库编程的基础知识和常用技巧。
1. 连接数据库
在Python中连接数据库通常需要使用相应的数据库模块。以MySQL为例,可以使用mysql-connector-python
模块来连接MySQL数据库。具体实现代码如下:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
print(mydb)
在上述代码中,mysql.connector.connect()
函数用于连接MySQL数据库。参数host
、user
、password
和database
分别表示数据库所在主机名、用户名、密码和数据库名。连接成功后,print()
函数输出mydb
对象。
2. 创建表
要在MySQL数据库中创建表,可以使用execute()
函数执行SQL语句。具体实现代码如下:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")
在上述代码中,mycursor.execute()
函数用于执行SQL语句。此处创建了一个名为customers
的表,包含name
和address
两个字段。
3. 插入数据
要向MySQL数据库中的表中插入数据,可以使用execute()
函数执行SQL语句。具体实现代码如下:
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, "record inserted.")
在上述代码中,mycursor.execute()
函数用于执行SQL语句。此处向customers
表中插入了一条数据,包含name
和address
两个字段的值。mydb.commit()
函数用于提交事务,mycursor.rowcount
变量用于获取受影响的行数。
4. 查询数据
要从MySQL数据库中的表中查询数据,可以使用execute()
函数执行SQL语句。具体实现代码如下:
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)
在上述代码中,mycursor.execute()
函数用于执行SQL语句。此处查询了customers
表中的所有数据,并通过mycursor.fetchall()
函数获取查询结果。最后,通过for
循环遍历查询结果并输出。
5. 更新数据
要更新MySQL数据库中的表中的数据,可以使用execute()
函数执行SQL语句。具体实现代码如下:
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, "record(s) affected")
在上述代码中,mycursor.execute()
函数用于执行SQL语句。此处更新了customers
表中名为John
的数据的address
字段的值。mydb.commit()
函数用于提交事务,mycursor.rowcount
变量用于获取受影响的行数。
6. 删除数据
要从MySQL数据库中的表中删除数据,可以使用execute()
函数执行SQL语句。具体实现代码如下:
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, "record(s) deleted")
在上述代码中,mycursor.execute()
函数用于执行SQL语句。此处删除了customers
表中名为John
的数据。mydb.commit()
函数用于提交事务,mycursor.rowcount
变量用于获取受影响的行数。
结语
本篇博客介绍了Python数据库编程的基础知识和常用技巧,包括连接数据库、创建表、插入数据、查询数据、更新数据和删除数据。