Tóm tắt: Trong hướng dẫn này, bạn sẽ tìm hiểu cách tạo cơ sở dữ liệu SQLite mới từ chương trình Python.: in this tutorial, you will learn how to create a new SQLite database from a Python program.
Khi bạn kết nối với tệp cơ sở dữ liệu SQLite không tồn tại, SQLite sẽ tự động tạo cơ sở dữ liệu mới cho bạn.
Để tạo cơ sở dữ liệu, trước tiên, bạn phải tạo một đối tượng Connection
đại diện cho cơ sở dữ liệu bằng cách sử dụng hàm ________ 8 & nbsp; của mô -đun SQLite3.
Ví dụ: chương trình Python sau đây tạo một tệp cơ sở dữ liệu mới pythonsqlite.db
trong thư mục
0.Code language: Python [python]
import sqlite3 from sqlite3 import Error def create_connection[]: """ create a database connection to a database that resides in the memory """ conn = None; try: conn = sqlite3.connect[':memory:'] print[sqlite3.version] except Error as e: print[e] finally: if conn: conn.close[] if __name__ == '__main__': create_connection[]
Lưu ý rằng bạn phải tạo thư mục C: \ SQLite \ DB trước khi bạn thực hiện chương trình. Hoặc bạn có thể đặt tệp cơ sở dữ liệu một thư mục bạn chọn.
Code language: Python [python]
import sqlite3 from sqlite3 import Error def create_connection[db_file]: """ create a database connection to a SQLite database """ conn = None try: conn = sqlite3.connect[db_file] print[sqlite3.version] except Error as e: print[e] finally: if conn: conn.close[] if __name__ == '__main__': create_connection[r"C:\sqlite\db\pythonsqlite.db"]
Trong mã này:
Đầu tiên, chúng tôi xác định một hàm gọi là
1 kết nối với cơ sở dữ liệu SQLite được chỉ định bởi tệp cơ sở dữ liệuCode language: Python [python]
import sqlite3 from sqlite3 import Error def create_connection[]: """ create a database connection to a database that resides in the memory """ conn = None; try: conn = sqlite3.connect[':memory:'] print[sqlite3.version] except Error as e: print[e] finally: if conn: conn.close[] if __name__ == '__main__': create_connection[]
2. Bên trong hàm, chúng tôi gọi hàmCode language: Python [python]
import sqlite3 from sqlite3 import Error def create_connection[]: """ create a database connection to a database that resides in the memory """ conn = None; try: conn = sqlite3.connect[':memory:'] print[sqlite3.version] except Error as e: print[e] finally: if conn: conn.close[] if __name__ == '__main__': create_connection[]
connect[]
của mô -đun SQLite3.Hàm connect[]
mở kết nối với cơ sở dữ liệu SQLite. Nó trả về một đối tượng Connection
đại diện cho cơ sở dữ liệu. Bằng cách sử dụng & nbsp; đối tượng Connection
, bạn có thể thực hiện các hoạt động cơ sở dữ liệu khác nhau.
Trong trường hợp xảy ra lỗi, chúng tôi bắt nó trong khối
7 và hiển thị thông báo lỗi. Nếu mọi thứ đều ổn, chúng tôi sẽ hiển thị phiên bản cơ sở dữ liệu SQLite.Code language: Python [python]
import sqlite3 from sqlite3 import Error def create_connection[]: """ create a database connection to a database that resides in the memory """ conn = None; try: conn = sqlite3.connect[':memory:'] print[sqlite3.version] except Error as e: print[e] finally: if conn: conn.close[] if __name__ == '__main__': create_connection[]
Đó là một thực tiễn lập trình tốt mà bạn nên luôn luôn đóng kết nối cơ sở dữ liệu khi bạn hoàn thành với nó.
Thứ hai, chúng tôi chuyển đường dẫn của tệp cơ sở dữ liệu đến hàm
1 để tạo cơ sở dữ liệu. Lưu ý rằng tiền tốCode language: Python [python]
import sqlite3 from sqlite3 import Error def create_connection[]: """ create a database connection to a database that resides in the memory """ conn = None; try: conn = sqlite3.connect[':memory:'] print[sqlite3.version] except Error as e: print[e] finally: if conn: conn.close[] if __name__ == '__main__': create_connection[]
9 trong & nbsp;Code language: Python [python]
import sqlite3 from sqlite3 import Error def create_connection[]: """ create a database connection to a database that resides in the memory """ conn = None; try: conn = sqlite3.connect[':memory:'] print[sqlite3.version] except Error as e: print[e] finally: if conn: conn.close[] if __name__ == '__main__': create_connection[]
import sqlite3 sqlite3.connect['database_name']0 Hướng dẫn Python rằng chúng tôi đang vượt qua một chuỗi thô.
Hãy để chạy chương trình và kiểm tra thư mục
0.Code language: Python [python]
import sqlite3 from sqlite3 import Error def create_connection[]: """ create a database connection to a database that resides in the memory """ conn = None; try: conn = sqlite3.connect[':memory:'] print[sqlite3.version] except Error as e: print[e] finally: if conn: conn.close[] if __name__ == '__main__': create_connection[]
Nếu bạn bỏ qua đường dẫn thư mục
0, chương trình sẽ tạo tệp cơ sở dữ liệu trong thư mục làm việc hiện tại [CWD].Code language: Python [python]
import sqlite3 from sqlite3 import Error def create_connection[]: """ create a database connection to a database that resides in the memory """ conn = None; try: conn = sqlite3.connect[':memory:'] print[sqlite3.version] except Error as e: print[e] finally: if conn: conn.close[] if __name__ == '__main__': create_connection[]
Nếu bạn chuyển tên tệp là
import sqlite3 sqlite3.connect['database_name']3 cho hàm
connect[]
của mô -đun SQLite3, nó sẽ tạo một cơ sở dữ liệu mới nằm trong bộ nhớ [RAM] thay vì tệp cơ sở dữ liệu trên đĩa.Chương trình sau đây tạo cơ sở dữ liệu SQLite trong bộ nhớ.
Code language: Python [python]
import sqlite3 from sqlite3 import Error def create_connection[]: """ create a database connection to a database that resides in the memory """ conn = None; try: conn = sqlite3.connect[':memory:'] print[sqlite3.version] except Error as e: print[e] finally: if conn: conn.close[] if __name__ == '__main__': create_connection[]
Trong hướng dẫn này, bạn đã học được cách tạo cơ sở dữ liệu SQLite trên đĩa và trong bộ nhớ từ chương trình Python bằng mô -đun SQLite3.
Hướng dẫn này có hữu ích không?
Trong hướng dẫn này, bạn sẽ thấy một ví dụ hoàn chỉnh với các bước để tạo cơ sở dữ liệu bằng Python bằng SQLite3.
Cụ thể hơn, bạn sẽ học cách:
- Tạo cơ sở dữ liệu và bảng bằng SQLite3
- Chèn các giá trị vào các bảng
- Hiển thị kết quả trong một khung dữ liệu
Nhưng trước khi chúng tôi bắt đầu, đây là một mẫu đơn giản mà bạn có thể sử dụng để tạo cơ sở dữ liệu của mình bằng SQLite3:
import sqlite3 sqlite3.connect['database_name']
Bước 1: Tạo cơ sở dữ liệu và bảng
Trong bước này, bạn sẽ thấy cách tạo:
- Một cơ sở dữ liệu mới có tên: Test_Databasetest_database
- 2 bảng được gọi là: sản phẩm và giá cảproducts, and prices
Dưới đây là các cột được thêm vào cho 2 bảng:
Tên bảng | Tên cột dọc | Định dạng cột |
Mỹ phẩm | ID sản phẩm | Số nguyên - Khóa chính |
Mỹ phẩm | ID sản phẩm | Số nguyên - Khóa chính |
tên sản phẩm | ID sản phẩm | Số nguyên - Khóa chính |
tên sản phẩm | Chữ | Giá cả |
giá bán
import sqlite3 conn = sqlite3.connect['test_database'] c = conn.cursor[] c.execute[''' CREATE TABLE IF NOT EXISTS products [[product_id] INTEGER PRIMARY KEY, [product_name] TEXT] '''] c.execute[''' CREATE TABLE IF NOT EXISTS prices [[product_id] INTEGER PRIMARY KEY, [price] INTEGER] '''] conn.commit[]
Số nguyêntest_database, would be created at the same location where you saved your Python script.
Bước 2: Chèn các giá trị vào các bảng
Đối với bước này, hãy để Lừa chèn dữ liệu sau vào bảng ‘Sản phẩm‘ Bảng:products‘ table:
product_id | product_name |
1 | Máy tính |
2 | Máy in |
3 | Máy tính bảng |
4 | Bàn làm việc |
5 | Cái ghế |
Hãy để Lừa chèn các dữ liệu sau vào bảng ‘Giá‘:prices‘ table:
product_id | giá bán |
1 | 800 |
2 | 200 |
3 | 300 |
4 | 450 |
5 | 150 |
Dưới đây là mã hoàn chỉnh để chèn các giá trị vào 2 bảng:
import sqlite3 conn = sqlite3.connect['test_database'] c = conn.cursor[] c.execute[''' INSERT INTO products [product_id, product_name] VALUES [1,'Computer'], [2,'Printer'], [3,'Tablet'], [4,'Desk'], [5,'Chair'] '''] c.execute[''' INSERT INTO prices [product_id, price] VALUES [1,800], [2,200], [3,300], [4,450], [5,150] '''] conn.commit[]
Bước 3: Hiển thị kết quả
Đối với bước cuối cùng, hãy để Lừa tham gia bảng ‘Sản phẩm‘ với bảng ‘Giá‘ bằng cách sử dụng cột sản phẩm_id có mặt trong cả hai bảng.products‘ table with the ‘prices‘ table using the product_id column which is present in both tables.
Sau đó, bạn có thể chạy mã sau để hiển thị kết quả trong Pandas DataFrame:
import sqlite3 import pandas as pd conn = sqlite3.connect['test_database'] c = conn.cursor[] c.execute[''' SELECT a.product_name, b.price FROM products a LEFT JOIN prices b ON a.product_id = b.product_id '''] df = pd.DataFrame[c.fetchall[], columns=['product_name','price']] print [df]
Sau đó, bạn sẽ nhận được kết quả sau:
product_name price
0 Computer 800
1 Printer 200
2 Tablet 300
3 Desk 450
4 Chair 150
Nguồn bổ sung
Bạn chỉ thấy cách tạo cơ sở dữ liệu trong Python bằng gói SQLite3. Bạn có thể muốn kiểm tra các bài viết sau để tìm hiểu thêm về việc kết nối Python với các ứng dụng cơ sở dữ liệu khác nhau:
- Kết nối Python với SQL Server bằng PYODBC
- Kết nối Python với MS Access bằng PYODBC