Solución:
PRAGMA table_info(table_name);
Esto funcionará tanto para la línea de comandos como cuando se ejecute en una base de datos conectada.
Un enlace para obtener más detalles y ejemplos. gracias SQLite Pragma Command
Invocar el sqlite3
utilidad en el archivo de la base de datos, y use sus comandos de puntos especiales:
-
.tables
enumerará tablas -
.schema [tablename]
mostrará las declaraciones CREATE para una tabla o tablas
Hay muchos otros comandos dot incorporados útiles; consulte la documentación en http://www.sqlite.org/sqlite.html, sección Comandos especiales para sqlite3.
Ejemplo:
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);
Tenga en cuenta también que SQLite guarda el esquema y toda la información sobre las tablas en la propia base de datos, en una tabla mágica llamada sqlite_master, y también es posible ejecutar consultas SQL normales en esa tabla. Por ejemplo, el enlace de documentación anterior muestra cómo derivar el comportamiento del .schema
y .tables
comandos, usando comandos SQL normales (ver sección: Consultar el esquema de la base de datos).
Puedes consultar sqlite_master
SELECT sql FROM sqlite_master WHERE name="foo";
que devolverá un create table
Declaración SQL, por ejemplo:
$ 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