📜  Python数据库和SQL(1)

📅  最后修改于: 2023-12-03 15:19:33.771000             🧑  作者: Mango

Python数据库和SQL

Python是一种流行的编程语言,因其简单易学,强大的功能,开发速度快等特点而备受欢迎。Python也适用于数据库应用程序的开发。本文将介绍Python中使用的SQL数据库。

Python中的数据库

Python中有很多种数据库可供选择,包括以下几种:

  • SQLite
  • MySQL
  • PostgreSQL
  • Oracle
  • MongoDB

每种数据库都有其自己的优点和适用场景。SQLite是一种轻量级的数据库,适用于小型项目,MySQL和PostgreSQL是流行的关系型数据库,适用于中型和大型项目,Oracle是一种高度优化的数据库,适用于大型企业级应用程序,MongoDB是一种基于文档的数据库,适用于非结构化和分布式环境。

数据库连接

连接数据库是Python中处理数据库的第一步。下面是连接MySQL数据库的示例:

import mysql.connector

mydb = mysql.connector.connect(
    host="localhost",
    user="root",
    password="password",
    database="mydatabase"
)

print(mydb)

在上面的代码中,我们使用mysql.connector模块连接MySQL数据库。host参数指定了数据库所在的主机名或 IP 地址,userpassword参数指定了用于连接数据库的用户名和密码,database参数指定了要连接的数据库。通过mysql.connector.connect()方法连接数据库,并将连接对象存储在变量mydb中。

执行SQL查询

当连接到数据库后,就可以使用SQL进行查询了。下面是一些SQL查询的示例:

import mysql.connector

mydb = mysql.connector.connect(
    host="localhost",
    user="root",
    password="password",
    database="mydatabase"
)

mycursor = mydb.cursor()

# 查询所有数据
mycursor.execute("SELECT * FROM customers")
myresult = mycursor.fetchall()

for x in myresult:
  print(x)

# 查询特定数据
mycursor.execute("SELECT name, address FROM customers")
myresult = mycursor.fetchall()

for x in myresult:
  print(x)

# 查询条件
sql = "SELECT * FROM customers WHERE address = %s"
adr = ("Yellow Garden 2", )

mycursor.execute(sql, adr)
myresult = mycursor.fetchall()

for x in myresult:
  print(x)

在上面的代码中,我们调用cursor()方法创建一个游标对象,然后使用execute()方法执行查询。fetchall()方法将返回所有查询结果,我们可以使用for循环遍历这些结果并处理它们。我们还可以使用条件语句来获取特定的查询结果。

执行SQL插入

执行SQL插入的过程与查询十分相似。下面是一个可以将数据插入到表中的示例:

import mysql.connector

mydb = mysql.connector.connect(
    host="localhost",
    user="root",
    password="password",
    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.")

在这个例子中,我们编写了一个SQL查询来向数据库表中插入数据。我们使用execute()方法执行查询,并使用commit()方法将更改保存到数据库中。我们还可以使用rowcount属性来获取插入的数据量。

执行SQL删除

执行SQL删除的过程也与查询和插入非常相似。下面是一个可以从表中删除数据的示例:

import mysql.connector

mydb = mysql.connector.connect(
    host="localhost",
    user="root",
    password="password",
    database="mydatabase"
)

mycursor = mydb.cursor()

sql = "DELETE FROM customers WHERE address = 'Mountain 21'"

mycursor.execute(sql)

mydb.commit()

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

在这个例子中,我们编写了一个SQL查询来删除数据库表中的数据。我们使用execute()方法执行查询,并使用commit()方法将更改保存到数据库中。我们还可以使用rowcount属性来获取删除的数据量。

结论

Python提供了很多优秀的库和工具,使我们可以使用SQL数据库来构建稳健,高效和可靠的应用程序。此外,Python还提供了很多快捷方式和语法糖,能够减少开发时间和代码量。在本文中,我们了解了如何连接数据库,执行查询,插入和删除数据。这些示例可以帮助你快速上手并开始开发你的数据库应用程序。