Python SQLite - Insertar datos

Puede agregar nuevas filas a una tabla existente de SQLite usando la instrucción INSERT INTO. En esto, debe especificar el nombre de la tabla, los nombres de las columnas y los valores (en el mismo orden que los nombres de las columnas).

Sintaxis

A continuación se muestra la sintaxis recomendada de la instrucción INSERT:

INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)
   VALUES (value1, value2, value3,...valueN);

Donde, columna1, columna2, columna3, .. son los nombres de las columnas de una tabla y valor1, valor2, valor3, ... son los valores que necesita insertar en la tabla.

Ejemplo

Suponga que hemos creado una tabla con el nombre CRICKETERS usando la declaración CREATE TABLE como se muestra a continuación:

sqlite> CREATE TABLE CRICKETERS (
   First_Name VARCHAR(255),
   Last_Name VARCHAR(255),
   Age int,
   Place_Of_Birth VARCHAR(255),
   Country VARCHAR(255)
);
sqlite>

La siguiente declaración de PostgreSQL inserta una fila en la tabla creada anteriormente.

sqlite> insert into CRICKETERS (First_Name, Last_Name, Age, Place_Of_Birth, Country) 
   values('Shikhar', 'Dhawan', 33, 'Delhi', 'India');
sqlite>

Al insertar registros usando la instrucción INSERT INTO , si omite los nombres de las columnas, este registro se insertará dejando espacios vacíos en las columnas que ha omitido.

sqlite> insert into CRICKETERS (First_Name, Last_Name, Country) 
   values ('Jonathan', 'Trott', 'SouthAfrica');
sqlite>

También puede insertar registros en una tabla sin especificar los nombres de las columnas, si el orden de los valores que pasa es el mismo que el de sus respectivos nombres de columna en la tabla.

sqlite> insert into CRICKETERS values('Kumara', 'Sangakkara', 41, 'Matale', 'Srilanka');
sqlite> insert into CRICKETERS values('Virat', 'Kohli', 30, 'Delhi', 'India');
sqlite> insert into CRICKETERS values('Rohit', 'Sharma', 32, 'Nagpur', 'India');
sqlite>

Después de insertar los registros en una tabla, puede verificar su contenido utilizando la instrucción SELECT como se muestra a continuación:

sqlite> select * from cricketers;
Shikhar  |Dhawan     | 33 | Delhi | India
Jonathan |Trott      |    |       | SouthAfrica
Kumara   |Sangakkara | 41 | Matale| Srilanka
Virat    |Kohli      | 30 | Delhi | India
Rohit    |Sharma     | 32 | Nagpur| India
sqlite>

Insertar datos con Python

Para agregar registros a una tabla existente en la base de datos SQLite:

  • Importar paquete sqlite3.

  • Cree un objeto de conexión utilizando el método connect () pasando el nombre de la base de datos como parámetro.

  • los cursor()El método devuelve un objeto de cursor con el que puede comunicarse con SQLite3. Cree un objeto cursor invocando el objeto cursor () en el objeto Connection (creado anteriormente).

  • Luego, invoque el método execute () en el objeto cursor, pasándole una instrucción INSERT como parámetro.

Ejemplo

El siguiente ejemplo de Python inserta registros en una tabla llamada EMPLEADO -

import sqlite3
#Connecting to sqlite
conn = sqlite3.connect('example.db')

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

#Preparing SQL queries to INSERT a record into the database.
cursor.execute('''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) 
   VALUES ('Ramya', 'Rama Priya', 27, 'F', 9000)'''
)
cursor.execute('''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) 
   VALUES ('Vinay', 'Battacharya', 20, 'M', 6000)''')

cursor.execute('''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) 
   VALUES ('Sharukh', 'Sheik', 25, 'M', 8300)''')

cursor.execute('''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) 
   VALUES ('Sarmista', 'Sharma', 26, 'F', 10000)''')

cursor.execute('''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) 
   VALUES ('Tripthi', 'Mishra', 24, 'F', 6000)''')

# Commit your changes in the database
conn.commit()

print("Records inserted........")

# Closing the connection
conn.close()

Salida

Records inserted........