Python SQLite-테이블 삭제

DROP TABLE 문을 사용하여 전체 테이블을 제거 할 수 있습니다. 삭제해야하는 테이블의 이름을 지정하기 만하면됩니다.

통사론

다음은 PostgreSQL의 DROP TABLE 문의 구문입니다.

DROP TABLE table_name;

다음 쿼리를 사용하여 CRICKETERS 및 EMPLOYEES라는 이름의 두 테이블을 만들었다 고 가정합니다.

sqlite> CREATE TABLE CRICKETERS (
   First_Name VARCHAR(255), Last_Name VARCHAR(255), Age int, 
   Place_Of_Birth VARCHAR(255), Country VARCHAR(255)
);
sqlite> CREATE TABLE EMPLOYEE(
   FIRST_NAME CHAR(20) NOT NULL, LAST_NAME CHAR(20), AGE INT, 
   SEX CHAR(1), INCOME FLOAT
);
sqlite>

이제 다음을 사용하여 테이블 목록을 확인하면 .tables 명령을 실행하면 위에서 생성 된 테이블 (목록)을 다음과 같이 볼 수 있습니다.

sqlite> .tables
CRICKETERS EMPLOYEE
sqlite>

다음 문은 데이터베이스에서 Employee라는 테이블을 삭제합니다-

sqlite> DROP table employee;
sqlite>

Employee 테이블을 삭제 했으므로 테이블 목록을 다시 검색하면 테이블 하나만 관찰 할 수 있습니다.

sqlite> .tables
CRICKETERS
sqlite>

Employee 테이블을 다시 삭제하려고하면 이미 삭제했기 때문에 아래와 같이 "해당 테이블이 없습니다"라는 오류 메시지가 표시됩니다.

sqlite> DROP table employee;
Error: no such table: employee
sqlite>

이를 해결하기 위해 DELETE 문과 함께 IF EXISTS 절을 사용할 수 있습니다. 테이블이 있으면 제거하고 DELETE 작업을 건너 뜁니다.

sqlite> DROP table IF EXISTS employee;
sqlite>

Python을 사용하여 테이블 삭제

MYSQL의 DROP 문을 사용하여 필요할 때마다 테이블을 삭제할 수 있지만, 테이블 삭제 후 손실 된 데이터는 복구되지 않으므로 기존 테이블을 삭제할 때는 매우주의해야합니다.

파이썬을 사용하여 SQLite3 데이터베이스에서 테이블을 삭제하려면 execute() 커서 개체에 메서드를 추가하고 drop 문을 매개 변수로 전달합니다.

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

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

#Doping EMPLOYEE table if already exists
cursor.execute("DROP TABLE emp")
print("Table dropped... ")

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

#Closing the connection
conn.close()

산출

Table dropped...