- Python 数据访问教程
- Python 数据访问 - 首页
- Python MySQL
- Python MySQL - 简介
- Python MySQL - 数据库连接
- Python MySQL - 创建数据库
- Python MySQL - 创建表
- Python MySQL - 插入数据
- Python MySQL - 选择数据
- Python MySQL - Where 子句
- Python MySQL - Order By
- Python MySQL - 更新表
- Python MySQL - 删除数据
- Python MySQL - 删除表
- Python MySQL - Limit
- Python MySQL - Join
- Python MySQL - 游标对象
- Python PostgreSQL
- Python PostgreSQL - 简介
- Python PostgreSQL - 数据库连接
- Python PostgreSQL - 创建数据库
- Python PostgreSQL - 创建表
- Python PostgreSQL - 插入数据
- Python PostgreSQL - 选择数据
- Python PostgreSQL - Where 子句
- Python PostgreSQL - Order By
- Python PostgreSQL - 更新表
- Python PostgreSQL - 删除数据
- Python PostgreSQL - 删除表
- Python PostgreSQL - Limit
- Python PostgreSQL - Join
- Python PostgreSQL - 游标对象
- Python SQLite
- Python SQLite - 简介
- Python SQLite - 建立连接
- Python SQLite - 创建表
- Python SQLite - 插入数据
- Python SQLite - 选择数据
- Python SQLite - Where 子句
- Python SQLite - Order By
- Python SQLite - 更新表
- Python SQLite - 删除数据
- Python SQLite - 删除表
- Python SQLite - Limit
- Python SQLite - Join
- Python SQLite - 游标对象
- Python MongoDB
- Python MongoDB - 简介
- Python MongoDB - 创建数据库
- Python MongoDB - 创建集合
- Python MongoDB - 插入文档
- Python MongoDB - 查找
- Python MongoDB - 查询
- Python MongoDB - 排序
- Python MongoDB - 删除文档
- Python MongoDB - 删除集合
- Python MongoDB - 更新
- Python MongoDB - Limit
- Python 数据访问资源
- Python 数据访问 - 快速指南
- Python 数据访问 - 有用资源
- Python 数据访问 - 讨论
Python MySQL - 删除表
您可以使用DROP TABLE语句删除整个表。您只需要指定要删除的表的名称。
语法
以下是 MySQL 中 DROP TABLE 语句的语法:
DROP TABLE table_name;
示例
在删除表之前,请使用 SHOW TABLES 语句获取表的列表,如下所示:
mysql> SHOW TABLES; +-----------------+ | Tables_in_mydb | +-----------------+ | contact | | cricketers_data | | employee | | sample | | tutorials | +-----------------+ 5 rows in set (0.00 sec)
以下语句将完全从数据库中删除名为 sample 的表:
mysql> DROP TABLE sample; Query OK, 0 rows affected (0.29 sec)
由于我们已从 MySQL 中删除了名为 sample 的表,因此如果您再次获取表的列表,将不会在其中找到表名 sample。
mysql> SHOW TABLES; +-----------------+ | Tables_in_mydb | +-----------------+ | contact | | cricketers_data | | employee | | tutorials | +-----------------+ 4 rows in set (0.00 sec)
使用 python 删除表
您可以根据需要随时使用 MYSQL 的 DROP 语句删除表,但在删除任何现有表时必须非常小心,因为删除表后数据将无法恢复。
要使用 python 从 MYSQL 数据库中删除表,请在游标对象上调用execute()方法,并将 drop 语句作为参数传递给它。
示例
下表从数据库中删除了一个名为 EMPLOYEE 的表。
import mysql.connector #establishing the connection conn = mysql.connector.connect( user='root', password='password', host='127.0.0.1', database='mydb' ) #Creating a cursor object using the cursor() method cursor = conn.cursor() #Retrieving the list of tables print("List of tables in the database: ") cursor.execute("SHOW Tables") print(cursor.fetchall()) #Doping EMPLOYEE table if already exists cursor.execute ("DROP TABLE EMPLOYEE") print("Table dropped... ") #Retrieving the list of tables print( "List of tables after dropping the EMPLOYEE table: ") cursor.execute("SHOW Tables") print(cursor.fetchall()) #Closing the connection conn.close()
输出
List of tables in the database: [('employee',), ('employeedata',), ('sample',), ('tutorials',)] Table dropped... List of tables after dropping the EMPLOYEE table: [('employeedata',), ('sample',), ('tutorials',)]
仅在存在时删除表
如果您尝试删除数据库中不存在的表,则会出现以下错误:
mysql.connector.errors.ProgrammingError: 1051 (42S02): Unknown table 'mydb.employee'
您可以通过在删除语句中添加 IF EXISTS 来验证表是否存在,从而防止此错误。
import mysql.connector #establishing the connection conn = mysql.connector.connect( user='root', password='password', host='127.0.0.1', database='mydb') #Creating a cursor object using the cursor() method cursor = conn.cursor() #Retrieving the list of tables print("List of tables in the database: ") cursor.execute("SHOW Tables") print(cursor.fetchall()) #Doping EMPLOYEE table if already exists cursor.execute("DROP TABLE IF EXISTS EMPLOYEE") print("Table dropped... ") #Retrieving the list of tables print("List of tables after dropping the EMPLOYEE table: ") cursor.execute("SHOW Tables") print(cursor.fetchall()) #Closing the connection conn.close()
输出
List of tables in the database: [('employeedata',), ('sample',), ('tutorials',)] Table dropped... List of tables after dropping the EMPLOYEE table: [('employeedata',), ('sample',), ('tutorials',)]
广告