Python连接SQLite、MySQL、MSSQL、MongoDB和Redis数据库实战

0 下载量 172 浏览量 更新于2024-09-04 收藏 76KB PDF 举报
本文将介绍如何使用Python连接到多种主流的数据库,包括关系型数据库SQLite、MySQL、MSSQL以及非关系型数据库MongoDB和Redis。通过实例代码,我们将了解如何进行基本的操作,如创建数据库连接、执行SQL语句、插入数据等。 首先,我们来看如何使用Python连接SQLite数据库。在Python中,我们可以使用内置的`sqlite3`模块来实现这个功能。以下是一个简单的示例: ```python import sqlite3 try: # 创建或打开已存在的数据库文件 with sqlite3.connect('test.db') as conn: print("数据库连接成功") # 删除表(如果存在) conn.execute("DROP TABLE IF EXISTS COMPANY") # 创建表 sql = """ CREATE TABLE IF NOT EXISTS COMPANY (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL); """ conn.execute(sql) print("表格创建成功") # 插入数据 data = [ ('Paul', 32, 'California', 20000.00), ('Allen', 25, 'Texas', 15000.00), ('Teddy', 23, 'Norway', 20000.00), ('Mark', 25, 'Rich-Mond', 65000.00), ('David', 27, 'Texas', 85000.00), ('Kim', 22, 'South-Hall', 45000.00), ('James', 24, 'Houston', 10000.00) ] conn.executemany("INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY) VALUES (?,?,?,?)", data) print("数据插入成功") except Exception as e: traceback.print_exc() ``` 对于MySQL数据库,我们需要使用`pymysql`库,安装后可以通过以下方式连接: ```python import pymysql # 连接MySQL数据库 conn = pymysql.connect(host='localhost', user='username', password='password', db='database_name') try: with conn.cursor() as cursor: # 执行SQL语句 sql = "SELECT * FROM COMPANY" cursor.execute(sql) result = cursor.fetchall() for row in result: print(row) finally: conn.close() ``` 对于MSSQL,可以使用`pyodbc`库: ```python import pyodbc # MSSQL连接字符串 conn_str = ( r'DRIVER={ODBC Driver 17 for SQL Server};' r'SERVER=myServerAddress;' r'DATABASE=myDataBase;' r'UID=myUsername;' r'PWD=myPassword;' ) # 连接MSSQL conn = pyodbc.connect(conn_str) try: with conn.cursor() as cursor: # 执行SQL语句 cursor.execute("SELECT * FROM myTable") rows = cursor.fetchall() for row in rows: print(row) finally: conn.close() ``` 对于非关系型数据库,如MongoDB,我们可以使用`pymongo`库: ```python from pymongo import MongoClient # 连接MongoDB client = MongoClient('mongodb://localhost:27017/') db = client['my_database'] collection = db['my_collection'] # 插入数据 document = {"name": "John", "age": 30, "city": "New York"} collection.insert_one(document) # 查询数据 for doc in collection.find(): print(doc) ``` 对于Redis,我们需要`redis`库: ```python import redis # 连接Redis r = redis.Redis(host='localhost', port=6379, db=0) # 设置键值 r.set('key', 'value') # 获取键值 value = r.get('key') print(value) ``` 以上代码展示了如何使用Python连接SQLite、MySQL、MSSQL、MongoDB和Redis数据库,并进行基本操作。在实际应用中,根据具体需求,还需要处理更复杂的查询、更新、删除等操作,以及事务管理、错误处理等。