CÔNG CỤ
MODULES
THAM KHẢO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Cập nhật kinh nghiệm của bác sĩ trong nhiều năm bằng Python

Trong bài viết này, mình sẽ thực hiện chức năng cập nhật kinh nghiệm của một bác sĩ nhất định trong nhiều năm. Giả sử rằng giá trị của cột "kinh nghiệm" cho mỗi bác sĩ là null và muốn cập nhật giá trị này dựa trên ngày tham gia của bác sĩ. Mình sẽ triển khai chức năng này bằng cách sử dụng ba hệ quản trị cơ sở dữ liệu phổ biến: MySQL Python, PostgreSQL Python và SQLite trong Python.

MySQL Python

Bước 1: Kết nối cơ sở dữ liệu MySQL

Trước tiên, mình cần kết nối đến cơ sở dữ liệu MySQL. Bạn cần cung cấp thông tin đăng nhập và tên cơ sở dữ liệu của bạn.

import mysql.connector

# Thay đổi thông tin kết nối tới cơ sở dữ liệu của bạn
db_connection = mysql.connector.connect(
    host="localhost",
    user="your_username",
    password="your_password",
    database="your_database"
)

# Tạo đối tượng cursor để thực hiện truy vấn
cursor = db_connection.cursor()

Bước 2: Xác định truy vấn SQL để cập nhật kinh nghiệm

Mình cần xác định truy vấn SQL để cập nhật kinh nghiệm của một bác sĩ nhất định trong nhiều năm dựa trên ngày gia nhập của bác sĩ.

def update_doctor_experience(doctor_id):
    try:
        # Xác định ngày gia nhập của bác sĩ
        join_date_query = "SELECT join_date FROM doctors WHERE doctor_id = %s"
        cursor.execute(join_date_query, (doctor_id,))
        join_date = cursor.fetchone()[0]

        # Tính toán số năm kinh nghiệm
        current_year = datetime.date.today().year
        join_year = join_date.year
        experience_years = current_year - join_year

        # Truy vấn SQL để cập nhật kinh nghiệm
        update_query = "UPDATE doctors SET experience = %s WHERE doctor_id = %s"
        cursor.execute(update_query, (experience_years, doctor_id))
        db_connection.commit()

        print(f"Đã cập nhật kinh nghiệm của bác sĩ có mã {doctor_id} thành {experience_years} năm.")

    except mysql.connector.Error as err:
        print(f"Lỗi MySQL: {err}")

    finally:
        # Đóng kết nối đến cơ sở dữ liệu
        cursor.close()
        db_connection.close()

# Gọi hàm để cập nhật kinh nghiệm của bác sĩ có mã là 101
update_doctor_experience(101)

Kết quả

Khi bạn gọi hàm update_doctor_experience(101), nó sẽ kết nối đến cơ sở dữ liệu MySQL của bạn, tính toán số năm kinh nghiệm dựa trên ngày gia nhập và cập nhật giá trị kinh nghiệm cho bác sĩ có mã là 101. Kết quả có thể như sau:

Đã cập nhật kinh nghiệm của bác sĩ có mã 101 thành 15 năm.

Lưu ý rằng bạn cần phải thay đổi thông tin kết nối cơ sở dữ liệu (host, user, password, database) để phù hợp với cơ sở dữ liệu MySQL của bạn.

PostgreSQL Python

Bước 1: Kết nối cơ sở dữ liệu PostgreSQL

Trước tiên, mình cần kết nối đến cơ sở dữ liệu PostgreSQL. Để làm điều này, ta sử dụng thư viện psycopg2.

import psycopg2

# Thay đổi thông tin kết nối tới cơ sở dữ liệu của bạn
conn = psycopg2.connect(
    host="localhost",
    user="your_username",
    password="your_password",
    database="your_database"
)

# Tạo đối tượng cursor để thực hiện truy vấn
cursor = conn.cursor()

Bước 2: Xác định truy vấn SQL để cập nhật kinh nghiệm

Mình cũng xác định truy vấn SQL tương tự như trong giải pháp MySQL để cập nhật kinh nghiệm của một bác sĩ nhất định trong nhiều năm.

def update_doctor_experience(doctor_id):
    try:
        # Xác định ngày gia nhập của bác sĩ
        join_date_query = "SELECT join_date FROM doctors WHERE doctor_id = %s"
        cursor.execute(join_date_query, (doctor_id,))
        join_date = cursor.fetchone()[0]

        # Tính toán số năm kinh nghiệm
        current_year = datetime.date.today().year
        join_year = join_date.year
        experience_years = current_year - join_year

        # Truy vấn SQL để cập nhật kinh nghiệm
        update_query = "UPDATE doctors SET experience = %s WHERE doctor_id = %s"
        cursor.execute(update_query, (experience_years, doctor_id))
        conn.commit()

        print(f"Đã cập nhật kinh nghiệm của bác sĩ có mã {doctor_id} thành {experience_years} năm.")

    except psycopg2.Error as err:
        print(f"Lỗi PostgreSQL: {err}")

    finally:
        # Đóng kết nối đến cơ sở dữ liệu
        cursor.close()
        conn.close()

# Gọi hàm để cập nhật kinh nghiệm của bác sĩ có mã là 101
update_doctor_experience(101)

Kết quả

Kết quả khi sử dụng giải pháp PostgreSQL Python sẽ giống với giải pháp MySQL Python. Kết quả có thể như sau:

