Saltar al contenido

¿Cómo se puede ver la estructura de una tabla en SQLite?

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
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *