Làm cách nào tôi có thể xem cấu trúc của bảng trong SQLite là desc
ở trong Oracle?Làm cách nào để xem cấu trúc của một bảng trong SQLite?
Trả lời
Gọi tiện ích sqlite3
vào file cơ sở dữ liệu, và sử dụng lệnh chấm đặc biệt của nó:
.tables
sẽ liệt kê bảng.schema [tablename]
sẽ hiển thị (các) câu lệnh CREATE cho một bảng hoặc bảng
Có nhiều lệnh dấu chấm dựng sẵn hữu ích khác - xem tài liệu tại http://www.sqlite.org/sqlite.html, phần Lệnh đặc biệt để sqlite3.
Ví dụ:
sqlite> entropy:~/Library/Mail>sqlite3 Envelope\ Index
SQLite version 3.6.12
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
addresses ews_folders subjects
alarms feeds threads
associations mailboxes todo_notes
attachments messages todos
calendars properties todos_deleted_log
events recipients todos_server_snapshot
sqlite> .schema alarms
CREATE TABLE alarms (ROWID INTEGER PRIMARY KEY AUTOINCREMENT, alarm_id,
todo INTEGER, flags INTEGER, offset_days INTEGER,
reminder_date INTEGER, time INTEGER, argument,
unrecognized_data BLOB);
CREATE INDEX alarm_id_index ON alarms(alarm_id);
CREATE INDEX alarm_todo_index ON alarms(todo);
Cũng lưu ý rằng SQLite tiết kiệm giản đồ và tất cả các thông tin về các bảng trong cơ sở dữ liệu riêng của mình, trong một bảng kỳ diệu mang tên sqlite_master, và nó cũng có thể để thực hiện các truy vấn SQL bình thường so với bàn. Ví dụ, liên kết tài liệu ở trên cho thấy cách lấy được hành vi của các lệnh .schema
và .tables
, sử dụng các lệnh SQL bình thường (xem phần: Truy vấn lược đồ cơ sở dữ liệu).
Bạn sẽ có thể để xem sơ đồ bằng cách chạy
.schema <table>
.schema TableName
đâu TableName là tên của bảng
Bạn sẽ nhận được cấu trúc bằng cách gõ lệnh:
.schema <tableName>
PRAGMA table_info(table_name);
này sẽ làm việc cho cả hai: lệnh -trực tuyến và khi được thực thi đối với một cơ sở dữ liệu được kết nối.
wow, bạn là người duy nhất đưa ra giải pháp duy nhất cho câu hỏi thực sự hiệu quả. +1! – SpaceDog
+1 cho SQL sẽ hoạt động trên dòng lệnh hoặc khi được thực hiện dựa trên cơ sở dữ liệu được kết nối. –
thực thi '.header on' trước khi thực thi lệnh trên. bạn có thể xem các cột có dữ liệu. –
Bạn có thể sử dụng trình bổ sung Firefox có tên SQLite Manager để xem cấu trúc của cơ sở dữ liệu một cách rõ ràng.
Tôi đã triển khai trình phân tích cú pháp lược đồ bảng SQLite trong PHP.Bạn có thể kiểm tra ở đây: Tôi thực hiện một bảng phân tích cú pháp sql
https://github.com/maghead/sqlite-parser
Cú pháp theo SQLite tạo cú pháp bảng báo cáo: http://www.sqlite.org/lang_createtable.html
liên kết bị hỏng, nó vẫn tồn tại? –
Bạn có thể truy vấn sqlite_master
SELECT sql FROM sqlite_master WHERE name='foo';
mà sẽ trả về một create table
Câu lệnh SQL, ví dụ:
$ sqlite3 mydb.sqlite
sqlite> create table foo (id int primary key, name varchar(10));
sqlite> select sql from sqlite_master where name='foo';
CREATE TABLE foo (id int primary key, name varchar(10))
sqlite> .schema foo
CREATE TABLE foo (id int primary key, name varchar(10));
sqlite> pragma table_info(foo)
0|id|int|0||1
1|name|varchar(10)|0||0
+1 nhưng .... !!!! tại sao bạn lại đặt 'WHERE type = 'foo'' mà không trả về gì cả. Nhiều người có thể không nghĩ về điều đó. –
Chỉ cần đề cập đến rằng nó dường như cũng làm việc SQL: SELECT sql FROM sqlite_master WHERE tbl_name = 'foo'; – RDP
@LuisSiquot Nó là một lỗi đánh máy. Thay vì 'WHERE type = 'foo'' tôi muốn nói' WHERE name = 'foo'' (như trong ví dụ). –
Nếu bạn đang sử dụng PHP bạn có thể nhận nó theo cách này:
<?php
$dbname = 'base.db';
$db = new SQLite3($dbname);
$sturturequery = $db->query("SELECT sql FROM sqlite_master WHERE name='foo'");
$table = $sturturequery->fetchArray();
echo '<pre>' . $table['sql'] . '</pre>';
$db->close();
?>
- 1. Làm thế nào tôi có thể xem tổng quan nhanh về cấu trúc bảng trong SQLite?
- 2. Làm thế nào để cấu trúc các bảng của một blog rất đơn giản trong MySQL?
- 3. Cách lấy cấu trúc bảng trong CodeIgniter
- 4. Làm thế nào để lưu trữ một cấu trúc bên trong một cấu trúc trong đi?
- 5. Dấu trang Firefox Cấu trúc SQLite
- 6. Cấu trúc/lược đồ của Bảng In
- 7. Làm thế nào để in cấu trúc bảng từ postgresql?
- 8. Cấu trúc bảng kiểm toán
- 9. Chế độ xem bảng xương sống tiêu thụ chế độ xem hàng - cách cấu trúc?
- 10. Cấu trúc xem ASP.Net MVC
- 11. Hiển thị cấu trúc của bảng trong SQL
- 12. Tôi làm cách nào để cấu trúc TDD trong Node.js?
- 13. Làm thế nào để xác định xem một loại .NET là một cấu trúc tùy chỉnh?
- 14. Tôi có thể sử dụng lệnh SQL nào để xem cấu trúc của một bảng trên SQL Server?
- 15. Tái cấu trúc - Làm cách nào để ngăn tab tái cấu trúc hiển thị?
- 16. Làm thế nào để vượt qua một mảng cấu trúc đến một mảng cấu trúc?
- 17. Làm cách nào để kiểm tra xem biến có tồn tại trong cấu trúc ColdFusion không?
- 18. Làm thế nào để tạo một cấu trúc bảng thông báo như Facebook?
- 19. Làm thế nào để xác định xem một loại là một cấu trúc tùy chỉnh?
- 20. Làm cách nào để tôi sắp xếp cấu trúc dưới dạng con trỏ tới cấu trúc?
- 21. Có cách nào để có được các ràng buộc của một bảng trong SQLite không?
- 22. Có cách nào để sửa đổi khối cấu trúc C++ cấu trúc này để làm việc trong thẳng C
- 23. Làm cách nào để biên dịch mã C với cấu trúc/cấu trúc ẩn danh?
- 24. Làm thế nào để gán một cấu trúc C inline?
- 25. Xác minh cấu trúc của cơ sở dữ liệu? (SQLite trong C++/Qt)
- 26. Làm thế nào để xác định xem loại là một cấu trúc?
- 27. Làm thế nào để cấu trúc một dự án Haskell?
- 28. Làm cách nào để Visual Studio cũng thực hiện tái cấu trúc trên lượt xem/trang?
- 29. Làm cách nào để khám phá cấu trúc của cơ sở dữ liệu PostgreSQL?
- 30. Có cách nào để đổ một cấu trúc C?
một sai lầm phổ biến ở đây là khó hiểu các chức năng tiện ích với báo cáo sql .. cựu không đòi hỏi một '; 'ở phần cuối của lệnh ở vị trí sau. – abbood
Không hiển thị cho tôi chỉ mục cho tôi mặc dù tôi có khóa chính trên hai cột cùng nhau – pratnala
không hoạt động đối với tôi nhưng câu trả lời của AnonGeek là – kkurian