Đã cập nhật kinh nghiệm của bác sĩ có mã 101 thành 15 năm.

Lưu ý rằng bạn cần phải thay đổi thông tin kết nối cơ sở dữ liệu PostgreSQL (host, user, password, database) để phù hợp với cơ sở dữ liệu của bạn.

SQLite Python

Bước 1: Kết nối cơ sở dữ liệu SQLite

Trong trường hợp sử dụng SQLite, mình không cần kết nối đến một máy chủ cơ sở dữ liệu. Mình chỉ cần mở hoặc tạo file SQLite.

import sqlite3

# Tạo hoặc kết nối tới file SQLite của bạn
db_connection = sqlite3.connect("your_database.db")

# Tạo đối tượng cursor để thực hiện truy vấn
cursor = db_connection.cursor()

Bước 2: Xác định truy vấn SQL để cập nhật kinh nghiệm

Mình cũng xác định truy vấn SQL tương tự như trong hai giải pháp trước để cập nhật kinh nghiệm của một bác sĩ nhất định trong nhiều năm.

def update_doctor_experience(doctor_id):
    try:
        # Xác định ngày gia nhập của bác sĩ
        join_date_query = "SELECT join_date FROM doctors WHERE doctor_id = ?"
        cursor.execute(join_date_query, (doctor_id,))
        join_date = cursor.fetchone()[0]

        # Tính toán số năm kinh nghiệm
        current_year = datetime.date.today().year
        join_year = join_date.year
        experience_years = current_year - join_year

        # Truy vấn SQL để cập nhật kinh nghiệm
        update_query = "UPDATE doctors SET experience = ? WHERE doctor_id = ?"
        cursor.execute(update_query, (experience_years, doctor_id))
        db_connection.commit()

        print(f"Đã cập nhật kinh nghiệm của bác sĩ có mã {doctor_id} thành {experience_years} năm.")

    except sqlite3.Error as err:
        print(f"Lỗi SQLite: {err}")

    finally:
        # Đóng kết nối đến cơ sở dữ liệu
        cursor.close()
        db_connection.close()

# Gọi hàm để cập nhật kinh nghiệm của bác sĩ có mã là 101
update_doctor_experience(101)

Kết quả

Kết quả khi sử dụng giải pháp SQLite Python sẽ giống với hai giải pháp trước. Kết quả có thể như sau:

Đã cập nhật kinh nghiệm của bác sĩ có mã 101 thành 15 năm.

Lưu ý rằng bạn cần phải thay đổi tên file SQLite (your_database.db) để phù hợp với file cơ sở dữ liệu SQLite của bạn.

Kết bài

Trong bài viết này, mình đã tìm hiểu cách cập nhật kinh nghiệm của một bác sĩ trong nhiều năm dựa trên ngày gia nhập của họ. Mình đã triển khai chức năng này bằng cách sử dụng ba giải pháp khác nhau: MySQL Python, PostgreSQL Python và SQLite Python. Quy trình chung bao gồm kết nối đến cơ sở dữ liệu, tính toán số năm kinh nghiệm, thực hiện truy vấn cập nhật và lưu thay đổi. Chọn giải pháp phù hợp với cơ sở dữ liệu của bạn và triển khai chức năng tương tự.

test php

Bài giải

-------------------- ######## --------------------

Câu hỏi thường gặp liên quan:

Cùng chuyên mục:

Phạm vi số float của Python

Phạm vi số float của Python

Bài tập Python : Pandas trong Python

Bài tập Python : Pandas trong Python

Hướng dẫn kết nối Python PostgreSQL bằng Psycopg2

Hướng dẫn kết nối Python PostgreSQL bằng Psycopg2

Kết nối cơ sở dữ liệu MySQL Python

Kết nối cơ sở dữ liệu MySQL Python

Tạo số ngẫu nhiên trong một phạm vi bằng Python

Tạo số ngẫu nhiên trong một phạm vi bằng Python

Bài tập Python : Tạo dữ liệu ngẫu nhiên trong Python

Bài tập Python : Tạo dữ liệu ngẫu nhiên trong Python

Bài tập Python : Matplotlib trong Python

Bài tập Python : Matplotlib trong Python

Bài tập Python: NumPy trong Python

Bài tập Python: NumPy trong Python

Bài tập Python: JSON trong Python

Bài tập Python: JSON trong Python

Bài tập Python: Lập trình hướng đối tượng (OOP) trong Python

Bài tập Python: Lập trình hướng đối tượng (OOP) trong Python

TimeDelta trong Python

TimeDelta trong Python

Chuyển chuỗi Python thành DateTime trong Python

Chuyển chuỗi Python thành DateTime trong Python

Bài tập Python: DateTime trong Python

Bài tập Python: DateTime trong Python

Bài tập Python: Tuple trong Python

Bài tập Python: Tuple trong Python

Bài tập Python: Set trong Python

Bài tập Python: Set trong Python

Bài tập Python: Dictionary trong Python

Bài tập Python: Dictionary trong Python

Bài tập Python: List trong Python

Bài tập Python: List trong Python

Bài tập Python: Cấu trúc dữ liệu trong Python

Bài tập Python: Cấu trúc dữ liệu trong Python

Bài tập Python: Chuỗi trong Python

Bài tập Python: Chuỗi trong Python

Bài tập Python: Hàm trong Python

Bài tập Python: Hàm trong Python

Top