В этом уроке вы узнаете, как удалять данные из таблицы SQL Server в Python.
Это руководство начинается там, где закончилось руководство по разбиению данных на страницы.
Удаление строки из таблицы
Шаг 1. Сначала создайте файл delete.py в каталоге проекта и определите функцию delete_customer():
from connect import create_connection def delete_customer(id: int) -> int: # Connect to the SQL Server conn = create_connection() if conn is None: return 0 # Delete the customer with(conn, conn.cursor() as cursor): cursor.execute("DELETE FROM Customers WHERE CustomerID = %s",(id,)) conn.commit() return cursor.rowcount
Как это работает.
Сначала импортируйте функцию create_connection из модуля connect.
Во-вторых, определите функцию delete_customer, которая принимает идентификатор клиента и возвращает количество удаленных строк.
def delete_customer(id: int) -> int:
В-третьих, подключитесь к SQL Server, вызвав функцию create_connection(), и верните 0, если соединение не удалось:
conn = create_connection() if conn is None: return 0
В-четвертых, управляйте объектами Connection и Cursor с помощью оператора with:
with(conn, conn.cursor() as cursor):
Это устраняет необходимость закрывать объекты «Курсор» и «Подключение» вручную.
В-пятых, выполните оператор DELETE с параметром id:
cursor.execute("DELETE FROM Customers WHERE CustomerID = %s",(id,))
В-шестых, удалите данные навсегда, вызвав метод commit() объекта Connection:
conn.commit()
Наконец, верните количество удаленных строк:
return cursor.rowcount
Шаг 2. Измените модуль main.py для использования функции delete_customer:
import logging, sys from delete import delete_customer # config logging to console logging.basicConfig( stream=sys.stdout, encoding='utf-8', format='%(levelname)s:%(message)s', level=logging.DEBUG ) # Delete customer with id 1 try: row_deleted = delete_customer(1) logging.info(f'{row_deleted} row(s) deleted.') except Exception as e: logging.error(f"Error fetching customers: {e}")
Как это работает.
Сначала импортируйте функцию delete_customer из модуля удаления:
from delete import delete_customer
Во-вторых, вызовите функцию delete_customer, чтобы удалить клиента с идентификатором 1:
try: row_deleted = delete_customer(1) logging.info(f'{row_deleted} row(s) deleted.') except Exception as e: logging.error(f"Error fetching customers: {e}")
Шаг 3. Откройте терминал и запустите модуль main.py, чтобы удалить клиента с идентификатором 1:
python main.py
Выход:
INFO:1 row(s) deleted.
Вывод показывает, что одна строка была удалена.
Загрузите исходный код проекта
Загрузите исходный код проекта
Краткое содержание
- Выполните оператор DELETE для удаления данных из таблицы в Python.