Api cơ sở dữ liệu python là gì?

Đôi khi chúng tôi sẽ muốn tương tác với cơ sở dữ liệu của mình và sử dụng kết quả của nó bằng một ngôn ngữ lập trình cụ thể

  • Để xây dựng các ứng dụng web hoặc đường dẫn dữ liệu bằng một ngôn ngữ cụ thể như [Ruby, Python, JavaScript, v.v. ]

  • Đó là nơi DBAPI xuất hiện

  • Một DB-API

    • DB-API cung cấp một tiêu chuẩn cho một ngôn ngữ lập trình [như python] để giao tiếp với máy chủ cơ sở dữ liệu quan hệ

    • Là một thư viện cấp thấp để viết các câu lệnh SQL kết nối với cơ sở dữ liệu

    • Còn được gọi là bộ điều hợp cơ sở dữ liệu

    • Các DBAPI khác nhau tồn tại cho mọi khung máy chủ hoặc ngôn ngữ + hệ thống cơ sở dữ liệu

    • Bộ điều hợp cơ sở dữ liệu xác định tiêu chuẩn để sử dụng cơ sở dữ liệu [với SQL] và sử dụng kết quả của các truy vấn cơ sở dữ liệu làm dữ liệu đầu vào bằng ngôn ngữ nhất định

    -- Biến danh sách các hàng đã chọn [SELECT * from some_table;] thành một mảng các đối tượng trong JavaScript chẳng hạn như bộ điều hợp NodeJS;

    Ví dụ trên các ngôn ngữ và khung máy chủ

    • Đối với Ruby [e. g. cho Sinatra, Ruby on Rails]. trang

    • Đối với NodeJS. nút-Postgres

    • Đối với Python [e. g. cho Bình, Django]. psycopg2

    Nhận xét hàng đầu [0]

    Vương miện

    Sắp xếp thảo luận

    Đặt mua

    Người dùng cá nhân đáng tin cậyTạo mẫu

    Mẫu cho phép bạn nhanh chóng trả lời Câu hỏi thường gặp hoặc lưu trữ đoạn mã để sử dụng lại

    Gửi bản xem trước Bỏ qua

    Quy tắc ứng xử Báo cáo lạm dụng

    Bạn có chắc chắn muốn ẩn bình luận này?

    API tiêu chuẩn để tương tác với cơ sở dữ liệu quan hệ trong Python được xác định trong PEP 249 Đặc tả API cơ sở dữ liệu Python v2. 0

    Các thư viện cơ sở dữ liệu phổ biến nhất là

    • SQLite. sqlite3
    • tâm linh. psycopg2
    • mysql. mysql
    • tiên tri. cx_Oracle
    • Máy chủ MS SQL. pypyodbc, pyodbc, pymssql

    nhập khẩu

    Có ba cách phổ biến để nhập thư viện triển khai DB-API

    import databasepackage
    

    hoặc

    import databasepackage as db
    

    hoặc

    from databasepackage import connect
    

    Nói chung, hàm duy nhất được sử dụng trực tiếp trong thư viện là

    from databasepackage import connect
    
    4, vì hầu hết các thao tác khác được thực hiện trên các đối tượng được trả về sau khi gọi hàm này

    Đang kết nối

    Hai đối tượng cấp cao nhất khi làm việc với DB-API là kết nối và con trỏ. Trước tiên, bạn nhận được kết nối đến cơ sở dữ liệu

     conn = db.connect[]
    

    Có một số cách để chỉ định các tham số kết nối cơ sở dữ liệu. Đối với hầu hết các thư viện, các giá trị mặc định cho phương thức kết nối sẽ kết nối với cơ sở dữ liệu được cài đặt cục bộ được định cấu hình mặc định. Một số cơ sở dữ liệu có các tùy chọn riêng, như sqlite3 có tùy chọn cho cơ sở dữ liệu trong bộ nhớ không liên tục

    conn = sqlite3.connect[':memory:']
    

    Tiếp theo, bạn có một con trỏ, con trỏ này sẽ được sử dụng để thực hiện các lệnh giao dịch, truy vấn SQL và thao tác dữ liệu

     cursor = conn.cursor[]
    

    Cách tốt nhất để sử dụng kết nối và con trỏ là từ bên trong trình xử lý tài nguyên. Hầu hết các thư viện cơ sở dữ liệu đều hỗ trợ xử lý tài nguyên trên kết nối, nhưng chỉ một số ít hỗ trợ nó trên con trỏ. Sử dụng

    from databasepackage import connect
    
    5, cả kết nối và con trỏ đều đóng sau khi sử dụng

    ________số 8

    Nếu chỉ hỗ trợ xử lý tài nguyên kết nối, thì con trỏ phải được bao bọc trong khối thử/cuối cùng để đảm bảo con trỏ được đóng

    with sqlite3.connect[':memory:'] as conn:
        curs = conn.cursor[]
        try:
            pass  # SQL commands go here
        except Exception as e:
            print[e]
        finally:
            if curs:
                curs.close[]
    

    Nếu việc xử lý tài nguyên kết nối không được hỗ trợ, cả hai đều có các phương thức close[] phải được gọi như một phần của khối cuối cùng

    import databasepackage as db
    
    0

    Tất cả các thư viện dành cho cơ sở dữ liệu hỗ trợ giao dịch sẽ tự động bắt đầu một giao dịch mới khi câu lệnh đầu tiên trên con trỏ mới hoặc ngay sau khi gọi tới

    from databasepackage import connect
    
    6 trên con trỏ. Tất cả các con trỏ trên kết nối sẽ thực hiện trong giao dịch đó. Nếu sử dụng
    from databasepackage import connect
    
    5 để xử lý tài nguyên, giao dịch sẽ được cam kết ở cuối khối. Nếu quản lý tài nguyên theo cách thủ công, giao dịch này phải được cam kết rõ ràng trước khi đóng kết nối, nếu không nó sẽ tự động được khôi phục. Rollback và commit được thực hiện với các phương thức cùng tên

    import databasepackage as db
    
    3

    Autocommit cũng có thể được kích hoạt bằng cách thiết lập conn. autocommit = True trong pyscopg2 sau khi tạo kết nối nhưng trước lần thực thi đầu tiên

    Xử lý ngoại lệ có thể được thực hiện với lớp

    from databasepackage import connect
    
    8 chung hoặc với các lớp cụ thể cho từng thư viện

    Truy vấn

    Một con trỏ chỉ có hai phương thức,

    from databasepackage import connect
    
    9 và
     conn = db.connect[]
    
    0, được sử dụng cho tất cả các truy vấn và DML

    import databasepackage as db
    
    0

    Đối với các truy vấn liên quan đến tham số, có năm kiểu thay thế được tích hợp trong các phương thức

    from databasepackage import connect
    
    9

    • qmark ‘CHÈN VÀO diễn viên [tên_họ, họ_ngày_sinh] GIÁ TRỊ [?, ?, ?]’
    • số CHÈN VÀO diễn viên[first_name, last_name, Birth_date] GIÁ TRỊ [. 1,. 2,. 3]’
    • được đặt tên là 'CHÈN VÀO diễn viên [tên_tên, họ_ngày_sinh] GIÁ TRỊ [. họ,. họ,. ngày sinh]'
    • định dạng ‘CHÈN VÀO diễn viên[first_name, last_name, Birth_date] GIÁ TRỊ [%s, %s, %s]’
    • pyformat 'CHÈN VÀO các diễn viên [tên_họ, họ_tên, ngày_sinh] GIÁ TRỊ [%[first_name]s, %[last_name]s, %[ngày_sinh]s]'

    Rất khuyến khích sử dụng một trong các hình thức thay thế này thay vì thực hiện xây dựng hoặc thay thế chuỗi trực tiếp. Sử dụng toán tử định dạng tích hợp sẵn của Python không phải là cách chính xác để thực hiện việc này

    Mỗi DB-API chỉ được yêu cầu để hỗ trợ một trong số này, nhưng hầu hết các thư viện đều hỗ trợ nhiều hơn một

    • sqlite3. qmark, số và được đặt tên
    • nhà ngoại cảm. định dạng, pyformat
    • PyMySQL. định dạng
    • cx_Oracle. đặt tên

    Nếu bạn muốn cho biết ít nhất một trong các kiểu mà thư viện DB-API của bạn hỗ trợ, mỗi thư viện có một biến toàn cục

     conn = db.connect[]
    
    2 có giá trị e. g. , sqlite3. kiểu mẫu

    Sử dụng trình giữ chỗ trong câu lệnh, sau đó chuyển một bộ cho tham số vị trí hoặc từ điển cho tham số được đặt tên

    qmark

    import databasepackage as db
    
    1

    con số

    import databasepackage as db
    
    2

    đặt tên

    import databasepackage as db
    
    3

    định dạng

    import databasepackage as db
    
    4

    pyformat

    import databasepackage as db
    
    5

    Các cuộc gọi đến

     conn = db.connect[]
    
    3 luôn trả về Không có. Không có kết quả nào thực sự được lấy từ cơ sở dữ liệu cho đến khi chúng tôi thực hiện cuộc gọi để tìm nạp chúng

    Chúng tôi sử dụng các phương thức tìm nạp để nhận kết quả của truy vấn

    import databasepackage as db
    
    6

    Các cơ sở dữ liệu khác nhau cũng cung cấp các tiện ích mở rộng độc quyền cho chức năng không được chỉ định trong DB-API. Ví dụ: psycopg làm cho đối tượng

     conn = db.connect[]
    
    4 có thể lặp lại, vì vậy bạn có thể lặp lại theo quy mô trên một tập hợp kết quả lớn có tiềm năng

    import databasepackage as db
    
    7

    Cập nhật, Chèn và Xóa

    Cập nhật

    import databasepackage as db
    
    8

    Phương thức execmany có liên quan có thể được sử dụng để cung cấp nhiều bộ tham số trong một lệnh gọi

    import databasepackage as db
    
    9

    SQLite sử dụng sqlite3

    SQLite được hỗ trợ với mô-đun sqlite3

    Cài đặt

    Không bắt buộc, vì nó được đóng gói với Python 3

    Nhập khẩu

    from databasepackage import connect
    
    0

    Ví dụ

    from databasepackage import connect
    
    1

    PostgreSQL sử dụng psycopg2

    PostgreSQL được hỗ trợ với mô-đun psycopg2

    Cài đặt

    cài đặt pip3 psycopg2

    Nhập khẩu

    from databasepackage import connect
    
    2

    Nếu chạy trên Mac OS X, việc nhập này có thể gây ra lỗi cho bạn về việc libssl không phải là phiên bản đủ cao. Để khắc phục điều này, hãy sao chép libssl và libcrypto ra khỏi thư mục cài đặt PostgresSQL của bạn vào /usr/lib

    sudo cp /Thư viện/PostgreSQL/9. 2/lib/libssl. 1. 0. 0. dylib /usr/lib sudo cp /Library/PostgreSQL/9. 2/lib/libcrypto. 1. 0. 0. dylib /usr/lib

    Và sau đó cập nhật/tạo các liên kết tượng trưng trong/usr/lib

    sudo ln -fs/usr/lib/libssl. 1. 0. 0. dylib/usr/lib/libssl. dylib sudo ln -fs /usr/lib/libcrypto. 1. 0. 0. dylib/usr/lib/libcrypto. dylib

    Phương thức kết nối hỗ trợ một bộ tham số hoặc chuỗi DSN. Một cách để chỉ định các tham số là tạo chúng trong một từ điển và sau đó hủy cấu trúc từ điển bằng toán tử dấu sao kép

    Ví dụ sử dụng cơ sở dữ liệu trống ‘mydb’

    from databasepackage import connect
    
    3

    mysql

    Một số thư viện Python cho MySQL chỉ hỗ trợ Python 2. Đây là những thư viện được sử dụng phổ biến nhất hỗ trợ Python 3

    API cơ sở dữ liệu được sử dụng với Python là gì?

    Tiêu chuẩn để truy cập cơ sở dữ liệu trong Python là API DB-API của Python. Điều này chỉ định một bộ giao diện tiêu chuẩn cho các mô-đun muốn cho phép Python truy cập cơ sở dữ liệu cụ thể . Tiêu chuẩn được mô tả trong PEP 249 [https. //www. con trăn. org/dev/peps/pep-0249]—PEP là một Đề xuất cải tiến Python.

    API cơ sở dữ liệu là gì?

    DB-API là từ viết tắt của Giao diện lập trình ứng dụng DataBase và thư viện cho phép Python kết nối với máy chủ cơ sở dữ liệu . Tùy thuộc vào thư viện DB quan hệ mà bạn sử dụng, chúng có thể có các mô-đun DB-API của riêng chúng.

    Cơ sở dữ liệu Python là gì?

    Ngôn ngữ lập trình Python có các tính năng mạnh mẽ để lập trình cơ sở dữ liệu. Python hỗ trợ nhiều cơ sở dữ liệu khác nhau như SQLite, MySQL, Oracle, Sybase, PostgreSQL , v.v. Python cũng hỗ trợ Ngôn ngữ Định nghĩa Dữ liệu [DDL], Ngôn ngữ Thao tác Dữ liệu [DML] và Câu lệnh Truy vấn Dữ liệu.

    Điều nào sau đây mô tả đúng nhất về Python DB

    DB-API là một bộ tiêu chuẩn được tuân theo bởi các mô-đun có chức năng kết nối cơ sở dữ liệu với các chương trình Python .

    Chủ Đề