Làm cách nào để hiển thị bảng trong sqlite3 Python?

Đồng thời xem Cách liệt kê các bảng cơ sở dữ liệu SQLite3 trên dòng lệnh

Bạn có thể sử dụng đoạn mã này để liệt kê tất cả các bảng SQL trong SQLite 3 của mình. cơ sở dữ liệu x trong Python

def tables_in_sqlite_db[conn]:
    cursor = conn.execute["SELECT name FROM sqlite_master WHERE type='table';"]
    tables = [
        v[0] for v in cursor.fetchall[]
        if v[0] != "sqlite_sequence"
    ]
    cursor.close[]
    return tables

ví dụ sử dụng

#!/usr/bin/env python3
import sqlite3
# Open database
conn = sqlite3.connect['/usr/share/command-not-found/commands.db']
# List tables
tables = tables_in_sqlite_db[conn]

# Your code goes here!
# Example:
print[tables] # prints ['commands', 'packages']

Chào mừng bạn đến với hướng dẫn về cách tạo bảng từ Cơ sở dữ liệu SQLite trong Python Flask. Vì vậy, bạn có một số dữ liệu trong cơ sở dữ liệu mà bạn muốn hiển thị trong một “bảng HTML đẹp”? . Đọc để biết ví dụ từng bước

ⓘ Tôi đã bao gồm một tệp zip chứa tất cả mã nguồn khi bắt đầu hướng dẫn này, vì vậy bạn không cần phải sao chép-dán mọi thứ… Hoặc nếu bạn chỉ muốn đi sâu vào

 

 

MỤC LỤC

 

TẢI XUỐNG & LƯU Ý

Đầu tiên, đây là liên kết tải xuống mã ví dụ như đã hứa

 

GHI CHÚ NHANH

  • Tạo một thư mục dự án, e. g. D:\table, giải nén mã bên trong thư mục này
  • Điều hướng đến thư mục dự án trong dòng lệnh cd D:\table, tạo một môi trường ảo để không làm hỏng các dự án khác của bạn
    • virtualenv venv
    • Cửa sổ – venv\scripts\activate
    • Mac/Linux –
      # [A] LOAD PACKAGES
      import sqlite3, os
      from sqlite3 import Error
      
      # [B] DATABASE + SQL FILE
      DBFILE = "users.db"
      SQLFILE = "S1A_users.sql"
      
      # [C] DELETE OLD DATABASE IF EXIST
      if os.path.exists[DBFILE]:
        os.remove[DBFILE]
       
      # [D] IMPORT SQL
      conn = sqlite3.connect[DBFILE]
      with open[SQLFILE] as f:
        conn.executescript[f.read[]]
      conn.commit[]
      conn.close[]
      print["Database created!"]
      0
  • Nhận tất cả các gói cần thiết –
    # [A] LOAD PACKAGES
    import sqlite3, os
    from sqlite3 import Error
    
    # [B] DATABASE + SQL FILE
    DBFILE = "users.db"
    SQLFILE = "S1A_users.sql"
    
    # [C] DELETE OLD DATABASE IF EXIST
    if os.path.exists[DBFILE]:
      os.remove[DBFILE]
     
    # [D] IMPORT SQL
    conn = sqlite3.connect[DBFILE]
    with open[SQLFILE] as f:
      conn.executescript[f.read[]]
    conn.commit[]
    conn.close[]
    print["Database created!"]
    1
  • Tạo cơ sở dữ liệu
    # [A] LOAD PACKAGES
    import sqlite3, os
    from sqlite3 import Error
    
    # [B] DATABASE + SQL FILE
    DBFILE = "users.db"
    SQLFILE = "S1A_users.sql"
    
    # [C] DELETE OLD DATABASE IF EXIST
    if os.path.exists[DBFILE]:
      os.remove[DBFILE]
     
    # [D] IMPORT SQL
    conn = sqlite3.connect[DBFILE]
    with open[SQLFILE] as f:
      conn.executescript[f.read[]]
    conn.commit[]
    conn.close[]
    print["Database created!"]
    2
  • Khởi chạy
    # [A] LOAD PACKAGES
    import sqlite3, os
    from sqlite3 import Error
    
    # [B] DATABASE + SQL FILE
    DBFILE = "users.db"
    SQLFILE = "S1A_users.sql"
    
    # [C] DELETE OLD DATABASE IF EXIST
    if os.path.exists[DBFILE]:
      os.remove[DBFILE]
     
    # [D] IMPORT SQL
    conn = sqlite3.connect[DBFILE]
    with open[SQLFILE] as f:
      conn.executescript[f.read[]]
    conn.commit[]
    conn.close[]
    print["Database created!"]
    3 và truy cập
    # [A] LOAD PACKAGES
    import sqlite3, os
    from sqlite3 import Error
    
    # [B] DATABASE + SQL FILE
    DBFILE = "users.db"
    SQLFILE = "S1A_users.sql"
    
    # [C] DELETE OLD DATABASE IF EXIST
    if os.path.exists[DBFILE]:
      os.remove[DBFILE]
     
    # [D] IMPORT SQL
    conn = sqlite3.connect[DBFILE]
    with open[SQLFILE] as f:
      conn.executescript[f.read[]]
    conn.commit[]
    conn.close[]
    print["Database created!"]
    4
