В этой статье мы обсудим, как мы можем удалить данные в таблице базы данных SQLite из программы Python с помощью модуля sqlite3. В базе данных SQLite мы используем следующий синтаксис для удаления данных из таблицы:
DELETE FROM table_name [WHERE Clause]
Чтобы создать базу данных, мы выполним следующий код:
import sqlite3
# Connecting to sqlite
# connection object
connection_obj = sqlite3.connect('geek.db')
# cursor object
cursor_obj = connection_obj.cursor()
# Drop the GEEK table if already exists.
cursor_obj.execute("DROP TABLE IF EXISTS GEEK")
# Creating table
table = """ CREATE TABLE GEEK (
Email VARCHAR(255) NOT NULL,
Name CHAR(25) NOT NULL,
Score INT
); """
cursor_obj.execute(table)
#inserting data into geek table
connection_obj.execute("""INSERT INTO GEEK (Email,Name,Score) VALUES ("geekk1@gmail.com","Geek1",25)""")
connection_obj.execute("""INSERT INTO GEEK (Email,Name,Score) VALUES ("geekk2@gmail.com","Geek2",15)""")
connection_obj.execute("""INSERT INTO GEEK (Email,Name,Score) VALUES ("geekk3@gmail.com","Geek3",36)""")
connection_obj.execute("""INSERT INTO GEEK (Email,Name,Score) VALUES ("geekk4@gmail.com","Geek4",27)""")
connection_obj.execute("""INSERT INTO GEEK (Email,Name,Score) VALUES ("geekk5@gmail.com","Geek5",40)""")
connection_obj.execute("""INSERT INTO GEEK (Email,Name,Score) VALUES ("geekk6@gmail.com","Geek6",14)""")
connection_obj.execute("""INSERT INTO GEEK (Email,Name,Score) VALUES ("geekk7@gmail.com","Geek7",10)""")
connection_obj.commit()
# Close the connection
connection_obj.close()
Выход:
Теперь мы создадим программу на python для удаления строки в таблице:
Подход:
- Импортируйте необходимый модуль.
- Установите соединение или создайте объект соединения с базой данных, используя функцию подключения() модуля sqlite3.
- Создайте объект курсора, вызвав метод cursor() объекта подключения.
- Наконец, вызовите метод execute() для объекта курсора, минуя инструкцию DELETE в качестве параметра для него.
Пример 1: (Удалите некоторые данные)
import sqlite3
# Connecting to sqlite
# connection object
connection_obj = sqlite3.connect('geek.db')
# cursor object
cursor_obj = connection_obj.cursor()
#delete data
cursor_obj.execute("DELETE FROM GEEK WHERE Score < 15")
connection_obj.commit()
# Close the connection
connection_obj.close()
Выход:
Пример 2: (Удалить все данные)
import sqlite3
# Connecting to sqlite
# connection object
connection_obj = sqlite3.connect('geek.db')
# cursor object
cursor_obj = connection_obj.cursor()
cursor_obj.execute("SELECT * FROM GEEK")
print(cursor_obj.fetchall())
#delete data
'''It will delete all rows from
the table
'''
cursor_obj.execute("DELETE FROM GEEK")
print()
print("After deleting all rows")
cursor_obj.execute("SELECT * FROM GEEK")
print(cursor_obj.fetchall())
connection_obj.commit()
# Close the connection
connection_obj.close()