You are currently viewing Python SQLite – Обновление данных

Python SQLite – Обновление данных

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

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

Синтаксис:

UPDATE table_name SET column1 = value1, column2 = value2,…

WHERE condition;

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

Ниже приведены некоторые примеры, в которых показано, как обновлять данные в таблице SQLite.

Пример 1:

Программа Python SQLite для обновления определенного столбца. В этом примере мы сначала создадим таблицу СОТРУДНИКОВ и вставим в нее значения. Затем мы установим доход сотрудников до 5000, чей возраст менее 25 лет

# Import module
import sqlite3

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

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

# Creating table
table =
"""CREATE TABLE EMPLOYEE(FIRST_NAME VARCHAR(255),
LAST_NAME VARCHAR(255),AGE int, SEX VARCHAR(255), INCOME int);"""
cursor.execute(table)

# Queries to INSERT records.
cursor.execute(
	'''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
	VALUES ('Anand', 'Choubey', 25, 'M', 10000)''')

cursor.execute(
	'''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
	VALUES ('Mukesh', 'Sharma', 20, 'M', 9000)''')

cursor.execute(
	'''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
	VALUES ('Ankit', 'Pandey', 24, 'M', 6300)''')

cursor.execute(
	'''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
	VALUES ('Subhdra ', 'Singh', 26, 'F', 8000)''')

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

# Display data inserted
print("EMPLOYEE Table: ")
data = cursor.execute('''SELECT * FROM EMPLOYEE''')
for row in data:
	print(row)

# Updating
cursor.execute('''UPDATE EMPLOYEE SET INCOME = 5000 WHERE Age<25;''')
print('\nAfter Updating...\n')

# Display data
print("EMPLOYEE Table: ")
data = cursor.execute('''SELECT * FROM EMPLOYEE''')
for row in data:
	print(row)


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

# Closing the connection
conn.close()

Выход:

SQLite:

Пример 2: 

В этой программе мы создаем таблицу, аналогичную таблице в предыдущем примере. Здесь мы присваиваем возрасту сотрудниц значение 0.

# Import module
import sqlite3

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

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

# Creating table
table = """CREATE TABLE EMPLOYEE(FIRST_NAME VARCHAR(255),
LAST_NAME VARCHAR(255),AGE int, SEX VARCHAR(255), INCOME int);"""
cursor.execute(table)

# Queries to INSERT records.
cursor.execute(
	'''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
	VALUES ('Anand', 'Choubey', 25, 'M', 10000)''')

cursor.execute(
	'''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
	VALUES ('Mukesh', 'Sharma', 20, 'M', 9000)''')

cursor.execute(
	'''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
	VALUES ('Ankit', 'Pandey', 24, 'M', 6300)''')

cursor.execute(
	'''INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
	VALUES ('Subhdra ', 'Singh', 26, 'F', 8000)''')

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

# Display data inserted
print("EMPLOYEE Table: ")
data = cursor.execute('''SELECT * FROM EMPLOYEE''')
for row in data:
	print(row)

# Updating
cursor.execute('''UPDATE EMPLOYEE SET AGE = 0 WHERE SEX='F';''')
print('\nAfer Updating...\n')

# Display data
print("EMPLOYEE Table: ")
data = cursor.execute('''SELECT * FROM EMPLOYEE''')
for row in data:
	print(row)


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

# Closing the connection
conn.close()

Выход:

SQLite:

Пример 3: 

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

# Import module
import sqlite3

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

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

# Creating table
table ="""CREATE TABLE STAFF(NAME VARCHAR(255), AGE int,
DEPARTMENT VARCHAR(255));"""
cursor.execute(table)

# Queries to INSERT records.
cursor.execute('''INSERT INTO STAFF VALUES('Anand', 45, 'Chemistry')''')
cursor.execute('''INSERT INTO STAFF VALUES('Ravi', 32, 'Physics')''')
cursor.execute('''INSERT INTO STAFF VALUES('Chandini', 32, 'Computer')''')
cursor.execute('''INSERT INTO STAFF VALUES('Latika', 40, 'Maths')''')

# Display data inserted
print("STAFF Table: ")
data=cursor.execute('''SELECT * FROM STAFF''')
for row in data:
	print(row)

# Updating	
cursor.execute('''UPDATE STAFF SET NAME = 'Ram', AGE = 30,
DEPARTMENT = 'Biology' WHERE DEPARTMENT = 'Computer';''')
print('\nAfter Updating...\n')

