Python SQLite - вставка данных

Вы можете добавлять новые строки в существующую таблицу SQLite с помощью оператора INSERT INTO. В этом случае вам необходимо указать имя таблицы, имена столбцов и значения (в том же порядке, что и имена столбцов).

Синтаксис

Ниже приведен рекомендуемый синтаксис оператора INSERT:

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

Где, столбец1, столбец2, столбец3, .. - это имена столбцов таблицы, а значение1, значение2, значение3, ... - значения, которые необходимо вставить в таблицу.

пример

Предположим, мы создали таблицу с именем CRICKETERS, используя оператор CREATE TABLE, как показано ниже -

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

Следующий оператор PostgreSQL вставляет строку в созданную выше таблицу.

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

Если при вставке записей с помощью оператора INSERT INTO вы пропустите имена столбцов, эта запись будет вставлена, оставляя пустые места в столбцах, которые вы пропустили.

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

Вы также можете вставлять записи в таблицу без указания имен столбцов, если порядок передаваемых значений совпадает с их соответствующими именами столбцов в таблице.

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>

После вставки записей в таблицу вы можете проверить ее содержимое с помощью оператора SELECT, как показано ниже -

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>

Вставка данных с использованием Python

Чтобы добавить записи в существующую таблицу в базе данных SQLite -

  • Импортируйте пакет sqlite3.

  • Создайте объект подключения с помощью метода connect (), передав ему имя базы данных в качестве параметра.

  • В cursor()Метод возвращает объект курсора, с помощью которого вы можете общаться с SQLite3. Создайте объект курсора, вызвав объект cursor () на (созданном выше) объекте Connection.

  • Затем вызовите метод execute () для объекта курсора, передав ему оператор INSERT в качестве параметра.

пример

Следующий пример Python вставляет записи в таблицу с именем EMPLOYEE -

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()

Вывод

Records inserted........