SQLite Describir una Tabla

Bilal Shahid 21 junio 2023
  1. SQLite Describir una Tabla
  2. La tabla de esquema
SQLite Describir una Tabla

SQLite es una base de datos SQL de código abierto sin servidor que almacena datos en un archivo de texto en cualquier dispositivo. Es un motor de base de datos SQL confiable, rápido, autónomo y con todas las funciones en la biblioteca de programación C.

Este software es bastante popular en todo el mundo. Tiene teléfonos móviles incorporados, la mayoría de las computadoras y varias aplicaciones en todo el mundo.

SQLite viene equipado con varios comandos diferentes para sus usuarios. Uno de estos comandos es el comando describir.

Esto permite al usuario ver una estructura detallada de la tabla.

SQLite Describir una Tabla

SQLite es un sistema de gestión de bases de datos relacionales que emplea muchos comandos a disposición del usuario. Este software de base de datos utiliza el comando .schema para describir una tabla en la base de datos.

Aquí, el comando .schema es un programa de línea de comandos que podemos usar para obtener una estructura detallada de la tabla requerida. Describir las tablas esencialmente significa que podemos imprimir detalles específicos de todas las columnas de la tabla, como el nombre de la columna, el tipo de datos de la columna y el tamaño de la columna.

SQLite permite la descripción de la tabla de diferentes formas.

Describir una tabla usando .schema en SQLite

La sintaxis para describir una tabla es la siguiente:

.schema yourTableName

Aquí yourTableName es el nombre de la tabla cuya descripción necesita, y .schema es el comando que necesita usar. Para ver todas las tablas, use el comando .tables; sin embargo, si necesita ver una tabla en particular, use el comando .schema tablename.

Si el .schema o la consulta de sqlite_master no da ningún resultado, esto indica que el nombre de la tabla no existe.

Describir una tabla usando PRAGMA en SQLite

Como mencionamos antes, el método .schema se puede usar para describir la tabla con el nombre de tabla especificado. Sin embargo, en este comando, primero debemos crear la tabla.

El siguiente método que podemos utilizar es el método PRAGMA. La sintaxis para usar este comando es la siguiente:

PRAGMA table_info(tablename)

Este comando es el mismo que el comando describir de SQL. Devuelve una sola fila de cada columna de la tabla que ha especificado en la columna.

PRAGMA table_xinfo(tablename)

Esta es otra versión de la declaración anterior. La diferencia aquí es que devuelve la columna oculta de la tabla virtual especificada en la declaración.

.schema, en este caso, puede mostrar más detalles de las tablas, incluidas las restricciones de la tabla, que PRAGMA.

Si necesita los detalles de todas las tablas con un buen formato, use el siguiente comando.

.schema --indent

Describir una tabla usando sqlite_master en SQLite

Otro comando es:

sqlite_master tablename

Este es un comando que se utiliza para describir una tabla.

La tabla de esquema

Cada base de datos SQLite consta de una tabla de esquema solitaria. Esta tabla contiene el esquema de la base de datos, que representa todo lo que hay en las tablas, desde listas y disparadores hasta vistas dentro de la base de datos.

La tabla de esquema se ve así:

 CREATE TABLE sqlite_schema(
  type text,
  name text,
  tbl_name text,
  rootpage integer,
  SQL text
);

SQLite crea la tabla de esquema cuando se crea la base de datos y continúa modificando su contenido a medida que los usuarios de SQLite envían declaraciones para su ejecución.

En condiciones normales, no hay necesidad de modificarlo. Si los usuarios lo modifican, deben correr el riesgo de dañar la base de datos.

El sqlite_schema contiene una sola fila para cada tabla, índice, vista y disparador en los esquemas, excepto cuando no hay una entrada para la propia tabla sqlite_schema. El sqlite_schema es una referencia para la tabla de esquema y tiene algunos nombres alternativos como sqlite_master, sqlite_temp_schema y sqlite_temp_master.

Aquí se utilizan las dos últimas alternativas para la base de datos temporal. Están asociados con cada conexión de base de datos.

Cuando hablamos de la tabla de esquema, el esquema utiliza diferentes parámetros como tipo, nombre, tbl_name, página raíz y SQL.

tipo significa cadena de texto como vista, índice, tabla o disparador, ya que depende del tipo de objeto que se defina. Podemos representar el tipo como sqlite_schema.type. name especifica el nombre del almacén de columnas del objeto.

Aquí, también podemos especificar restricciones de clave primaria y única en el momento de la creación de la tabla. Sin embargo, no podemos usar la restricción de clave principal con la tabla rowid, por lo que sqlite_schema no permite primaria, pero el índice automático de SQLite usa la clave principal.

tbl_name se usa para almacenar el nombre de la tabla o el nombre de la vista. Podemos representar tbl_name como sqlite_schema_tbl_name.

La página raíz se utiliza para almacenar el número de página de la página del árbol raíz para la tabla y el índice. Lo representamos como sqlite_schema_rootpage.

SQL proporciona diferentes comandos. Esto significa que podemos crear activadores que se pueden ejecutar contra la base de datos.

Representamos SQL como sqlite_schem.sql. El texto en la columna sqlite_schema.sql es una copia del texto original de la declaración CREATE que se creó; sin embargo, se normalizó como se describió antes y se modificó al proceder con declaraciones ALTER TABLE.

Es NULL para los índices internos; estos son creados automáticamente por las restricciones CLAVE PRIMARIA o ÚNICA.

Ejemplo de descripción de tablas en SQLite

Primero, cree una tabla utilizando la instrucción crear tabla.

create table employee (id integer primary key, name text not null, dept text not null, salary text not null);

Ahora ingrese el comando:

PRAGMA table_info(employee);

Como se mencionó antes, este comando describe la tabla.

.schema employee

Esto también hará lo mismo:

SELECT SQL
FROM sqlite_master
WHERE tbl_name = 'employee';

Aquí usamos una instrucción select con sql_master para extraer el parámetro SQL del comando sqlite_master.

Bilal Shahid avatar Bilal Shahid avatar

Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!

GitHub

Artículo relacionado - SQLite Table