溫馨提示×

python與sql如何連接

sql
小樊
81
2024-10-21 09:15:21
欄目: 云計算

Python與SQL的連接可以通過多種方式實現(xiàn),具體取決于你使用的數(shù)據(jù)庫類型。以下是一些常見的方法:

  1. 使用Python內(nèi)置的sqlite3模塊(適用于SQLite數(shù)據(jù)庫):
import sqlite3

# 連接到SQLite數(shù)據(jù)庫(如果不存在,則創(chuàng)建)
conn = sqlite3.connect('example.db')

# 創(chuàng)建一個游標(biāo)對象
cursor = conn.cursor()

# 執(zhí)行SQL命令
cursor.execute('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)')
cursor.execute("INSERT INTO users (name) VALUES ('Alice')")
cursor.execute("INSERT INTO users (name) VALUES ('Bob')")

# 提交更改
conn.commit()

# 查詢數(shù)據(jù)
cursor.execute('SELECT * FROM users')
rows = cursor.fetchall()
for row in rows:
    print(row)

# 關(guān)閉連接
conn.close()
  1. 使用Python的MySQL Connector/Python模塊(適用于MySQL數(shù)據(jù)庫):

首先,你需要安裝這個模塊:

pip install mysql-connector-python

然后,你可以使用以下代碼連接到MySQL數(shù)據(jù)庫:

import mysql.connector

# 連接到MySQL數(shù)據(jù)庫
conn = mysql.connector.connect(
    host='localhost',
    user='your_username',
    password='your_password',
    database='your_database'
)

# 創(chuàng)建一個游標(biāo)對象
cursor = conn.cursor()

# 執(zhí)行SQL命令
cursor.execute('CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255))')
cursor.execute("INSERT INTO users (name) VALUES ('Alice')")
cursor.execute("INSERT INTO users (name) VALUES ('Bob')")

# 提交更改
conn.commit()

# 查詢數(shù)據(jù)
cursor.execute('SELECT * FROM users')
rows = cursor.fetchall()
for row in rows:
    print(row)

# 關(guān)閉連接
conn.close()
  1. 使用Python的psycopg2模塊(適用于PostgreSQL數(shù)據(jù)庫):

首先,你需要安裝這個模塊:

pip install psycopg2

然后,你可以使用以下代碼連接到PostgreSQL數(shù)據(jù)庫:

import psycopg2

# 連接到PostgreSQL數(shù)據(jù)庫
conn = psycopg2.connect(
    host='localhost',
    user='your_username',
    password='your_password',
    dbname='your_database'
)

# 創(chuàng)建一個游標(biāo)對象
cursor = conn.cursor()

# 執(zhí)行SQL命令
cursor.execute('CREATE TABLE IF NOT EXISTS users (id SERIAL PRIMARY KEY, name VARCHAR(255))')
cursor.execute("INSERT INTO users (name) VALUES ('Alice')")
cursor.execute("INSERT INTO users (name) VALUES ('Bob')")

# 提交更改
conn.commit()

# 查詢數(shù)據(jù)
cursor.execute('SELECT * FROM users')
rows = cursor.fetchall()
for row in rows:
    print(row)

# 關(guān)閉連接
conn.close()

注意:在實際應(yīng)用中,請確保不要將敏感信息(如數(shù)據(jù)庫憑據(jù))硬編碼到腳本中。最好使用環(huán)境變量或其他安全方法來存儲這些信息。

0