PythonSQLite-ドロップテーブル

DROP TABLEステートメントを使用して、テーブル全体を削除できます。削除する必要のあるテーブルの名前を指定するだけです。

構文

以下は、PostgreSQLのDROPTABLEステートメントの構文です。

DROP TABLE table_name;

次のクエリを使用して、CRICKETERSとEMPLOYEESという名前の2つのテーブルを作成したと仮定します。

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テーブルを削除したため、テーブルのリストを再度取得すると、その中のテーブルは1つしか監視できません。

sqlite> .tables
CRICKETERS
sqlite>

Employeeテーブルを再度削除しようとすると、すでに削除されているため、以下に示すように「そのようなテーブルはありません」というエラーが表示されます。

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

これを解決するには、DELTEステートメントとともにIFEXISTS句を使用できます。これにより、テーブルが存在する場合は削除され、存在しない場合はDLETE操作がスキップされます。

sqlite> DROP table IF EXISTS employee;
sqlite>

Pythonを使用してテーブルを削除する

MYSQLのDROPステートメントを使用して、必要なときにいつでもテーブルを削除できますが、失われたデータはテーブルの削除後に回復されないため、既存のテーブルを削除するときは十分に注意する必要があります。

Pythonを使用して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...