您的位置:

Python读取数据库简单实用教程

随着互联网行业的不断发展,越来越多的数据需要存储和管理。数据库是一种被广泛应用的数据管理工具,而Python作为一种流行的编程语言,也在数据库的读取和管理方面得到了广泛的应用。本文将介绍Python读取数据库的基本方法及相关的知识点。

一、连接数据库

Python连接数据库的方法有很多种,我们可以使用Python自带的sqlite3模块连接SQLite数据库,或者使用第三方的模块连接MySQL、Oracle等其他类型的数据库。下面以SQLite数据库为例,介绍如何连接到数据库。


import sqlite3

# 连接到SQLite数据库
conn = sqlite3.connect('example.db')

上面的代码中,我们使用了Python自带的sqlite3模块,调用了connect()函数连接到SQLite数据库。其中example.db是我们要连接的数据库文件。

二、创建表格

在连接到数据库后,我们可以创建表格,并在表格中插入数据。使用CREATE TABLE语句可以创建一个新的表格,使用INSERT语句可以向表格中插入新的数据。


import sqlite3

# 连接到SQLite数据库
conn = sqlite3.connect('example.db')

# 创建一个新表
conn.execute('''CREATE TABLE COMPANY
       (ID INT PRIMARY KEY     NOT NULL,
       NAME           TEXT    NOT NULL,
       AGE            INT     NOT NULL,
       ADDRESS        CHAR(50),
       SALARY         REAL);''')

# 插入数据
conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
      VALUES (1, 'Paul', 32, 'California', 20000.00)")

conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
      VALUES (2, 'Allen', 25, 'Texas', 15000.00)")

conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
      VALUES (3, 'Teddy', 23, 'Norway', 20000.00)")

conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
      VALUES (4, 'Mark', 25, 'Rich-Mond', 65000.00)")

# 提交事务
conn.commit()

上面的代码中,我们使用execute()函数执行SQL语句,创建了一个名为COMPANY的表格,并插入了一些数据。在插入数据之后,需要使用commit()函数提交事务,以确保数据存储在数据库中。

三、读取数据

在创建表格并插入数据后,我们可以使用SELECT语句从表格中读取数据。


import sqlite3

# 连接到SQLite数据库
conn = sqlite3.connect('example.db')

# 读取数据
cursor = conn.execute("SELECT id, name, address, salary from COMPANY")
for row in cursor:
    print("ID = ", row[0])
    print("NAME = ", row[1])
    print("ADDRESS = ", row[2])
    print("SALARY = ", row[3], "\n")

# 关闭数据库连接
conn.close()

上面的代码中,我们使用execute()函数执行SELECT语句,从COMPANY表格中读取了ID、NAME、ADDRESS和SALARY这些字段的数据。在读取数据时,我们可以使用for循环逐行打印数据。最后需要使用close()函数关闭数据库连接。

四、常见问题

1. 使用Python连接MySQL数据库

Python可以使用第三方模块连接MySQL数据库,例如使用pymysql模块连接MySQL。


import pymysql

# 连接到MySQL数据库
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='', db='test')

上面的代码中,我们使用pymysql模块连接到MySQL数据库。其中host、port、user、passwd和db是连接数据库必需提供的参数。

2. 读取数据库时如何处理异常

在读取数据库时,可能会遇到各种异常情况,例如数据库连接失败、读取数据失败等等。为了减少异常情况的发生,可以使用try…except语句处理异常,并对异常情况进行相应的处理。


import sqlite3

try:
    # 连接到SQLite数据库
    conn = sqlite3.connect('example.db')

    # 读取数据
    cursor = conn.execute("SELECT id, name, address, salary from COMPANY")
    for row in cursor:
        print("ID = ", row[0])
        print("NAME = ", row[1])
        print("ADDRESS = ", row[2])
        print("SALARY = ", row[3], "\n")

except Exception as e:
    print(e)

finally:
    # 关闭数据库连接
    conn.close()

上面的代码中,我们使用try…except语句处理异常。当遇到异常情况时,程序会抛出一个Exception异常,并通过exception as e语句输出异常信息。在处理完异常情况后,使用finally语句关闭数据库连接。

总结

本文介绍了Python读取数据库的基本方法及相关知识点。了解这些知识点可以帮助我们更好地处理数据,并提高数据管理的效率。在实际的应用中,我们需要根据具体的情况选择合适的数据库类型和连接方式,并掌握相应的编程技能,以便更好地完成数据管理任务。