Python數(shù)據(jù)庫(kù)操作怎樣實(shí)現(xiàn)查詢

小樊
81
2024-10-24 18:56:38

在Python中,可以使用多種方法來(lái)操作數(shù)據(jù)庫(kù)并執(zhí)行查詢。以下是使用sqlite3庫(kù)(Python內(nèi)置的數(shù)據(jù)庫(kù)連接庫(kù))進(jìn)行數(shù)據(jù)庫(kù)操作和查詢的示例:

首先,確保已經(jīng)安裝了sqlite3庫(kù)。在命令行中輸入以下命令來(lái)安裝:

pip install pysqlite3

然后,創(chuàng)建一個(gè)名為test.db的數(shù)據(jù)庫(kù)文件,并在其中創(chuàng)建一個(gè)名為employees的表:

import sqlite3

# 連接到數(shù)據(jù)庫(kù),如果不存在則創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)文件
conn = sqlite3.connect('test.db')
cursor = conn.cursor()

# 創(chuàng)建一個(gè)名為employees的表
cursor.execute('''
CREATE TABLE IF NOT EXISTS employees (
    id INTEGER PRIMARY KEY,
    name TEXT NOT NULL,
    age INTEGER,
    department TEXT
)
''')

# 插入一些示例數(shù)據(jù)
employees_data = [
    ('Alice', 30, 'HR'),
    ('Bob', 25, 'IT'),
    ('Charlie', 35, 'Finance')
]

cursor.executemany('INSERT INTO employees (name, age, department) VALUES (?, ?, ?)', employees_data)
conn.commit()

接下來(lái),執(zhí)行查詢操作:

# 查詢所有員工信息
cursor.execute('SELECT * FROM employees')
all_employees = cursor.fetchall()
print("所有員工信息:")
for employee in all_employees:
    print(employee)

# 查詢特定條件的員工信息
cursor.execute('SELECT * FROM employees WHERE age > ?', (30,))
older_employees = cursor.fetchall()
print("\n年齡大于30歲的員工:")
for employee in older_employees:
    print(employee)

最后,關(guān)閉數(shù)據(jù)庫(kù)連接:

cursor.close()
conn.close()

這個(gè)示例展示了如何使用Python的sqlite3庫(kù)連接到SQLite數(shù)據(jù)庫(kù),創(chuàng)建表,插入數(shù)據(jù)以及執(zhí)行查詢操作。對(duì)于其他數(shù)據(jù)庫(kù),如MySQL、PostgreSQL等,可以使用相應(yīng)的Python庫(kù)(如pymysql、psycopg2等)來(lái)實(shí)現(xiàn)類似的功能。

0