SQLite
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> SQLite

5 cách chạy tập lệnh SQL từ tệp trong SQLite

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thư viện phòng Android không thể sao chép cơ sở dữ liệu từ Nội dung

  2. Nhận NoClassDefFoundError khi cố gắng sử dụng Proguard và SQLcipher trong Android

  3. Làm thế nào để lọc trong một đến nhiều mối quan hệ với db phòng android

  4. Các hàm &toán tử JSON trong SQLite (Danh sách đầy đủ)

  5. PRAGMA table_list trong SQLite