SQLite cung cấp cho chúng tôi khả năng chạy các tập lệnh trực tiếp từ một tệp. Điều này có thể đặc biệt hữu ích khi bạn có một tập lệnh lớn (chẳng hạn như tạo một loạt các bảng cơ sở dữ liệu và chèn dữ liệu vào các bảng đó).
Dưới đây là năm cách để chạy các tập lệnh SQL trực tiếp từ một tệp trong SQLite.
Lệnh mèo
Đoạn mã sau minh họa tùy chọn đầu tiên để chạy tập lệnh SQL từ một tệp trong SQLite.
cat create_table.sql | sqlite3 Test.db
Điều này giả sử tập lệnh của tôi được gọi là create_table.sql và tôi muốn chạy nó trên Test.db cơ sở dữ liệu.
Tôi có thể chạy tập lệnh này trực tiếp từ cửa sổ Terminal của mình mà không cần kết nối với SQLite bằng SQLite3
lệnh.
Lệnh .read
Nếu bạn đã kết nối với SQLite, bạn có thể sử dụng .read
lệnh.
.read insert_data.sql
Ví dụ này đọc tập lệnh insert_data.sql từ thư mục / thư mục hiện tại. Chỉ định đường dẫn đầy đủ nếu nằm trong một thư mục khác.
Sử dụng lệnh .read mà không cần mở SQLite
Đây là một cách khác để sử dụng .read
lệnh.
sqlite3 Test.db ".read insert_data.sql"
Thao tác này sẽ chèn dữ liệu vào cơ sở dữ liệu được chỉ định từ dòng lệnh.
Sự khác biệt giữa ví dụ này và ví dụ trước đó là ví dụ trước được thực hiện từ bên trong SQLite sau khi bạn đã kết nối. Tuy nhiên, với ví dụ này, bạn chạy nó từ bên ngoài SQLite.
Nếu bạn đang sử dụng Windows, bạn có thể cần thực hiện việc này:
sqlite3.exe Test.db ".read insert_data.sql"
Chuyển hướng đầu vào đến cơ sở dữ liệu khi kết nối với SQLite
Phương pháp sau chuyển hướng đầu vào đến tệp cơ sở dữ liệu khi sử dụng sqlite3
để kết nối với SQLite và mở cơ sở dữ liệu.
sqlite3 Test.db < insert_data.sql
Tùy chọn -init
Đây là một cách khác để bạn có thể chạy các tập lệnh SQL từ một tệp với SQLite.
sqlite3 Test.db -init insert_data.sql