zoukankan      html  css  js  c++  java
  • 库表批量新增id字段

    实现思路:查询库中的所有表,查询每张表中是否包含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))
  • 相关阅读:
    智能指针
    C++学习之对类中的成员函数的定义和声明最后添加一个const作用
    动态链接,静态链接库
    Java 位运算
    Java 工具类
    Java 枚举
    Java 内部类
    Java 异常机制
    Java hashCode 和 equals
    Java 字节流和字符流
  • 原文地址:https://www.cnblogs.com/yangjiming/p/13972511.html
Copyright © 2011-2022 走看看