sql >> Base de Datos >  >> RDS >> SQLite

Insertar SQLite

Resumen :en este tutorial, aprenderá a usar SQLite INSERT declaración para insertar nuevas filas en una tabla.

Para insertar datos en una tabla, utiliza el INSERT declaración. SQLite proporciona varias formas de INSERT declaraciones que le permiten insertar una sola fila, varias filas y valores predeterminados en una tabla.

Además, puede insertar una fila en una tabla utilizando los datos proporcionados por SELECT declaración.

SQLite INSERT – insertar una sola fila en una tabla

Para insertar una sola fila en una tabla, utilice la siguiente forma de INSERT declaración:

INSERT INTO table (column1,column2 ,..)
VALUES( value1,	value2 ,...);Code language: SQL (Structured Query Language) (sql)

Examinemos el INSERT declaración con más detalle:

  • Primero, especifique el nombre de la tabla en la que desea insertar datos después de INSERT INTO palabras clave.
  • En segundo lugar, agregue una lista de columnas separadas por comas después del nombre de la tabla. La lista de columnas es opcional. Sin embargo, es una buena práctica incluir la lista de columnas después del nombre de la tabla.
  • Tercero, agregue una lista de valores separados por comas después de VALUES palabra clave. Si omite la lista de columnas, debe especificar valores para todas las columnas en la lista de valores. El número de valores en la lista de valores debe ser el mismo que el número de columnas en la lista de columnas.

Usaremos los artists tabla en la base de datos de muestra para la demostración.

La siguiente declaración inserta una nueva fila en artists tabla:

INSERT INTO artists (name)
VALUES('Bud Powell');Code language: SQL (Structured Query Language) (sql)

Pruébalo

Porque el ArtistId columna es una columna de incremento automático, puede ignorarla en la instrucción. SQLite genera automáticamente un número entero secuencial para insertar en el ArtistId columna.

Puede verificar la operación de inserción usando el siguiente SELECT declaración:

SELECT
	ArtistId,
	Name
FROM
	Artists
ORDER BY
	ArtistId DESC
LIMIT 1;Code language: SQL (Structured Query Language) (sql)

Pruébalo

Como ves, tenemos una nueva fila en los artists mesa.

SQLite INSERT – Insertar varias filas en una tabla

Para insertar varias filas en una tabla, utilice la siguiente forma de INSERT declaración:

INSERT INTO table1 (column1,column2 ,..)
VALUES 
   (value1,value2 ,...),
   (value1,value2 ,...),
    ...
   (value1,value2 ,...);
Code language: SQL (Structured Query Language) (sql)

Cada lista de valores que sigue a VALUES cláusula es una fila que se insertará en la tabla.

El siguiente ejemplo inserta tres filas en artists tabla:

INSERT INTO artists (name)
VALUES
	("Buddy Rich"),
	("Candido"),
	("Charlie Byrd");Code language: SQL (Structured Query Language) (sql)

Pruébalo

SQLite emitió un mensaje:

Row Affected: 3

Puede verificar el resultado usando la siguiente declaración:

SELECT
	ArtistId,
	Name
FROM
	artists
ORDER BY
	ArtistId DESC
LIMIT 3;Code language: SQL (Structured Query Language) (sql)

Pruébalo

SQLite INSERT – Inserción de valores por defecto

Cuando creas una nueva tabla usando CREATE TABLE declaración, puede especificar valores predeterminados para columnas, o un NULL si no se especifica un valor predeterminado.

La tercera forma de INSERT declaración es INSERT DEFAULT VALUES , que inserta una nueva fila en una tabla utilizando los valores predeterminados especificados en la definición de columna o NULL si el valor predeterminado no está disponible y la columna no tiene un NOT NULL restricción.

Por ejemplo, la siguiente instrucción inserta una nueva fila en artists tabla usando INSERT DEFAULT VALUES :

INSERT INTO artists DEFAULT VALUES;Code language: SQL (Structured Query Language) (sql)

Pruébalo

Para verificar el inserto, utilice la siguiente declaración:

SELECT
	ArtistId,
	Name
FROM
	artists
ORDER BY
	ArtistId DESC;Code language: SQL (Structured Query Language) (sql)

Pruébalo

El valor predeterminado de ArtistId columna es el siguiente entero secuencial. Sin embargo, el name columna no tiene ningún valor por defecto, por lo tanto, el INSERT DEFAULT VALUES instrucción inserta NULL en él.

SQLite INSERT – Insertar nuevas filas con datos proporcionados por un SELECT declaración

Suponga que desea hacer una copia de seguridad de los artists tabla, puedes seguir estos pasos:

Primero, crea una nueva tabla llamada artists_backup de la siguiente manera:

CREATE TABLE artists_backup(
   ArtistId INTEGER PRIMARY KEY AUTOINCREMENT,
   Name NVARCHAR
);Code language: SQL (Structured Query Language) (sql)

Pruébalo

Para insertar datos en artists_backup tabla con los datos de los artists tabla, utiliza el INSERT INTO SELECT declaración de la siguiente manera:

INSERT INTO artists_backup 
SELECT ArtistId, Name
FROM artists;Code language: SQL (Structured Query Language) (sql)

Pruébalo

Si consulta datos de artists_backup tabla, verá todos los datos en los artists mesa.

SELECT * FROM artists_backup;Code language: SQL (Structured Query Language) (sql)

Pruébalo

En este tutorial, ha aprendido a usar varias formas de SQLite INSERT instrucción que inserta nuevas filas en una tabla.

Referencias

  • https://www.sqlite.org/lang_insert.html:declaración INSERT de SQLite