我正在使用MySQL v5.1。數據庫之間的複製表
我正在開發一個Rails應用程序。並編寫一個紅寶石腳本來複制數據庫。到目前爲止,我有表名稱的數組,表的數量是2090,我需要在一個新的數據庫中創建所有的表,我的代碼如下所示:
#"table_names" is fetched by execute 'show tables' SQL commands
table_names.each { |tbl_name|
ActiveRecord::Base.connection.execute("CREATE TABLE #{new_db_name}.#{tbl_name} LIKE #{old_db_name}.#{tbl_name}")
}
此代碼的工作,但它採取了需要很長時間才能完成,因爲代碼必須逐個執行CREATE TABLE
命令,並且要創建2090個表。
我想知道有沒有什麼辦法讓批量創建在SQL表(如批量插入數據的)的,以節省時間呢?如果不是,我該如何提高創建表的速度?這是將所有2090個表從一個數據庫複製到另一個數據庫。
P.S.我不想在SQL文件中硬編碼所有2090個表名。
我知道mysqldump的方式,但我不需要表中的數據,這就是爲什麼我不使用轉儲。不過謝謝你。 –
它也有一個--no-data選項,它只轉儲表結構/觸發器/程序/等等......基本上除了數據以外的所有東西。 –