📅  最后修改于: 2023-12-03 15:19:33.771000             🧑  作者: Mango
Python是一种流行的编程语言,因其简单易学,强大的功能,开发速度快等特点而备受欢迎。Python也适用于数据库应用程序的开发。本文将介绍Python中使用的SQL数据库。
Python中有很多种数据库可供选择,包括以下几种:
每种数据库都有其自己的优点和适用场景。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 地址,user
和password
参数指定了用于连接数据库的用户名和密码,database
参数指定了要连接的数据库。通过mysql.connector.connect()
方法连接数据库,并将连接对象存储在变量mydb
中。
当连接到数据库后,就可以使用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插入的过程与查询十分相似。下面是一个可以将数据插入到表中的示例:
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删除的过程也与查询和插入非常相似。下面是一个可以从表中删除数据的示例:
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还提供了很多快捷方式和语法糖,能够减少开发时间和代码量。在本文中,我们了解了如何连接数据库,执行查询,插入和删除数据。这些示例可以帮助你快速上手并开始开发你的数据库应用程序。