Hướng dẫn how does python work with databases? - làm thế nào để python làm việc với cơ sở dữ liệu?

Phần này chứa tất cả các hướng dẫn của chúng tôi có liên quan đến việc làm việc với cơ sở dữ liệu trong Python. Chúng tôi bao gồm những thứ như cơ sở dữ liệu SQL và NoQuery và cách tương tác với chúng bằng Python.

Phần thưởng miễn phí: Bấm vào đây để tải xuống bộ xương dự án Python + MongoDB với mã nguồn đầy đủ cho bạn cách truy cập MongoDB từ Python. Click here to download a Python + MongoDB project skeleton with full source code that shows you how to access MongoDB from Python.

Cơ sở dữ liệu là một sự trừu tượng hóa đối với hệ thống tệp của hệ điều hành giúp các nhà phát triển dễ dàng xây dựng các ứng dụng tạo, đọc, cập nhật và xóa dữ liệu liên tục hơn.

Hướng dẫn how does python work with databases? - làm thế nào để python làm việc với cơ sở dữ liệu?

Tại sao cơ sở dữ liệu cần thiết?

Ở mức độ cao, ứng dụng web lưu trữ dữ liệu và trình bày cho người dùng một cách hữu ích. Ví dụ: Google lưu trữ dữ liệu về đường và cung cấp các hướng dẫn để đi từ vị trí này sang vị trí khác bằng cách lái xe qua ứng dụng MAPS. Hướng dẫn lái xe là có thể vì dữ liệu được lưu trữ ở định dạng có cấu trúc.

Cơ sở dữ liệu làm cho lưu trữ có cấu trúc đáng tin cậy và nhanh chóng. Họ cũng cung cấp cho bạn một khung tinh thần về cách lưu và lấy dữ liệu thay vì phải tìm ra những việc cần làm với dữ liệu mỗi khi bạn xây dựng một ứng dụng mới.

Cơ sở dữ liệu quan hệ

Tóm tắt lưu trữ cơ sở dữ liệu được sử dụng phổ biến nhất trong phát triển web Python là các tập hợp các bảng quan hệ. Tóm tắt lưu trữ thay thế được giải thích trên trang NoQuery.

Cơ sở dữ liệu quan hệ lưu trữ dữ liệu trong một loạt các bảng. Kết nối giữa các bảng được chỉ định là khóa nước ngoài. Khóa nước ngoài là một tham chiếu duy nhất từ ​​một hàng trong bảng quan hệ đến một hàng khác trong bảng, có thể là cùng một bảng nhưng thường là một bảng khác.

Cơ sở dữ liệu triển khai lưu trữ khác nhau về độ phức tạp. SQLite, một cơ sở dữ liệu được bao gồm trong Python, tạo một tệp duy nhất cho tất cả dữ liệu cho mỗi cơ sở dữ liệu. Các cơ sở dữ liệu khác như PostgreSQL, MySQL, Oracle và Microsoft SQL Server có các sơ đồ liên tục phức tạp hơn trong khi cung cấp các tính năng nâng cao bổ sung hữu ích cho việc lưu trữ dữ liệu ứng dụng web. Các tính năng nâng cao này bao gồm nhưng không giới hạn ở:

  1. sao chép dữ liệu giữa cơ sở dữ liệu chính và một hoặc nhiều trường hợp nô lệ chỉ đọc
  2. Các loại cột nâng cao có thể lưu trữ hiệu quả dữ liệu bán cấu trúc như ký hiệu đối tượng JavaScript (JSON)
  3. Sharding, cho phép tỷ lệ ngang của nhiều cơ sở dữ liệu đóng vai trò là các trường hợp đọc-ghi với chi phí độ trễ trong tính nhất quán của dữ liệu
  4. Giám sát, thống kê và thông tin thời gian chạy hữu ích khác cho các lược đồ và bảng cơ sở dữ liệu

Thông thường các ứng dụng web bắt đầu với một thể hiện cơ sở dữ liệu duy nhất như PostgreSQL với lược đồ đơn giản. Theo thời gian, lược đồ cơ sở dữ liệu phát triển thành một cấu trúc phức tạp hơn bằng cách sử dụng di chuyển lược đồ và các tính năng nâng cao như sao chép, chia cắt và giám sát trở nên hữu ích hơn khi việc sử dụng cơ sở dữ liệu tăng dựa trên nhu cầu của người dùng ứng dụng.

Cơ sở dữ liệu phổ biến nhất cho các ứng dụng web Python

PostgreSQL và MySQL là hai trong số các cơ sở dữ liệu nguồn mở phổ biến nhất để lưu trữ dữ liệu của các ứng dụng web Python.

