Cara Menghubungkan Python ke Database SQL

Menghubungkan Python ke basis data SQL memungkinkan Anda berinteraksi dengan basis data secara langsung dari skrip Python Anda. Kemampuan ini penting untuk tugas-tugas seperti pengambilan data, pembaruan, dan analisis. Dalam artikel ini, kita akan membahas cara menghubungkan Python ke basis data SQL menggunakan pustaka populer seperti SQLite, MySQL, dan PostgreSQL.

Menyiapkan Lingkungan Anda

Untuk menghubungkan Python ke database SQL, Anda perlu menginstal pustaka konektor database yang sesuai. Berikut adalah pustaka umum untuk berbagai database:

  • SQLite: Tidak diperlukan instalasi tambahan karena dukungan SQLite sudah tertanam di Python.
  • MySQL: Gunakan pustaka mysql-connector-python atau PyMySQL.
  • PostgreSQL: Gunakan pustaka psycopg2.

Menghubungkan ke Database SQLite

SQLite adalah database ringan yang dibangun dalam pustaka standar Python. Berikut cara menghubungkan ke database SQLite dan melakukan operasi dasar:

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()

Menghubungkan ke Basis Data MySQL

Untuk terhubung ke basis data MySQL, Anda perlu menginstal pustaka mysql-connector-python. Anda dapat menginstalnya menggunakan pip:

pip install mysql-connector-python

Berikut contoh koneksi ke database MySQL dan melakukan operasi dasar:

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()

Menghubungkan ke Basis Data PostgreSQL

Untuk terhubung ke database PostgreSQL, Anda memerlukan pustaka psycopg2. Instal pustaka tersebut menggunakan pip:

pip install psycopg2

Berikut contoh koneksi ke database PostgreSQL dan melakukan operasi dasar:

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()

Kesimpulan

Menghubungkan Python ke basis data SQL merupakan keterampilan mendasar untuk aplikasi berbasis data apa pun. Dengan menggunakan pustaka seperti sqlite3, mysql-connector-python, dan psycopg2, Anda dapat berinteraksi dengan berbagai basis data dengan mudah. ​​Memahami cara melakukan operasi dasar seperti membuat tabel, memasukkan data, dan melakukan kueri pada basis data akan memungkinkan Anda mengelola dan memanipulasi data secara efektif.