Python与数据库:MySQL、PostgreSQL和SQLite3!
Python是一种广泛使用的高级编程语言,可以用于开发各种应用程序,包括与数据库交互的应用程序。Python为开发人员提供了多种数据库API,使得与MySQL、PostgreSQL和SQLite3等数据库进行交互变得十分简单。
在本文中,我们将介绍如何使用Python与这三个流行的数据库交互。
MySQL
MySQL是一个流行的开源关系型数据库管理系统,它被广泛用于Web应用程序和其他应用程序。Python提供了MySQLdb和mysql-connector-python两个模块与MySQL进行交互。
使用MySQLdb模块:
```python
import MySQLdb
db = MySQLdb.connect(host="localhost", user="root", passwd="password", db="mydb")
cursor = db.cursor()
cursor.execute("SELECT * FROM mytable")
for row in cursor.fetchall():
print(row)
db.close()
```
使用mysql-connector-python模块:
```python
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="mydb"
)
mycursor = mydb.cursor()
mycursor.execute("SELECT * FROM mytable")
myresult = mycursor.fetchall()
for x in myresult:
print(x)
```
PostgreSQL
PostgreSQL是一个功能强大的开源对象关系型数据库系统。Python提供了psycopg2和PyGreSQL两个模块与PostgreSQL进行交互。
使用psycopg2模块:
```python
import psycopg2
conn = psycopg2.connect(database="mydb", user="myuser", password="mypassword", host="localhost", port="5432")
cur = conn.cursor()
cur.execute("SELECT * FROM mytable")
rows = cur.fetchall()
for row in rows:
print(row)
conn.close()
```
使用PyGreSQL模块:
```python
import pgdb
conn = pgdb.connect(database="mydb", user="myuser", password="mypassword", host="localhost", port="5432")
cur = conn.cursor()
cur.execute("SELECT * FROM mytable")
rows = cur.fetchall()
for row in rows:
print(row)
conn.close()
```
SQLite3
SQLite3是一个轻量级的数据库引擎,它不需要单独的服务器进程,因为它将整个数据库存储在一个文件中。Python内置了sqlite3模块与SQLite3进行交互。
```python
import sqlite3
conn = sqlite3.connect('mydb.sqlite3')
cur = conn.cursor()
cur.execute("SELECT * FROM mytable")
rows = cur.fetchall()
for row in rows:
print(row)
conn.close()
```
结论
Python提供了多种与MySQL、PostgreSQL和SQLite3等数据库进行交互的方法,使得开发人员可以轻松地存储、检索和处理数据。以上演示的方法只是其中的一部分,更多详细的API和用法请参考官方文档。