Nếu bạn phát hiện ra một lỗi, hãy bình luận bên dưới. Tôi cũng cố gắng trả lời các câu hỏi ngắn, nhưng đó là một người so với cả thế giới… Nếu bạn cần câu trả lời gấp, vui lòng xem danh sách các trang web của tôi để được trợ giúp về lập trình

 

MÃ VÍ DỤ TẢI XUỐNG

Nhấp vào đây để tải xuống tất cả mã nguồn ví dụ, tôi đã phát hành nó theo giấy phép MIT, vì vậy hãy thoải mái xây dựng trên mã nguồn đó hoặc sử dụng nó trong dự án của riêng bạn

 

 

BẢNG TỪ CƠ SỞ DỮ LIỆU SQLITE

Được rồi, bây giờ chúng ta hãy xem các bước hiển thị bảng HTML từ cơ sở dữ liệu SQLite

 

BƯỚC 1] CƠ SỞ DỮ LIỆU GIẢ

1A] BẢNG NGƯỜI DÙNG

S1A_người dùng. sql

-- [A] USERS
CREATE TABLE `users` [
  `user_id` INTEGER NOT NULL,
  `user_name` TEXT NOT NULL,
  `user_email` TEXT DEFAULT NULL,
  PRIMARY KEY["user_id" AUTOINCREMENT]
];
 
-- [B] DUMMY USERS
INSERT INTO `users`
  [`user_name`, `user_email`]
VALUES
  ["Jo Doe", "jo@doe.com"],
  ["Job Doe", "job@doe.com"],
  ["Joe Doe", "joe@doe.com"],
  ["Jog Doe", "jog@doe.com"],
  ["Joi Doe", "joi@doe.com"],
  ["Jol Doe", "jol@doe.com"],
  ["Jon Doe", "jon@doe.com"],
  ["Jos Doe", "jos@doe.com"],
  ["Jou Doe", "jou@doe.com"],
  ["Joy Doe", "joy@doe.com"];

