首页 > 其他 > 详细

库表批量新增id字段

时间:2020-11-14 13:07:39      阅读:31      评论:0      收藏:0      [点我收藏+]

实现思路:查询库中的所有表,查询每张表中是否包含id字段,遍历字段结束后如果没有id字段,则新增id

#!/usr/bin/env python3
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import pymysql.cursors

"""
功能:为mysql库中每张表增加一个id字段,主键,自增,无符号,非空
"""

dbname = test

connection = pymysql.connect(host=ip, user=deploy, password=deploy@dev, db=dbname, charset=utf8,
                             cursorclass=pymysql.cursors.DictCursor)

results = []

count = []


def query_desc(table_name):
    cursor2 = connection.cursor()
    sql = "select * from " + table_name
    query = cursor2.execute(sql)
    desc = cursor2.description
    number = 0
    for field in desc:
        if field[0] == id:
            print(table_name)
            count.append(1)
            break
        else:
            number += 1
    if number == len(desc):
        u_sql = "alter table " + table_name + " add id bigint unsigned not null primary key auto_increment first"
        cursor3 = connection.cursor()
        cursor3.execute(u_sql)


try:
    with connection.cursor() as cursor:
        sql = "SHOW TABLES"
        cursor.execute(sql)
        result = cursor.fetchall()
        for i in range(len(result)):
            results.append(result[i][Tables_in_test])
        for a in range(len(results)):
            query_desc(results[a])

finally:
    connection.close()

print(len(count))
print(results)
print(len(results))

 

库表批量新增id字段

原文:https://www.cnblogs.com/yangjiming/p/13972511.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!