Lấy thông tin bệnh viện, bác sĩ bằng Id bệnh viện và Id bác sĩ bằng Python
Trong bài viết này, mình sẽ xem cách lấy thông tin chi tiết của một bệnh viện và một bác sĩ dựa trên Id của họ từ cơ sở dữ liệu. Để thực hiện điều này,mình sẽ sử dụng Python để kết nối đến cơ sở dữ liệu và thực hiện các truy vấn được tham số hóa để lấy dữ liệu cụ thể.
Bước 1: Kết nối đến cơ sở dữ liệu
Trước hết, mình cần thiết lập kết nối đến cơ sở dữ liệu. Ở đây, sẽ giả định rằng bạn đã có cơ sở dữ liệu với hai bảng: "Hospital" và "Doctor". Cụ thể, ta sẽ cung cấp các ví dụ sử dụng MySQL, PostgreSQL và SQLite, nhưng bạn có thể thay đổi các tham số kết nối để phù hợp với cơ sở dữ liệu của bạn.
Bước 2: Thực hiện truy vấn để lấy thông tin bệnh viện và bác sĩ
Sau khi kết nối đã được thiết lập, mình sẽ sử dụng truy vấn SQL để lấy thông tin bệnh viện và bác sĩ dựa trên Id bệnh viện và Id bác sĩ được cung cấp.
Bước 3: In kết quả
Cuối cùng, mình sẽ in thông tin chi tiết của bệnh viện và bác sĩ.
Câu hỏi 2: Đọc thông tin bệnh viện và bác sĩ cho sẵn Hồ sơ bệnh viện Mã bệnh viện: 2 Tên bệnh viện: Phòng khám Cleveland Số giường: 400 Hồ sơ bác sĩ Mã bác sĩ: 105 Tên bác sĩ: Linda Mã bệnh viện: 3 Ngày gia nhập: 2004-06-04 Chuyên môn: Bác sĩ Garnacologist Mức lương: 42000 Kinh nghiệm: Không có
Dưới đây là mã mẫu cho ba loại cơ sở dữ liệu khác nhau (MySQL, PostgreSQL và SQLite):
Sử dụng MySQL:
import mysql.connector def get_connection(): connection = mysql.connector.connect(host='localhost', database='python_db', user='pynative', password='pynative@#29') return connection def close_connection(connection): if connection: connection.close() def get_hospital_detail(hospital_id): try: connection = get_connection() cursor = connection.cursor() select_query = """select * from Hospital where Hospital_Id = %s""" cursor.execute(select_query, (hospital_id,)) records = cursor.fetchall() print("Hồ sơ bệnh viện") for row in records: print("Mã bệnh viện:", row[0]) print("Tên bệnh viện:", row[1]) print("Số giường:", row[2]) close_connection(connection) except (Exception, mysql.connector.Error) as error: print("Lỗi khi lấy dữ liệu", error) def get_doctor_detail(doctor_id): try: connection = get_connection() cursor = connection.cursor() select_query = """select * from Doctor where Doctor_Id = %s""" cursor.execute(select_query, (doctor_id,)) records = cursor.fetchall() print("\nHồ sơ bác sĩ") for row in records: print("Mã bác sĩ:", row[0]) print("Tên bác sĩ:", row[1]) print("Mã bệnh viện:", row[2]) print("Ngày gia nhập:", row[3]) print("Chuyên môn:", row[4]) print("Mức lương:", row[5]) print("Kinh nghiệm:", row[6]) close_connection(connection) except (Exception, mysql.connector.Error) as error: print("Lỗi khi lấy dữ liệu", error) print("Câu hỏi 2: Đọc thông tin bệnh viện và bác sĩ cho sẵn\n") get_hospital_detail(2) print("\n") get_doctor_detail(105)
Sử dụng PostgreSQL:
import psycopg2 def get_connection(): connection = psycopg2.connect(user="postgres", password="pynative@#29", host="127.0.0.1", port="5432", database="python_db") return connection def close_connection(connection): if connection: connection.close() print("Kết nối Postgres đã đóng") def get_hospital_detail(hospital_id): try: connection = get_connection() cursor = connection.cursor() select_query = """select * from Hospital where Hospital_Id = %s""" cursor.execute(select_query, (hospital_id,)) records = cursor.fetchall() print("Hồ sơ bệnh viện") for row in records: print("Mã bệnh viện:", row[0]) print("Tên bệnh viện:", row[1]) print("Số giường:", row[2]) close_connection(connection) except (Exception, psycopg2.Error) as error: print("Lỗi khi lấy dữ liệu", error) def get_doctor_detail(doctor_id): try: connection = get_connection() cursor = connection.cursor() select_query = """select * from Doctor where Doctor_Id = %s""" cursor.execute(select_query, (doctor_id,)) records = cursor.fetchall() print("\nHồ sơ bác sĩ") for row in records: print("Mã bác sĩ:", row[0]) print("Tên bác sĩ:", row[1]) print("Mã bệnh viện:", row[2]) print("Ngày gia nhập:", row[3]) print("Chuyên môn:", row[4]) print("Mức lương:", row[5]) print("Kinh nghiệm:", row[6]) close_connection(connection) except (Exception, psycopg2.Error) as error: print("Lỗi khi lấy dữ liệu", error) print("Câu hỏi 2: Đọc thông tin bệnh viện và bác sĩ cho sẵn\n") get_hospital_detail(2) print("\n") get_doctor_detail(105)
Sử dụng SQLite:
import sqlite3 def get_connection(): connection = sqlite3.connect('python_db.db') return connection def close_connection(connection): if connection: connection.close() def get_hospital_detail(hospital_id): try: connection = get_connection() cursor = connection.cursor() select_query = """select * from Hospital where Hospital_Id = ?""" cursor.execute(select_query, (hospital_id,)) records = cursor.fetchall() print("Hồ sơ bệnh viện") for row in records: print("Mã bệnh viện:", row[0]) print("Tên bệnh viện:", row[1]) print("Số giường:", row[2]) close_connection(connection) except (Exception, sqlite3.Error) as error: print("Lỗi khi lấy dữ liệu", error) def get_doctor_detail(doctor_id): try: connection = get_connection() cursor = connection.cursor() select_query = """select * from Doctor where Doctor_Id = ?""" cursor.execute(select_query, (doctor_id,)) records = cursor.fetchall() print("\nHồ sơ bác sĩ") for row in records: print("Mã bác sĩ:", row[0]) print("Tên bác sĩ:", row[1]) print("Mã bệnh viện:", row[2]) print("Ngày gia nhập:", row[3]) print("Chuyên môn:", row[4]) print("Mức lương:", row[5]) print("Kinh nghiệm:", row[6]) close_connection(connection) except (Exception, sqlite3.Error) as error: print("Lỗi khi lấy dữ liệu", error) print("Câu hỏi 2: Đọc thông tin bệnh viện và bác sĩ cho sẵn\n") get_hospital_detail(2) print("\n") get_doctor_detail(105)
Dựa vào loại cơ sở dữ liệu bạn đang sử dụng, bạn có thể lựa chọn mã mẫu tương ứng để lấy thông tin bệnh viện và bác sĩ từ cơ sở dữ liệu của bạn. Hãy đảm bảo rằng bạn đã cấu hình kết nối cơ sở dữ liệu một cách chính xác và bảng dữ liệu tồn tại trong cơ sở dữ liệu của bạn.
Bài giải
-------------------- ######## --------------------
Câu hỏi thường gặp liên quan:
- Kết nối và in phiên bản cơ sở dữ liệu trong Python
- Lấy thông tin bệnh viện, bác sĩ bằng Id bệnh viện và Id bác sĩ bằng Python
- Lấy danh sách bác sĩ theo chuyên khoa và mức lương cho trước trong Python
- Lấy danh sách bác sĩ của một bệnh viện nhất định trong Python
- Cập nhật kinh nghiệm của bác sĩ trong nhiều năm bằng Python