Đây là bảng giả và dữ liệu mà chúng ta sẽ sử dụng để tạo bảng HTML sau này. Không cần giải thích nhiều, chỉ có 3 trường

  • # [A] LOAD PACKAGES
    import sqlite3, os
    from sqlite3 import Error
    
    # [B] DATABASE + SQL FILE
    DBFILE = "users.db"
    SQLFILE = "S1A_users.sql"
    
    # [C] DELETE OLD DATABASE IF EXIST
    if os.path.exists[DBFILE]:
      os.remove[DBFILE]
     
    # [D] IMPORT SQL
    conn = sqlite3.connect[DBFILE]
    with open[SQLFILE] as f:
      conn.executescript[f.read[]]
    conn.commit[]
    conn.close[]
    print["Database created!"]
    5 ID người dùng, khóa chính và tăng tự động
  • # [A] LOAD PACKAGES
    import sqlite3, os
    from sqlite3 import Error
    
    # [B] DATABASE + SQL FILE
    DBFILE = "users.db"
    SQLFILE = "S1A_users.sql"
    
    # [C] DELETE OLD DATABASE IF EXIST
    if os.path.exists[DBFILE]:
      os.remove[DBFILE]
     
    # [D] IMPORT SQL
    conn = sqlite3.connect[DBFILE]
    with open[SQLFILE] as f:
      conn.executescript[f.read[]]
    conn.commit[]
    conn.close[]
    print["Database created!"]
    6 Tên người dùng
  • # [A] LOAD PACKAGES
    import sqlite3, os
    from sqlite3 import Error
    
    # [B] DATABASE + SQL FILE
    DBFILE = "users.db"
    SQLFILE = "S1A_users.sql"
    
    # [C] DELETE OLD DATABASE IF EXIST
    if os.path.exists[DBFILE]:
      os.remove[DBFILE]
     
    # [D] IMPORT SQL
    conn = sqlite3.connect[DBFILE]
    with open[SQLFILE] as f:
      conn.executescript[f.read[]]
    conn.commit[]
    conn.close[]
    print["Database created!"]
    7 Email của người dùng

 

 

1B] TẠO CƠ SỞ DỮ LIỆU SQLITE

S1B_create. py

# [A] LOAD PACKAGES
import sqlite3, os
from sqlite3 import Error

# [B] DATABASE + SQL FILE
DBFILE = "users.db"
SQLFILE = "S1A_users.sql"

# [C] DELETE OLD DATABASE IF EXIST
if os.path.exists[DBFILE]:
  os.remove[DBFILE]
 
# [D] IMPORT SQL
conn = sqlite3.connect[DBFILE]
with open[SQLFILE] as f:
  conn.executescript[f.read[]]
conn.commit[]
conn.close[]
print["Database created!"]

Tiếp theo, chúng ta có một tập lệnh đơn giản để tự tạo cơ sở dữ liệu SQLite. Vui lòng xóa cái này sau khi chạy… Nó hầu như không phục vụ mục đích nào khác ngoài việc tạo tệp

# [A] LOAD PACKAGES
import sqlite3, os
from sqlite3 import Error

# [B] DATABASE + SQL FILE
DBFILE = "users.db"
SQLFILE = "S1A_users.sql"

# [C] DELETE OLD DATABASE IF EXIST
if os.path.exists[DBFILE]:
  os.remove[DBFILE]
 
# [D] IMPORT SQL
conn = sqlite3.connect[DBFILE]
with open[SQLFILE] as f:
  conn.executescript[f.read[]]
conn.commit[]
conn.close[]
print["Database created!"]
8

 

BƯỚC 2] MÁY CHỦ FLASK

2A] KHỞI TẠO

S2_máy chủ. py

# [A] INIT
# [A1] LOAD MODULES
from flask import Flask, render_template, request, make_response
import sqlite3
 
# [A2] FLASK SETTINGS + INIT
HOST_NAME = "localhost"
HOST_PORT = 80
DBFILE = "users.db"
app = Flask[__name__]
# app.debug = True

Phần đầu tiên của tập lệnh máy chủ Flask sẽ khá dễ hiểu. Chúng tôi chỉ nhập các mô-đun cần thiết và chỉ định một số cài đặt

 

 

2B] SQLITE NHẬN NGƯỜI DÙNG

S2_máy chủ. py

# [B] HELPER - GET ALL USERS FROM DATABASE
def getusers[]:
  conn = sqlite3.connect[DBFILE]
  cursor = conn.cursor[]
  cursor.execute["SELECT * FROM `users`"]
  results = cursor.fetchall[]
  conn.close[]
  return results

