icantech
Lập trình Python
3828
11/12/2023

Hướng dẫn lập trình cơ sở dữ liệu với Python

Trong thời đại công nghệ ngày nay, Python đã trở thành một ngôn ngữ lập trình đa năng và mạnh mẽ, đặc biệt là trong lĩnh vực phân tích dữ liệu. Với sự phát triển mạnh mẽ của khoa học dữ liệu và ngành Data Analyst, Python đã trở thành công cụ ưu việt, hỗ trợ chuyên gia dữ liệu trong việc xử lý, phân tích. Trong bài viết dưới đây, hãy cùng ICANTECH tìm hiểu về lập trình cơ sở dữ liệu với Python.

1. Tổng quan về lập trình cơ sở dữ liệu với Python

1.1. Lập trình cơ sở dữ liệu với Python là gì?

Lập trình cơ sở dữ liệu (Database Programming) trong Python là quá trình sử dụng ngôn ngữ lập trình Python để tương tác, thao tác và quản lý cơ sở dữ liệu. Các tác vụ trong lập trình cơ sở dữ liệu bao gồm việc kết nối đến cơ sở dữ liệu, truy vấn dữ liệu, thêm, sửa đổi và xóa dữ liệu, cũng như thực hiện các thao tác khác liên quan đến quản lý dữ liệu.

Dưới đây là một số nhiệm vụ cụ thể bạn có thể thực hiện khi lập trình cơ sở dữ liệu với Python:

  • Xử lý dữ liệu với Python: là quá trình áp dụng các phương pháp, thuật toán, và thư viện trong ngôn ngữ lập trình Python để biến đổi, làm sạch, phân tích, và trích xuất thông tin từ dữ liệu. Công đoạn xử lý dữ liệu là quan trọng trong quá trình chuẩn bị dữ liệu cho các tác vụ như phân tích, học máy, và trực quan hóa. Có thể sử dụng một số thư viện như: 
    • pandas
    • Numpy
    • Scikit - learn
    • Matplotlib và Seaborn
  • Làm sạch dữ liệu với Python: là phần quan trọng trong quy trình xử lý dữ liệu để làm cho dữ liệu trở nên chính xác và phù hợp cho phân tích. Thường sử dụng một số kỹ thuật và thư viện Python để làm sạch dữ liệu:
    • Xử lý giá trị thiếu.
    • Xử lý dữ liệu trùng lặp.
    • Xử lý ngoại lệ và giá trị không chính xác.
    • Chuẩn hóa dữ liệu.
    • Kiểm tra và xử lý dữ liệu không hợp lý.
  • Thống kê dữ liệu với Python: Là quá trình sử dụng các công cụ, thư viện, và kỹ thuật thống kê để mô tả, phân tích, và hiểu thông tin từ tập dữ liệu. Các công cụ và thư viện thống kê Python thường được sử dụng để tạo ra các báo cáo thống kê, biểu đồ, và tóm tắt mô tả về tính chất của dữ liệu. Thường sẽ sử dụng các thư viện bên trên về xử lý dữ liệu.

2. Lập trình cơ sở dữ liệu với Python

2.1. Tạo database bằng Python

  • Bước 1: Cài đặt thư viện MySQL Connector: Trước tiên, bạn cần cài đặt thư viện MySQL Connector nếu chưa có bằng cách sử dụng:

pip install mysql-connector-python

  • Bước 2: Sử dụng Python để thực thi câu lệnh “CREATE DATABASE” để tạo database trong MySQL.

import mysql.connector

# Thay đổi các thông số kết nối dựa trên cấu hình của bạn

db_config = {

    'host': 'localhost',

    'user': 'your_username',

    'password': 'your_password',

}

# Kết nối đến MySQL

connection = mysql.connector.connect(**db_config)

cursor = connection.cursor()

# Tạo database

create_db_query = 'CREATE DATABASE IF NOT EXISTS your_database_name;'

cursor.execute(create_db_query)

# Đóng kết nối

cursor.close()

connection.close()

Trong ví dụ trên, chúng ta sử dụng câu lệnh CREATE DATABASE IF NOT EXISTS để tạo một database với tên là your_database_name. Câu lệnh này sẽ chỉ tạo database nếu nó chưa tồn tại.

Sau khi thực thi đoạn mã, bạn sẽ có một database mới trong MySQL của mình.

