日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

運用Python快速的對MySQL數據庫進行重命名

瀏覽:28日期:2022-06-17 11:24:39
目錄常規思路更快捷的方法使用方法

對數據庫的表進行重命名可以使用以下原生sql:

RENAME TABLE old_table TO new_table;

窘境:但是MySQL并沒有直接支持對數據庫進行重命名

那么如何運用Python快速的對現有的數據庫進行重命名呢?

比如項目初期,對數據庫的命名(db_ridingroad)沒有規劃好,然后在下面創建了大量的表和寫入了大量的數據,現在需要對數據庫的名字進行重命名為(db_news_website)

常規思路

下面的方法步驟較為繁瑣

-- 數據庫備份mysqldump ?u [UserName] ?p[Password] ?R [DB_Name] > [DB_Name].sql-- 創建新數據庫create database [New_DB_Name];-- 把備份的數據導入到新數據庫mysql ?u [UserName] ?p[Password] [New_DB_Name] < [DB_Name].sql-- 刪除舊數據庫drop database [DB_Name];更快捷的方法

只需要執行下面這條命令即可

python rename_database.py old_db_name new_db_name

我們可以使用表重命名的方法,把表重命名到新的數據庫之下?;具壿嬋缦拢?/p> 創建新數據庫 獲取舊數據庫下所有的表名 把表重命名到新的數據庫名下 刪除舊數據庫

下面使用Python代碼去實現,主要代碼(完整代碼見文末):

def rename_db(old_name, new_name): ''' 數據庫重命名 :param old_name: 原來的數據庫名 :param new_name: 新數據庫名 :return: 成功返回True, 失敗返回False ''' # 獲取所有的表名 sql = '''SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE table_schema=%s''' conn, cursor = context() try:# 創建新數據庫名cursor.execute(’create database if not exists {}’.format(new_name))cursor.execute(sql, (old_name, ))results = cursor.fetchall()# 獲取表明,循環處理放到新的數據庫名下for r in results: tb = r[’TABLE_NAME’] rename_sql = '''RENAME TABLE {}.{} to {}.{}'''.format(old_name, tb, new_name, tb) cursor.execute(rename_sql)# 把舊數據庫刪掉cursor.execute(’drop database {}’.format(old_name)) except Exception as ex:conn.rollback()print('rename_db Exception: {},{}'.format(sql, ex))return False else:# 如果沒有發生異常,則提交事務conn.commit() finally:conn.close() return True使用方法

1.安裝PyMySQL

pip install PyMySQL

2.修改腳本中關于數據庫賬號配置信息部分

MYSQL_HOST = ’127.0.0.1’MYSQL_PORT = 3306MYSQL_USER = ’ridingroad’MYSQL_PASSWORD = ’xxxxyyyy’MYSQL_DATABASE = ’db_ridingroad’

3.切換到腳本所在目錄,執行以下命令即可(數據無價,請先mysqldump備份)

python rename_database.py old_db_name new_db_name

完整代碼如下:

import sysimport pymysqlMYSQL_HOST = ’127.0.0.1’MYSQL_PORT = 3306MYSQL_USER = ’ridingroad’MYSQL_PASSWORD = ’xxxxyyyy’MYSQL_DATABASE = ’db_ridingroad’MYSQL_CHARSET = ’utf8’def context(is_dict_cursor=True, database=MYSQL_DATABASE): ''' 創建數據庫連接, 數據以字典結構返回 :param is_dict_cursor: 是否返回字典結構的數據 :param database: 默認連接的數據庫 :return: 返回一個連接和一個浮標 ''' try:config = { ’host’: MYSQL_HOST, ’port’: MYSQL_PORT, ’user’: MYSQL_USER, ’password’: MYSQL_PASSWORD, ’database’: database, ’charset’: MYSQL_CHARSET,}conn = pymysql.connect(**config)if is_dict_cursor: cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)else: cursor = conn.cursor()return conn, cursor except Exception as ex:print('connect database failed, {},{}'.format(400, ex))raise Exception({’code’: 400, ’msg’: ex})def rename_db(old_name, new_name): ''' 數據庫重命名 :param old_name: 原來的數據庫名 :param new_name: 新數據庫名 :return: 成功返回True, 失敗返回False ''' # 獲取所有的表名 sql = '''SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE table_schema=%s''' conn, cursor = context() try:conn.begin()# 創建新數據庫名cursor.execute(’create database if not exists {}’.format(new_name))cursor.execute(sql, (old_name, ))results = cursor.fetchall()# 獲取表明,循環處理放到新的數據庫名下for r in results: tb = r[’TABLE_NAME’] rename_sql = '''RENAME TABLE {}.{} to {}.{}'''.format(old_name, tb, new_name, tb) cursor.execute(rename_sql)# 把舊數據庫刪掉cursor.execute(’drop database {}’.format(old_name)) except Exception as ex:conn.rollback()print('rename_db Exception: {},{}'.format(sql, ex))return False else:# 如果沒有發生異常,則提交事務conn.commit() finally:conn.close() return Trueif __name__ == ’__main__’: old_db = sys.argv[1] new_db = sys.argv[2] rename_db(old_name=old_db, new_name=new_db)