Tiếp theo, chúng tôi có một chức năng trợ giúp đơn giản để kết nối với cơ sở dữ liệu người dùng và nhận tất cả người dùng

 

2C] NGƯỜI DÙNG ĐẦU RA TRONG BẢNG HTML

S2_máy chủ. py

# [C] DEMO PAGE - SHOW USERS IN TABLE
@app.route["/"]
def index[]:
  # [C1] GET ALL USERS
  users = getusers[]
  # print[users]
 
  # [C2] RENDER HTML PAGE
  return render_template["S3_users.html", usr=users]
 
# [D] START
if __name__ == "__main__":
  app.run[HOST_NAME, HOST_PORT]

Cuối cùng, thuyền trưởng rõ ràng đã phục vụ bạn một lần nữa. Nhận tất cả người dùng từ cơ sở dữ liệu và chuyển nó vào trang HTML để hiển thị

 

 

BƯỚC 3] DỮ LIỆU VÀO BẢNG HTML

mẫu/S3_users. html


  {% for u in usr %}
  
{% endfor %}
{{ u[0] }} {{ u[1] }} {{ u[2] }}

Đó là tất cả những gì dành cho hướng dẫn và đây là một phần nhỏ về một số tính năng bổ sung và liên kết có thể hữu ích cho bạn

 

SQLITE HOẠT ĐỘNG NHƯNG KHÔNG TUYỆT VỜI

Có, SQLite đơn giản và thuận tiện. Nó rất tốt cho việc học và hướng dẫn, nhưng không tốt cho các ứng dụng thực tế

  • SQLite dựa trên tệp
  • Trong thiết lập máy chủ cụm hoặc máy chủ đám mây, điều này trở thành một hạn chế – Chúng ta sẽ sao chép tệp cơ sở dữ liệu trên tất cả các máy chủ phải không?
  • Hiệu suất cũng không tốt cho các bộ dữ liệu lớn

Vì vậy, vâng, xin đừng lười biếng. Tiếp tục nghiên cứu của bạn và chọn một cơ sở dữ liệu tốt hơn – MYSQL, MongoDB, PostgreSQL, MSSQL, v.v…

 

LIÊN KẾT và THAM KHẢO

  • bình trăn
  • SQLite

 

KẾT THÚC

Cảm ơn bạn đã đọc, và chúng tôi đã đi đến cuối. Tôi hy vọng rằng nó đã giúp bạn hiểu rõ hơn và nếu bạn muốn chia sẻ bất cứ điều gì với hướng dẫn này, vui lòng bình luận bên dưới. Chúc may mắn và mã hóa hạnh phúc

Làm cách nào để xem cấu trúc của bảng trong SQLite?

Gọi tiện ích sqlite3 trên tệp cơ sở dữ liệu và sử dụng các lệnh dấu chấm đặc biệt của nó. .
bảng sẽ liệt kê các bảng
lược đồ [tên bảng] sẽ hiển thị [các] câu lệnh CREATE cho một bảng hoặc nhiều bảng

Làm cách nào để thêm bảng trong SQLite Python?

SQLite Python. Tạo bảng .
Đầu tiên, tạo một đối tượng Kết nối bằng hàm connect[] của mô-đun sqlite3
Thứ hai, tạo một đối tượng Con trỏ bằng cách gọi phương thức con trỏ [] của đối tượng Kết nối
Thứ ba, truyền câu lệnh CREATE TABLE cho phương thức exec[] của đối tượng Cursor và thực thi phương thức này

Làm cách nào để lấy dữ liệu từ cơ sở dữ liệu SQLite bằng Python?

Bạn có thể tìm nạp dữ liệu từ MYSQL bằng cách sử dụng phương thức fetch[] do mô-đun python sqlite cung cấp . sqlite3. Lớp con trỏ cung cấp ba phương thức là fetchall[], fetchmany[] và, fetchone[] trong đó Phương thức fetchall[] truy xuất tất cả các hàng trong tập kết quả của một truy vấn và trả về chúng dưới dạng danh sách các bộ dữ liệu.

Chủ Đề