Python---连接数据库

 

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数据库。参数hostuserpassworddatabase分别表示数据库所在主机名、用户名、密码和数据库名。连接成功后,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的表,包含nameaddress两个字段。

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表中插入了一条数据,包含nameaddress两个字段的值。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数据库编程的基础知识和常用技巧,包括连接数据库、创建表、插入数据、查询数据、更新数据和删除数据。