Cách kết nối Python với cơ sở dữ liệu SQL
Kết nối Python với cơ sở dữ liệu SQL cho phép bạn tương tác với cơ sở dữ liệu trực tiếp từ các tập lệnh Python của mình. Khả năng này rất cần thiết cho các tác vụ như truy xuất dữ liệu, cập nhật và phân tích. Trong bài viết này, chúng ta sẽ khám phá cách kết nối Python với cơ sở dữ liệu SQL bằng các thư viện phổ biến như SQLite, MySQL và PostgreSQL.
Thiết lập môi trường của bạn
Để kết nối Python với cơ sở dữ liệu SQL, bạn cần cài đặt các thư viện kết nối cơ sở dữ liệu phù hợp. Sau đây là các thư viện phổ biến cho các cơ sở dữ liệu khác nhau:
- SQLite: Không cần cài đặt thêm vì hỗ trợ SQLite đã được tích hợp sẵn trong Python.
- MySQL: Sử dụng thư viện
mysql-connector-python
hoặcPyMySQL
. - PostgreSQL: Sử dụng thư viện
psycopg2
.
Kết nối với cơ sở dữ liệu SQLite
SQLite là một cơ sở dữ liệu nhẹ được tích hợp vào thư viện chuẩn của Python. Sau đây là cách kết nối với cơ sở dữ liệu SQLite và thực hiện các thao tác cơ bản:
import sqlite3
# Connect to an SQLite database (or create it if it doesn't exist)
conn = sqlite3.connect('example.db')
# Create a cursor object
cursor = conn.cursor()
# Create a table
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER
)
''')
# Insert data into the table
cursor.execute('''
INSERT INTO users (name, age)
VALUES ('Alice', 30)
''')
# Commit the transaction
conn.commit()
# Query the database
cursor.execute('SELECT * FROM users')
print(cursor.fetchall()) # Output: [(1, 'Alice', 30)]
# Close the connection
conn.close()
Kết nối với cơ sở dữ liệu MySQL
Để kết nối với cơ sở dữ liệu MySQL, bạn sẽ cần cài đặt thư viện mysql-connector-python
. Bạn có thể cài đặt nó bằng cách sử dụng pip
:
pip install mysql-connector-python
Sau đây là ví dụ về cách kết nối với cơ sở dữ liệu MySQL và thực hiện các thao tác cơ bản:
import mysql.connector
# Connect to a MySQL database
conn = mysql.connector.connect(
host='localhost',
user='yourusername',
password='yourpassword',
database='testdb'
)
# Create a cursor object
cursor = conn.cursor()
# Create a table
cursor.execute('''
CREATE TABLE IF NOT EXISTS employees (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
position VARCHAR(255)
)
''')
# Insert data into the table
cursor.execute('''
INSERT INTO employees (name, position)
VALUES ('Bob', 'Engineer')
''')
# Commit the transaction
conn.commit()
# Query the database
cursor.execute('SELECT * FROM employees')
print(cursor.fetchall()) # Output: [(1, 'Bob', 'Engineer')]
# Close the connection
conn.close()
Kết nối với cơ sở dữ liệu PostgreSQL
Để kết nối với cơ sở dữ liệu PostgreSQL, bạn cần thư viện psycopg2
. Cài đặt nó bằng cách sử dụng pip
:
pip install psycopg2
Sau đây là ví dụ về cách kết nối với cơ sở dữ liệu PostgreSQL và thực hiện các thao tác cơ bản:
import psycopg2
# Connect to a PostgreSQL database
conn = psycopg2.connect(
dbname='testdb',
user='yourusername',
password='yourpassword',
host='localhost'
)
# Create a cursor object
cursor = conn.cursor()
# Create a table
cursor.execute('''
CREATE TABLE IF NOT EXISTS products (
id SERIAL PRIMARY KEY,
name VARCHAR(255) NOT NULL,
price DECIMAL
)
''')
# Insert data into the table
cursor.execute('''
INSERT INTO products (name, price)
VALUES ('Laptop', 999.99)
''')
# Commit the transaction
conn.commit()
# Query the database
cursor.execute('SELECT * FROM products')
print(cursor.fetchall()) # Output: [(1, 'Laptop', 999.99)]
# Close the connection
conn.close()
Phần kết luận
Kết nối Python với cơ sở dữ liệu SQL là một kỹ năng cơ bản cho bất kỳ ứng dụng nào dựa trên dữ liệu. Bằng cách sử dụng các thư viện như sqlite3
, mysql-connector-python
và psycopg2
, bạn có thể dễ dàng tương tác với nhiều cơ sở dữ liệu khác nhau. Hiểu cách thực hiện các thao tác cơ bản như tạo bảng, chèn dữ liệu và truy vấn cơ sở dữ liệu sẽ giúp bạn quản lý và thao tác dữ liệu hiệu quả.