# Display data
print("STAFF Table: ")
data=cursor.execute('''SELECT * FROM STAFF''')
for row in data:
	print(row)
	
# Commit your changes in the database	
conn.commit()

# Closing the connection
conn.close()

Выход:

SQLite:

Пример 4: 

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

# Import module
import sqlite3

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

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

# Creating table
table ="""CREATE TABLE STAFF(NAME VARCHAR(255), AGE int,
DEPARTMENT VARCHAR(255));"""
cursor.execute(table)

# Queries to INSERT records.
cursor.execute('''INSERT INTO STAFF VALUES('Anand', 45, 'Chemistry')''')
cursor.execute('''INSERT INTO STAFF VALUES('Ravi', 32, 'Physics')''')
cursor.execute('''INSERT INTO STAFF VALUES('Chandini', 32, 'Computer')''')
cursor.execute('''INSERT INTO STAFF VALUES('Latika', 40, 'Maths')''')

# Display data inserted
print("STAFF Table: ")
data=cursor.execute('''SELECT * FROM STAFF''')
for row in data:
	print(row)

# Updating	
cursor.execute('''UPDATE STAFF SET NAME = 'Chandini',
AGE = 32 WHERE DEPARTMENT = 'Chemistry';''')
print('\nAfter Updating...\n')

# Display data
print("STAFF Table: ")
data=cursor.execute('''SELECT * FROM STAFF''')
for row in data:
	print(row)
	
# Commit your changes in the database	
conn.commit()

# Closing the connection
conn.close()

Выход:

SQLite:

Пример 5: 

Ниже программа описывает использование оператора UPDATE без оператора WHERE. В этой программе мы создаем таблицу STUDENT и вставляем в нее значения. После этого мы обновим столбец SECTION всех студентов, присвоив ему значение X.

# Import module
import sqlite3

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

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

# Creating table
table ="""CREATE TABLE STUDENT(NAME VARCHAR(255), CLASS VARCHAR(255),
SECTION VARCHAR(255));"""
cursor.execute(table)

# Queries to INSERT records.
cursor.execute('''INSERT INTO STUDENT VALUES ('Raju', '7th', 'A')''')
cursor.execute('''INSERT INTO STUDENT VALUES ('Shyam', '8th', 'B')''')
cursor.execute('''INSERT INTO STUDENT VALUES ('Baburao', '9th', 'C')''')

# Display data inserted
print("STUDENT Table: ")
data=cursor.execute('''SELECT * FROM STUDENT''')
for row in data:
	print(row)

# Updating	
cursor.execute('''UPDATE STUDENT SET SECTION = 'X';''')
print('\nAfter Updating...\n')

# Display data
print("STUDENT Table: ")
data=cursor.execute('''SELECT * FROM STUDENT''')
for row in data:
	print(row)
	
# Commit your changes in the database	
conn.commit()

# Closing the connection
conn.close()

Выход:

SQLite:

Пример 6: 

В приведенной ниже программе мы создаем простую таблицу STUDENT и обновляем в нее все данные, используя только запрос UPDATE и SET.

# Import module
import sqlite3

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

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

# Creating table
table ="""CREATE TABLE STUDENT(NAME VARCHAR(255), CLASS VARCHAR(255),
SECTION VARCHAR(255));"""
cursor.execute(table)

# Queries to INSERT records.
cursor.execute('''INSERT INTO STUDENT VALUES ('Raju', '7th', 'A')''')
cursor.execute('''INSERT INTO STUDENT VALUES ('Shyam', '8th', 'B')''')
cursor.execute('''INSERT INTO STUDENT VALUES ('Baburao', '9th', 'C')''')

# Display data inserted
print("STUDENT Table: ")
data=cursor.execute('''SELECT * FROM STUDENT''')
for row in data:
	print(row)

# Updating	
cursor.execute('''UPDATE STUDENT SET NAME = 'X',
CLASS = 'Y', SECTION = 'Z';''')
print('\nAfter Updating...\n')

# Display data
print("STUDENT Table: ")
data=cursor.execute('''SELECT * FROM STUDENT''')
for row in data:
	print(row)
	
# Commit your changes in the database	
conn.commit()

# Closing the connection
conn.close()

Выход:

SQLite: