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>
これを解決するには、DELETEステートメントと一緒にIFEXISTS句を使用できます。これにより、テーブルが存在する場合は削除され、存在しない場合はDELETE操作がスキップされます。
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...