SQLite là cơ sở dữ liệu được lưu trữ trong một tệp trên đĩa. SQLite được tích hợp vào Python nhưng chỉ được xây dựng để truy cập bằng một kết nối tại một thời điểm. Do đó, rất được khuyến khích để không chạy một ứng dụng web sản xuất với SQLite.

Cơ sở dữ liệu PostgreSQL

PostgreSQL là cơ sở dữ liệu quan hệ được khuyến nghị để làm việc với các ứng dụng web Python. Bộ tính năng của PostgreSQL, phát triển tích cực và ổn định góp phần sử dụng nó là phần phụ trợ cho hàng triệu ứng dụng trực tiếp trên web ngày nay.

Tìm hiểu thêm về việc sử dụng PostgreSQL với Python trên trang PostgreSQL.

Cơ sở dữ liệu MySQL

MySQL là một triển khai cơ sở dữ liệu nguồn mở khả thi khác cho các ứng dụng Python. MySQL có đường cong học tập ban đầu dễ dàng hơn một chút so với PostgreSQL nhưng không có tính năng phong phú.

Tìm hiểu về các ứng dụng Python với MySQL được hỗ trợ trên trang MySQL chuyên dụng.

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

Để làm việc với cơ sở dữ liệu quan hệ bằng Python, bạn cần sử dụng thư viện mã. Các thư viện phổ biến nhất cho cơ sở dữ liệu quan hệ là:

  • psycopg (mã nguồn) cho postgresql.

  • MySQLDB (Mã nguồn) cho MySQL. Lưu ý rằng sự phát triển của trình điều khiển này chủ yếu bị đóng băng, vì vậy việc đánh giá trình điều khiển thay thế là khôn ngoan nếu bạn đang sử dụng MySQL làm phụ trợ.

  • CX_Oracle cho cơ sở dữ liệu Oracle (mã nguồn).

Hỗ trợ SQLite được tích hợp vào Python 2.7+ và do đó, một thư viện riêng là không cần thiết. Chỉ đơn giản là "Nhập SQLite3" để bắt đầu giao tiếp với cơ sở dữ liệu dựa trên tệp đơn.

Bản đồ quan hệ giữa các đối tượng

Các trình lập bản đồ liên quan đến đối tượng (ORMS) cho phép các nhà phát triển truy cập dữ liệu từ một phụ trợ bằng cách viết mã python thay vì các truy vấn SQL. Mỗi khung ứng dụng web xử lý tích hợp các orm khác nhau. Có toàn bộ trang về ánh xạ liên quan đến đối tượng (ORMS) mà bạn nên đọc để xử lý chủ đề này.

Cơ sở dữ liệu Dịch vụ của bên thứ ba

Nhiều công ty chạy các máy chủ cơ sở dữ liệu có thể mở rộng như một dịch vụ được lưu trữ. Cơ sở dữ liệu được lưu trữ thường có thể cung cấp các bản sao lưu và phục hồi tự động, thắt chặt cấu hình bảo mật và tỷ lệ dọc dễ dàng, tùy thuộc vào nhà cung cấp.

  • Dịch vụ cơ sở dữ liệu quan hệ Amazon (RDS) cung cấp các phiên bản MySQL và PostgreSQL được cấu hình sẵn. Các trường hợp có thể được chia tỷ lệ thành các cấu hình lớn hơn hoặc nhỏ hơn dựa trên nhu cầu lưu trữ và hiệu suất.

  • Google Cloud SQL là một dịch vụ có các phiên bản MySQL được quản lý, sao chép, sao chép và tự động. Cloud SQL tích hợp với Google App Engine nhưng cũng có thể được sử dụng độc lập.

  • Bitcan cung cấp cả cơ sở dữ liệu được lưu trữ của MySQL và MongoDB với các dịch vụ sao lưu rộng rãi.

  • ElephantsQL là một công ty dịch vụ phần mềm, lưu trữ cơ sở dữ liệu PostgreSQL và xử lý cấu hình máy chủ, bản sao lưu và kết nối dữ liệu trên các trường hợp dịch vụ web của Amazon.

Tài nguyên SQL

Bạn có thể có kế hoạch sử dụng một bản đồ liên quan đến đối tượng (ORM) làm cách tương tác chính của bạn với cơ sở dữ liệu, nhưng bạn vẫn nên tìm hiểu những điều cơ bản của SQL để tạo các lược đồ và hiểu mã SQL do ORM tạo ra. Các tài nguyên sau đây có thể giúp bạn tăng tốc trên SQL nếu bạn chưa từng sử dụng trước đó.

  • Chọn Star SQL là một cuốn sách tương tác để học SQL. Rất khuyến khích ngay cả khi bạn cảm thấy bạn sẽ chỉ làm việc với một bản đồ liên quan đến đối tượng trong các dự án của mình vì bạn không bao giờ biết khi nào bạn sẽ cần phải ghé vào SQL để cải thiện hiệu suất chậm của truy vấn được tạo.

  • Hướng dẫn người mới bắt đầu về SQL thực hiện tốt công việc giải thích các từ khóa chính được sử dụng trong các câu lệnh SQL như SELECT, WHERE, FROM, UPDATEDELETE.

  • Hướng dẫn SQL dạy các điều cơ bản SQL có thể được sử dụng trong tất cả các triển khai cơ sở dữ liệu quan hệ chính.

  • Cuộc sống của một truy vấn SQL giải thích những gì xảy ra cả về mặt khái niệm và kỹ thuật trong cơ sở dữ liệu khi truy vấn SQL được chạy. Tác giả sử dụng PostgreSQL làm cơ sở dữ liệu ví dụ và cú pháp SQL trong suốt bài đăng.

  • Một hướng dẫn toàn diện, không đầy đủ, toàn diện về nhiều cách khác nhau để tham gia các bảng trong SQL xây dựng trên một trong những phần khó nhất của việc viết các câu lệnh SQL kết nối một hoặc nhiều bảng: JOIN.

  • Viết SQL dễ đọc hơn là một hướng dẫn tạo kiểu mã ngắn để làm cho các truy vấn của bạn dễ đọc hơn.

  • SQL Trung cấp là một hướng dẫn ngoài cơ sở sử dụng dữ liệu mở từ Cục Bảo vệ Tài chính Tiêu dùng Hoa Kỳ làm ví dụ để đếm, truy vấn và sử dụng các quan điểm trong PostgreSQL.

Tài nguyên cơ sở dữ liệu chung

  • Làm thế nào để một cơ sở dữ liệu quan hệ hoạt động? là một bài viết dài chi tiết về việc sắp xếp, tìm kiếm, hợp nhất và các hoạt động khác mà chúng ta thường được cấp khi sử dụng cơ sở dữ liệu quan hệ được thiết lập như PostgreSQL.

  • Cơ sở dữ liệu 101 đưa ra một cái nhìn tổng quan tuyệt vời về các khái niệm cơ sở dữ liệu quan hệ chính có liên quan đến ngay cả những người không phát triển như một phần giới thiệu.

  • Năm sai lầm mà người mới bắt đầu mắc phải khi làm việc với cơ sở dữ liệu giải thích lý do tại sao bạn không nên lưu trữ hình ảnh trong cơ sở dữ liệu cũng như tại sao phải thận trọng với cách bạn bình thường hóa lược đồ của mình.

  • DB-Engines xếp hạng các hệ thống quản lý cơ sở dữ liệu phổ biến nhất.

  • DB Weekly là một vòng hàng tuần của các bài viết và tài nguyên cơ sở dữ liệu chung.

  • Thiết kế kiến ​​trúc cơ sở dữ liệu có khả năng mở rộng cao bao gồm tỷ lệ ngang và dọc, sao chép và lưu trữ trong các kiến ​​trúc cơ sở dữ liệu quan hệ.

  • Di chuyển trực tuyến ở quy mô là một bài đọc tuyệt vời về việc phá vỡ sự phức tạp của việc di chuyển lược đồ cơ sở dữ liệu cho cơ sở dữ liệu hoạt động. Cách tiếp cận mà nhóm của tác giả đã sử dụng là mẫu viết kép 4 bước để phát triển cẩn thận cách lưu trữ dữ liệu cho đăng ký để chúng có thể chuyển sang mô hình lưu trữ mới, hiệu quả hơn.

  • Một kích thước phù hợp với tất cả cơ sở dữ liệu không phù hợp với bất kỳ ai giải thích lý do cụ thể của Amazon Web Services vì ​​có rất nhiều loại cơ sở dữ liệu quan hệ và không quan hệ trên nền tảng của mình nhưng bài viết cũng là một tổng quan tốt về các mô hình cơ sở dữ liệu khác nhau và các trường hợp sử dụng của chúng.

  • SQL năm nay 43 tuổi - ở đây, 8 lý do chúng ta vẫn sử dụng nó ngày hôm nay liệt kê lý do SQL thường được sử dụng bởi hầu hết các nhà phát triển ngay cả khi ngôn ngữ tiếp cận kỷ niệm năm mươi của nó.

  • Các khóa SQL theo chiều sâu cung cấp một lời giải thích tuyệt vời cho các khóa chính là gì và bạn nên sử dụng chúng như thế nào.

  • Khám phá một tập dữ liệu trong SQL là một ví dụ tốt về cách SQL một mình có thể được sử dụng để phân tích dữ liệu. Hướng dẫn này sử dụng dữ liệu Spotify để chỉ ra cách trích xuất những gì bạn đang tìm kiếm để học từ một bộ dữ liệu.

  • Chiến lược kiểm tra tích hợp cơ sở dữ liệu bao gồm một chủ đề khó khăn xuất hiện trong mọi dự án trong thế giới thực.

  • Gitlab đã cung cấp sự cố sau cơ sở dữ liệu vào ngày 31 tháng 1 như một cách để minh bạch cho khách hàng và giúp các nhóm phát triển khác tìm hiểu cách họ làm hỏng hệ thống cơ sở dữ liệu của họ sau đó tìm ra cách phục hồi.

  • Python và cơ sở dữ liệu không đồng bộ là một bài viết chuyên sâu về lý do tại sao nhiều trình điều khiển cơ sở dữ liệu Python không thể được sử dụng mà không cần sửa đổi do sự khác biệt trong việc chặn các mô hình sự kiện so với asychronous. Chắc chắn đáng để đọc nếu bạn đang sử dụng websockets qua Tornado hoặc Gevent.

  • PostgreSQL so với MS SQL Server là một trong những quan điểm về sự khác biệt giữa hai máy chủ cơ sở dữ liệu từ một nhà phân tích dữ liệu.

Cơ sở dữ liệu Danh sách kiểm tra học tập

  1. Cài đặt PostgreSQL trên máy chủ của bạn. Giả sử bạn đã đi với Ubuntu Run sudo apt-get install postgresql.

  2. Đảm bảo thư viện PSYCOPG nằm trong các phụ thuộc của ứng dụng của bạn.

  3. Định cấu hình ứng dụng web của bạn để kết nối với thể hiện PostgreSQL.

  4. Tạo các mô hình trong ORM của bạn, với ORM hoặc SQLalchemy tích hợp của Django với bình.

  5. Xây dựng các bảng cơ sở dữ liệu của bạn hoặc đồng bộ hóa các mô hình ORM với thể hiện PostgreSQL, nếu bạn đang sử dụng ORM.

  6. Bắt đầu tạo, đọc, cập nhật và xóa dữ liệu trong cơ sở dữ liệu khỏi ứng dụng web của bạn.

Điều gì tiếp theo để ứng dụng của bạn chạy?

Các nhà phát triển hipster lưu trữ dữ liệu NoQuery này tiếp tục nói về những gì?

Ứng dụng của tôi chạy nhưng trông khủng khiếp. Làm cách nào để tạo kiểu giao diện người dùng?

Làm cách nào để sử dụng JavaScript với ứng dụng web Python của tôi?

Làm thế nào để Python tương tác với cơ sở dữ liệu?

Để tạo kết nối giữa cơ sở dữ liệu MySQL và Python, phương thức Connect () của mô -đun mysql.connector được sử dụng. Chúng tôi vượt qua các chi tiết cơ sở dữ liệu như tên máy chủ, tên người dùng và mật khẩu trong lệnh gọi phương thức và sau đó phương thức trả về đối tượng kết nối.the connect() method of mysql. connector module is used. We pass the database details like HostName, username, and the password in the method call, and then the method returns the connection object.

Python có thể quản lý cơ sở dữ liệu không?

Python, Sqlite và Sqlalchemy cung cấp chức năng cơ sở dữ liệu chương trình của bạn, cho phép bạn lưu trữ dữ liệu trong một tệp mà không cần máy chủ cơ sở dữ liệu.Bạn có thể đạt được kết quả tương tự bằng cách sử dụng các tệp phẳng trong bất kỳ số định dạng nào, bao gồm CSV, JSON, XML và thậm chí các định dạng tùy chỉnh., allowing you to store data in a single file without the need for a database server. You can achieve similar results using flat files in any number of formats, including CSV, JSON, XML, and even custom formats.

Python có được sử dụng để lưu trữ cơ sở dữ liệu không?

Thư viện tiêu chuẩn của Python, cung cấp các mô -đun để lưu trữ và truy xuất dữ liệu được tuần tự hóa trong các cấu trúc dữ liệu khác nhau như JSON và XML.DB-API của Python cung cấp một cách tương tác tiêu chuẩn với cơ sở dữ liệu quan hệ.. Python's DB-API provides a standard way of interacting with relational databases.

Tôi có thể xây dựng cơ sở dữ liệu với Python không?

Giới thiệu.SQLalchemy là một thư viện Python để triển khai cơ sở dữ liệu SQL mà không cần sử dụng chính ngôn ngữ SQL.Nói cách khác, tất cả những gì bạn cần làm là triển khai cơ sở dữ liệu của mình bằng ngôn ngữ Python.SQLAlchemy is a Python library for implementing SQL databases without using the SQL language itself. In other words, all you need to do is to implement your database using the Python language.