Python数据库操作函数及其使用技巧
发布时间:2023-06-17 06:25:03
Python是一种广泛应用于数据科学的编程语言,它提供了各种内置的库和函数,可用于操作数据库。在本文中,我将介绍Python中最流行的一些数据库操作函数及其使用技巧。
1.连接数据库:Python提供了许多库来连接各种类型的数据库,包括MySQL、SQLite、Oracle和PostgreSQL等。其中,最常用的是Python MySQL Connector库。连接MySQL数据库的代码示例:
import mysql.connector mydb = mysql.connector.connect( host="localhost", user="username", password="password", database="mydatabase" ) mycursor = mydb.cursor()
2.执行SQL语句:Python提供了许多函数来执行SQL语句,包括SELECT、INSERT、UPDATE和DELETE等。例如,执行SELECT语句的代码示例:
sql = "SELECT * FROM customers WHERE address ='Park Lane 38'" mycursor.execute(sql) myresult = mycursor.fetchall() for x in myresult: print(x)
3.插入记录:要在数据库中插入新记录,可以使用INSERT INTO语句。示例代码:
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")
4.更新记录:要更新数据库中的记录,可以使用UPDATE语句。示例代码:
sql = "UPDATE customers SET address = 'Canyon 123' WHERE address = 'Valley 345'" mycursor.execute(sql) mydb.commit() print(mycursor.rowcount, "records updated")
5.删除记录:要从数据库中删除记录,可以使用DELETE语句。示例代码:
sql = "DELETE FROM customers WHERE address = 'Mountain 21'" mycursor.execute(sql) mydb.commit() print(mycursor.rowcount, "record(s) deleted")
6.事务处理:在操作数据库时,有时需要确保一组相关的SQL语句一起执行或一起回滚。在这种情况下,可以使用Python的事务处理功能。示例代码:
try: mydb.start_transaction() sql = "UPDATE customers SET address = 'Canyon 123' WHERE address = 'Valley 345'" mycursor.execute(sql) sql = "DELETE FROM customers WHERE address = 'Mountain 21'" mycursor.execute(sql) mydb.commit() except: mydb.rollback()
7.使用参数:在执行SQL语句时,可以使用参数代替硬编码的值。这可以帮助防止SQL注入攻击。示例代码:
sql = "SELECT * FROM customers WHERE address = %s"
adr = ("Yellow Garden 2", )
mycursor.execute(sql, adr)
myresult = mycursor.fetchall()
for x in myresult:
print(x)
8.预处理语句:在执行相同的SQL语句多次时,预处理语句可以提高性能。示例代码:
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = [
('Peter', 'Lowstreet 4'),
('Amy', 'Apple st 652'),
('Hannah', 'Mountain 21'),
('Michael', 'Valley 345'),
('Sandy', 'Ocean blvd 2'),
('Betty', 'Green Grass 1'),
('Richard', 'Sky st 331'),
('Susan', 'One way 98'),
('Vicky', 'Yellow Garden 2'),
('Ben', 'Park Lane 38'),
('William', 'Central st 954'),
('Chuck', 'Main Road 989'),
('Viola', 'Sideway 1633')
]
mycursor.executemany(sql, val)
mydb.commit()
print(mycursor.rowcount, "was inserted.")
在本文中,我介绍了Python中最常用的数据库操作函数和技巧,包括连接数据库、执行SQL语句、插入、更新和删除记录、事务处理、使用参数和预处理语句。这些函数和技巧可以帮助您以更高效和安全的方式操作数据库。
