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和用法请参考官方文档。