Python-data-access-python-sqlite-drop-table
提供:Dev Guides
Python SQLite-テーブルの削除
DROP TABLEステートメントを使用して、テーブル全体を削除できます。 削除する必要があるテーブルの名前を指定するだけです。
構文
以下は、PostgreSQLのDROP TABLEステートメントの構文です-
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ステートメントと一緒にIF EXISTS句を使用できます。 これにより、テーブルが存在する場合は削除され、存在しない場合は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...