sqlite3 - studio - sqlite consultas
¿Cómo se puede ver la estructura de una tabla en SQLite? (9)
.schema TableName
Donde TableName es el nombre de la tabla
Esta pregunta ya tiene una respuesta aquí:
¿Cómo puedo ver la estructura de la tabla en SQLite como desc
en Oracle?
Debes poder ver el esquema ejecutando
.schema <table>
He implementado un analizador de esquema de tabla SQLite en PHP. Puede verificar aquí: implementé un analizador de tablas sqlite
https://github.com/maghead/sqlite-parser
La sintaxis sigue la sintaxis de la tabla de creación de SQLite: http://www.sqlite.org/lang_createtable.html
Invoque la utilidad sqlite3
en el archivo de base de datos y use sus comandos especiales de puntos:
-
.tables
tablas -
.schema [tablename]
mostrará la (s) declaración (es) de CREAR para una tabla o tablas
Hay muchos otros comandos de puntos 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 contra esa tabla. Por ejemplo, el enlace de documentación anterior muestra cómo derivar el comportamiento de los comandos .schema
y .tables
, utilizando los comandos SQL normales (consulte la sección: Consultar el esquema de la base de datos ).
Obtendrá la estructura escribiendo el comando:
.schema <tableName>
Puede usar el complemento de Firefox llamado SQLite Manager para ver claramente la estructura de la base de datos.
Puedes consultar sqlite_master
SELECT sql FROM sqlite_master WHERE name=''foo'';
que devolverá una sentencia SQL de create table
, 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
Si está utilizando PHP, puede obtenerlo de esta manera:
<?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();
?>
PRAGMA table_info(table_name);
Esto funcionará tanto para: línea de comandos como cuando se ejecute contra una base de datos conectada.