天天看點

Mysql中腳本示例

Mysql中腳本示例

  • ​​一、修改資料庫編碼及字元集(比較簡單,在可視化工具中直接改了,也可以使用如下指令)​​
  • ​​二、批量修改某一資料庫中,所有的表和表中的字段的編碼和排序規則​​
  • ​​2.1、第一步生成修改語句​​
  • ​​2.2、第二步,複制語句,執行就可以了(注意會初始化字段的注釋,字段長度)​​
  • ​​三、添加外鍵和限制​​
  • ​​3.1、無别名​​
  • ​​3.2、有别名​​
  • ​​四、批量删除某一資料庫中所有表​​

一、修改資料庫編碼及字元集(比較簡單,在可視化工具中直接改了,也可以使用如下指令)

– 可直接複制運作

ALTER DATABASE db_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin;

– 參數解釋:

– db_name 資料庫名;

– utf8mb4 改後的字元集

– utf8mb4_bin 改後的排序規則

二、批量修改某一資料庫中,所有的表和表中的字段的編碼和排序規則

2.1、第一步生成修改語句

– 第一步,先生成修改的SQL語句

USE testboot;
SELECT
    CONCAT( 'ALTER TABLE ', TABLE_SCHEMA, '.', TABLE_NAME, ' MODIFY COLUMN ', COLUMN_NAME,
' ', COLUMN_TYPE, ' CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;' ) 
FROM
    information_schema.`COLUMNS` 
WHERE
    COLLATION_NAME RLIKE 'utf8mb4_general_ci' 
    AND TABLE_SCHEMA = 'testboot';

-- 參數解釋
    -- testboot 你要修改的資料庫
    -- utf8mb4 改後的編碼
    -- 第一個 utf8mb4_general_ci 改後的排序規則
    -- 第二個 utf8mb4_general_ci 要改的表的現在的排序規則,這裡本來是utf8mb4_bin,我改過的,用utf8mb4_bin,會傳回空
    -- testboot 你要修改的資料庫      

類似這種

ALTER TABLE testboot.address MODIFY COLUMN address varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE testboot.address MODIFY COLUMN city varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE testboot.address MODIFY COLUMN province varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE testboot.blog MODIFY COLUMN content longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE testboot.blog MODIFY COLUMN description varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE testboot.blog MODIFY COLUMN summary varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE testboot.blog MODIFY COLUMN tags varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE testboot.blog MODIFY COLUMN title varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE testboot.navigation MODIFY COLUMN name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE testboot.navigation MODIFY COLUMN path varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE testboot.user MODIFY COLUMN email varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE testboot.user MODIFY COLUMN name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE testboot.user MODIFY COLUMN password varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE testboot.user MODIFY COLUMN tel varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;      

2.2、第二步,複制語句,執行就可以了(注意會初始化字段的注釋,字段長度)

修改完畢;可檢視。

三、添加外鍵和限制

思考:限制和索引

3.1、無别名

3.2、有别名

四、批量删除某一資料庫中所有表

SELECT CONCAT('DROP TABLE ', table_name,';') FROM information_schema.`TABLES` WHERE table_schema='dbName';