以上就是運用Python快速的對MySQL數據庫進行重命名的詳細內容,更多關于python 重命名MySQL數據庫的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久狠狠久久| 久久免费黄色| 爽爽淫人综合网网站| 美女久久一区| 日韩一区二区三免费高清在线观看 | www.九色在线| 91精品国产91久久久久久黑人| 正在播放日韩精品| 精品中文字幕一区二区三区av| 久久国产精品99国产| 国产精品igao视频网网址不卡日韩 | 欧美日韩国产高清电影| 激情欧美一区二区三区| 亚洲影视一区二区三区| 国产亚洲一区二区三区不卡| 日韩精品导航| 国产91欧美| 蜜臀av一区二区三区| 国产精品一区二区三区美女| 肉色欧美久久久久久久免费看| 亚洲少妇在线| 九九久久国产| 亚洲毛片网站| 99成人超碰| 91精品丝袜国产高跟在线| 中文字幕在线看片| 日韩欧乱色一区二区三区在线| 精品国产a一区二区三区v免费| 欧美在线亚洲| 国产福利91精品一区二区| 欧美日韩高清| 精品色999| 亚洲精品字幕| 亚洲婷婷免费| av日韩中文| 欧美精品影院| 蜜桃伊人久久| av在线资源| 国产成人免费精品| 日韩av在线免费观看不卡| 99re国产精品| 91精品久久久久久久久久不卡| 国产欧美日本| 日韩在线成人| 午夜在线一区二区| 日韩欧美精品| 久久久久亚洲精品中文字幕| 日韩欧美中文字幕一区二区三区| 性欧美xxxx免费岛国不卡电影| 麻豆mv在线观看| 国产一区二区三区日韩精品| 国产精品毛片久久久| 91精品啪在线观看国产爱臀| 综合日韩在线| 日韩精品免费观看视频| 亚洲综合中文| 三级欧美在线一区| 91久久中文| 国产精品日韩欧美一区| 好看不卡的中文字幕| 成人日韩在线观看| 激情欧美一区| 免费日韩av片| 日韩精品a在线观看91| 久久国产生活片100| 欧美影院精品| 精品网站999| 麻豆视频在线看| 蜜桃tv一区二区三区| 黄色亚洲大片免费在线观看| 黑丝一区二区| 亚洲人成高清| 国产精品黄色片| 成人片免费看| 99热精品在线观看| 亚洲精品观看| 精品视频在线观看网站| 精品国产午夜| av不卡在线| 国产欧美亚洲精品a| 精品五月天堂| 午夜日本精品| 国产精品qvod| 精品中文一区| 国产精品免费精品自在线观看| 精品久久福利| 日韩在线观看一区二区| 美女精品一区二区| 国产精品99一区二区| 久久国内精品| 91精品综合| 国产欧美视频在线| 欧美日韩四区| 精品国产鲁一鲁****| 老鸭窝毛片一区二区三区| 九九久久国产| 亚洲欧美在线综合| 欧美日韩在线观看视频小说| 国产精品亚洲综合在线观看| 欧美日韩国产亚洲一区| 久久精品日韩欧美| 伊人久久一区| 亚洲五月婷婷| 伊人久久视频| 美日韩一区二区三区| 91久久中文| 首页国产精品| 国产精品久久久一区二区| 亚洲午夜久久| 亚洲制服少妇| 欧美日韩国产在线观看网站 | 在线精品福利| 国产一区二区精品| 国产国产精品| 欧美另类专区| 午夜欧美理论片| 欧美午夜精彩| 成人日韩在线| 色综合五月天| 麻豆91在线播放| 免费一区二区三区在线视频| 亚洲三级av| 欧美一区精品| 国产欧美一级| 黄色精品视频| 美女网站视频一区| 久久久久久黄| 欧美va亚洲va日韩∨a综合色| 亚洲电影有码| 99国产精品免费视频观看| 亚洲网站视频| 美女精品在线观看| 亚洲精品在线a| 免费美女久久99| 日本久久一区| 精品少妇一区| 欧美色图一区| 影音先锋久久精品| 亚州精品视频| 精品免费av| 欧美亚洲国产激情| 只有精品亚洲| 国产精品久久久久久久久久齐齐 | 国产精品啊v在线| 成人亚洲一区二区| 久久中文字幕av| 视频一区二区三区入口| 日韩毛片网站| 免费在线观看一区| 视频小说一区二区| 一区二区国产精品| 四虎8848精品成人免费网站| aⅴ色国产欧美| 红杏一区二区三区| 日韩在线卡一卡二| 国产精品一国产精品| 久久美女性网| 久久国产免费看| 亚洲欧美伊人| 精品亚洲a∨| 人人爽香蕉精品| 国产白浆在线免费观看| 午夜一级久久| 91精品婷婷色在线观看| 国产精品欧美日韩一区| 一级欧洲+日本+国产| 麻豆国产欧美日韩综合精品二区| 9色精品在线| 亚洲国产成人二区| 国产精品综合| 九九综合在线| 国产精品麻豆久久| 国产精一区二区| 亚洲一级大片| 亚洲国产成人精品女人| 精品久久影院| 国产日韩精品视频一区二区三区| 国产精品日韩精品在线播放| 精品国产亚洲日本| 国产日韩1区| 亚洲三级在线| 快she精品国产999| 黄色精品网站| 婷婷综合亚洲| 精品一区欧美| av日韩中文| 久久精品国产一区二区| 国产三级精品三级在线观看国产| 综合激情五月婷婷| 日韩在线一区二区| 亚洲欧美日韩国产一区| 国产亚洲毛片在线| 免费看黄色91| 日韩一区二区三区精品视频第3页| 美女网站久久| 日本亚州欧洲精品不卡| 日本aⅴ精品一区二区三区| 91成人小视频| 国产精选一区| 美女视频免费精品|