编写一个脚本可以检测到MySQL库中所有没有创建主键的表
时间: 2024-02-12 13:09:06 浏览: 65
好的,以下是一个Python脚本,可以用于检测MySQL数据库中所有没有创建主键的表:
```python
import mysql.connector
# 连接数据库
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
# 获取所有表名
mycursor = mydb.cursor()
mycursor.execute("SHOW TABLES")
tables = mycursor.fetchall()
# 循环遍历每个表
for table in tables:
table_name = table[0]
mycursor.execute(f"DESCRIBE {table_name}")
columns = mycursor.fetchall()
# 判断是否存在主键
has_primary_key = False
for column in columns:
if column[3] == "PRI":
has_primary_key = True
break
# 输出没有主键的表名
if not has_primary_key:
print(f"表 {table_name} 没有主键")
```
你可以将 `yourusername`、`yourpassword` 和 `yourdatabase` 替换为你自己的 MySQL 数据库连接信息,并执行以上脚本即可。
阅读全文