如何在Python中重命名 MySQL 表?
MySQL Connector-Python 模块是Python中的一个 API,用于与 MySQL 数据库服务器进行通信。它只需要标准的Python库,没有额外的依赖项。 Python中有各种其他模块,如 PyMySQL 和 mysqlclient,可用于访问数据库服务器。在本文中,我们将使用 MySQL Connector-Python 执行 MySQL 查询,尤其是通过Python重命名表。
在 SQL 中重命名表
ALTER 和 RENAME 语句用于重命名表。重命名表时,必须牢记其他数据库对象,如视图、存储过程、触发器等,这些对象可能会引用该表并手动调整它们。
RENAME 语句的语法:
RENAME TABLE table_name to new_table_name
这里, table_name是需要重命名的现有表, new_table_name是要赋予现有表的新名称。此外,此新名称不应与任何其他现有表重复。
ALTER 语句的语法:
ALTER TABLE table_name
RENAME to new_table_name
此语句类似于 RENAME 语句。但是,与 RENAME 不同的是,它也可以重命名临时表。
执行:
首先,建立与数据库服务器的连接,并在Python中使用 MySQL Connector-Python 模块的connect()和cursor()函数创建一个游标对象。然后使用 RENAME 或 ALTER 语句更改表的名称。下面是一些示例,以便更好地理解。
使用中的数据库:
我们将使用带有产品表、买家表和员工表的示例数据库存储作为示例。
示例 1:使用 ALTER 语句重命名
- 步骤 1:使用 connect()函数建立连接到存储数据库。
- 第 2 步:使用 cursor()函数创建一个游标对象以与数据库交互。
- 步骤 3:使用 ALTER 语句将员工表重命名为员工。
- 第 4 步:要检查表是否已重命名,请执行 SHOW TABLES 命令。这将显示数据库中所有表的名称。
Python3
# Import required packages
import mysql.connector
# Establish connection to MySQL database
mydb = mysql.connector.connect(
host="localhost",
user="username",
password="geeksforgeeks",
database="store"
)
# Create a cursor object
mycursor = mydb.cursor()
# MySQL query for for renaming a table
query = "ALTER TABLE staff RENAME to employees"
# Execute the query
mycursor.execute(query)
# Print names of all tables in the database
mycursor.execute("SHOW TABLES")
myresult = mycursor.fetchall()
for row in myresult:
print(row)
# Close database connection
mydb.close()
Python3
# Import required packages
import mysql.connector
# Establish connection to MySQL database
mydb = mysql.connector.connect(
host="localhost",
user="username",
password="geeksforgeeks",
database="store"
)
# Create a cursor object
mycursor = mydb.cursor()
# MySQL query for renaming a table
query = "RENAME TABLE products to inventory,\
buyers to customers"
# Execute the query
mycursor.execute(query)
# Print names of all tables in the database
mycursor.execute("show tables")
myresult = mycursor.fetchall()
for row in myresult:
print(row)
# Close database connection
mydb.close()
输出:
示例 2:使用 RENAME 语句重命名
按照与上述示例相同的步骤与数据库服务器建立连接并创建游标对象。然后使用 RENAME 语句执行 SQL 查询。此命令允许一次重命名多个表。本示例将products表重命名为inventory ,将buyer表重命名为customers 。
蟒蛇3
# Import required packages
import mysql.connector
# Establish connection to MySQL database
mydb = mysql.connector.connect(
host="localhost",
user="username",
password="geeksforgeeks",
database="store"
)
# Create a cursor object
mycursor = mydb.cursor()
# MySQL query for renaming a table
query = "RENAME TABLE products to inventory,\
buyers to customers"
# Execute the query
mycursor.execute(query)
# Print names of all tables in the database
mycursor.execute("show tables")
myresult = mycursor.fetchall()
for row in myresult:
print(row)
# Close database connection
mydb.close()
输出: