Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 MySQL을 사용하여 테이블에서 레코드를 어떻게 삭제할 수 있습니까?

<시간/>

때때로 테이블에서 특정 행을 삭제해야 할 수도 있습니다. 학급의 학생들에 대한 세부 정보 테이블이 있다고 가정합니다. 학생 중 한 명이 수업을 떠났을 수 있으므로 해당 학생의 세부정보는 요구하지 않습니다. 따라서 테이블에서 해당 특정 행이나 레코드를 삭제해야 합니다.

MySQL의 “DELETE FROM” 문은 테이블에서 행이나 레코드를 삭제하는 데 사용되며 “WHERE” 절은 삭제할 행을 지정하는 데 사용됩니다. WHERE 절을 사용하지 않으면 모든 레코드가 삭제됩니다.

구문

모든 행 삭제 -

table_name에서 삭제

특정 행 삭제 -

DELETE FROM table_name WHERE 조건

파이썬에서 MySQL을 사용하여 테이블에서 레코드를 삭제하는 단계

  • MySQL 커넥터 가져오기

  • connect()를 사용하여 커넥터와 연결 설정

  • cursor() 메소드를 사용하여 커서 객체 생성

  • 적절한 mysql 문을 사용하여 쿼리 생성

  • execute() 메서드를 사용하여 SQL 쿼리 실행

  • commit() 메서드를 사용하여 변경한 내용을 커밋합니다.

  • 연결을 끊다

다음과 같이 "Student"라는 테이블이 있다고 가정합니다. -

+----------+---------+----------+------------+ | 이름 | 수업 | 도시 | 표시 |+----------+---------+----------+------------+| 카란 | 4 | 암리차르 | 95 || 사힐 | 6 | 암리차르 | 93 || 크리티 | 3 | 바탈라 | 88 || 쿠시 | 9 | 델리 | 90 || 키라트 | 5 | 델리 | 85 |+----------+---------+-----------+------------+ 

예시

위의 학생 테이블이 있고 위의 테이블에서 Kriti의 레코드를 삭제하려고 한다고 가정합니다.

 import mysql.connectordb=mysql.connector.connect(host="your host", user="your username", password="yourpassword",database="database_name")cursor=db.cursor()query=" DELETE FROM Students WHERE Name='Kriti'"cursor.execute(query)db.commit()query="SELECT * FROM Students"cursor.execute(query) for row in cursor:print(row)db.close() 

위의 코드는 테이블에서 행을 삭제하고 테이블의 나머지 행을 인쇄합니다.

출력

('카란', 4 ,'암리차르' , 95)('사힐' , 6, '암리차르' ,93)('아밋' , 9, '델리' , 90)('프리야' , 5, ' 델리' ,85)

참고

db.commit() 위의 코드에서 중요합니다. 테이블에 대한 변경 사항을 커밋하는 데 사용됩니다. commit()을 사용하지 않으면 테이블이 변경되지 않습니다.