2.2. Tạo bảng MySQL trong Python

Ví dụ dưới đây để tạo bảng trong MySQL bằng Python:

import mysql.connector

# Thay đổi các thông số kết nối dựa trên cấu hình của bạn

db_config = {

    'host': 'localhost',

    'user': 'your_username',

    'password': 'your_password',

    'database': 'your_database_name',

}

# Kết nối đến MySQL

connection = mysql.connector.connect(**db_config)

cursor = connection.cursor()

# Tạo bảng

create_table_query = '''

CREATE TABLE IF NOT EXISTS employees (

    id INT AUTO_INCREMENT PRIMARY KEY,

    name VARCHAR(255) NOT NULL,

    age INT,

    position VARCHAR(255)

);

'''

cursor.execute(create_table_query)

connection.commit()

# Đóng kết nối

cursor.close()

connection.close()

Đoạn code trên được thiết kế để tạo một bảng MySQL có tên là employees với các cột có tên như id, name, age, và position. Mỗi cột có kiểu dữ liệu và ràng buộc tương ứng.

Nếu bảng employees đã tồn tại, đoạn code sử dụng câu lệnh CREATE TABLE IF NOT EXISTS, là chỉ tạo bảng nếu nó chưa tồn tại. Nếu bảng đã tồn tại, câu lệnh này sẽ không làm thay đổi cấu trúc của bảng.

Dưới đây là mô tả chi tiết về cấu trúc bảng employees:

  • id: Một cột kiểu số nguyên (INT) có khóa chính (PRIMARY KEY) 
  • name: Một cột kiểu văn bản (VARCHAR) 
  • age: Một cột kiểu số nguyên (INT) có thể chứa giá trị tuổi.
  • position: Một cột kiểu văn bản (VARCHAR) chứa vị trí công việc.

Sau khi thực thi đoạn code, nếu không có lỗi nào xảy ra, bạn sẽ có một bảng employees mới trong cơ sở dữ liệu MySQL của mình (hoặc bảng sẽ được cập nhật nếu đã tồn tại). Bảng này sẽ phản ánh cấu trúc đã được định nghĩa trong câu lệnh CREATE TABLE.

2.3. Kết nối Python với SQL Server

  • Bước 1: Cài đặt thư viện “Pyodbc” pip install pyodbc
  • Bước 2: Sử dụng pyodbc để tạo một kết nối đến SQL Server và thực hiện một truy vấn SQL để lấy dữ liệu từ một bảng.

import pyodbc

# Thay đổi các thông số kết nối dựa trên cấu hình của bạn

server = 'your_server_name'

database = 'your_database_name'

username = 'your_username'

password = 'your_password'

# Tạo chuỗi kết nối

connection_string = f'DRIVER={{ODBC Driver 17 for SQL Server}};SERVER={server};DATABASE={database};UID={username};PWD={password};'

try:

    # Kết nối đến SQL Server

    connection = pyodbc.connect(connection_string)

    cursor = connection.cursor()

    # Thực hiện một số thao tác, ví dụ: lấy dữ liệu từ một bảng

    table_name = 'your_table_name'

    select_query = f'SELECT * FROM {table_name};'

    cursor.execute(select_query)

    # Lấy tất cả các dòng từ kết quả truy vấn

    rows = cursor.fetchall()

    # In kết quả

    for row in rows:

        print(row)

except Exception as e:

    print(f"Error: {e}")

finally:

    # Đóng kết nối

    if 'connection' in locals():

        connection.close()

Lưu ý: Bạn cần thay đổi các giá trị như server, database, username, password, và your_table_name để phản ánh thông tin kết nối và bảng trong SQL Server.

3. Lời Kết

Trong bài viết trên, ICANTECH đã cùng bạn tìm hiểu về lập trình cơ sở dữ liệu với Python. Hi vọng bạn có thể áp dụng các kiến thức trên làm sạch dữ liệu Python cũng như thống kê dữ liệu bằng Python hiệu quả.

Cảm ơn bạn đã đọc bài viết, nếu bạn đang quan tâm đến học lập trình thì hãy tham khảo ngay các khóa học lập trình dưới đây tại ICANTECH nhé

Nguồn ảnh: ICANTECH.

Share
Tags
Lập trình Python

Bài tương tự