Python PostgreSQL – 删除表
在本文中,我们将看到如何使用 pyscopg2 模块Python在 PostgreSQL 中删除表。在 PostgreSQL 中,DROP TABLE 用于从数据库中删除现有表。它删除表定义以及该表的所有关联数据、索引、规则、触发器和约束。如果特定表不存在,则显示错误。
Syntax: DROP TABLE table_name;
使用的表:
在这里,我们使用accounts 表进行演示。
现在让我们删除这个表,因为我们将使用 will psycopg2模块连接 PostgreSQL 并在 cursor.execute(query) 对象中执行 SQL 查询。
Syntax: cursor.execute(sql_query);
示例 1:使用 psycopg2 删除表
这里我们将使用 DELETE 子句删除表。
Syntax: DROP TABLE table_name;
代码:
Python3
# importing psycopg2
import psycopg2
conn=psycopg2.connect(
database="test",
user="postgres",
password="password",
host="localhost",
port="5432"
)
# Creating a cursor object using the cursor()
# method
cursor = conn.cursor()
# drop table accounts
sql = '''DROP TABLE accounts '''
# Executing the query
cursor.execute(sql)
print("Table dropped !")
# Commit your changes in the database
conn.commit()
# Closing the connection
conn.close()
Python3
# importing psycopg2
import psycopg2
conn=psycopg2.connect(
database="geeks",
user="postgres",
password="root",
host="localhost",
port="5432"
)
# Creating a cursor object using the cursor()
# method
cursor = conn.cursor()
# drop table accounts
sql = '''DROP table IF EXISTS accounts '''
# Executing the query
cursor.execute(sql)
print("Table dropped !")
# Commit your changes in the database
conn.commit()
# Closing the connection
conn.close()
输出:
Table dropped !
示例 2:在检查表是否存在之前删除表
如果您再次尝试删除同一个表,因为您已经删除了它,您将收到“表不存在”的错误消息,因此我们可以使用IF EXIST 子句来解决。
Syntax: DROP TABLE table_name IF EXITS table_name;
代码:
蟒蛇3
# importing psycopg2
import psycopg2
conn=psycopg2.connect(
database="geeks",
user="postgres",
password="root",
host="localhost",
port="5432"
)
# Creating a cursor object using the cursor()
# method
cursor = conn.cursor()
# drop table accounts
sql = '''DROP table IF EXISTS accounts '''
# Executing the query
cursor.execute(sql)
print("Table dropped !")
# Commit your changes in the database
conn.commit()
# Closing the connection
conn.close()
输出:
Table dropped !
执行脚本后,让我们检查 PostgreSQL 中的表: