📅  最后修改于: 2020-11-07 08:58:22             🧑  作者: Mango
您可以使用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表,则由于已将其删除,因此将显示错误消息“ no such table”,如下所示-
sqlite> DROP table employee;
Error: no such table: employee
sqlite>
要解决此问题,可以将IF EXISTS子句与DELTE语句一起使用。如果存在该表,则将其删除,否则将跳过DLETE操作。
sqlite> DROP table IF EXISTS employee;
sqlite>
您可以在需要时使用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...