MySQL執行外部sql指令碼檔案的命令

飛翔的黃瓜發表於2017-08-10

sql指令碼是包含一到多個sql命令的sql語句,我們可以將這些sql指令碼放在一個文字檔案中(我們稱之為“sql指令碼檔案”),然後通過相關的命令執行這個sql指令碼檔案。基本步驟如下:
1、建立包含sql命令的sql指令碼檔案
檔案中包含一些列的sql語句,每條語句最後以;結尾,檔案內容示例如下:
--建立表,使用“--”進行註釋
create table 表名稱
(                   
  Guid Varchar(38) not null primary key,  
  Title Varchar(255),       
              
) TYPE=InnoDB;

--在表A中增加欄位Status
alter table A add Status TinyInt default '0';

--在表A上建立索引
create index XX_TaskId_1 on A(Id_);
--在A表中新增一條記錄
Insert into A (Id,ParentId, Name) values(1,0,'名稱');
--新增、修改、刪除資料後,有可能需要提交事務
Commit;

2、執行sql指令碼檔案
方法一 
使用cmd命令執行(windows下,unix或Linux在的其控制檯下)
MySQL的bin目錄】\mysql –u使用者名稱 –p密碼 –D資料庫<【sql指令碼檔案路徑全名】,示例:
D:\mysql\bin\mysql –uroot –p123456 -Dtest<d:\test\ss.sql
注意:
A、如果在sql指令碼檔案中使用了use 資料庫,則-D資料庫選項可以忽略
B、如果【Mysql的bin目錄】中包含空格,則需要使用“”包含,如:“C:\Program Files\mysql\bin\mysql” –u使用者名稱 –p密碼 –D資料庫<【sql指令碼檔案路徑全名】

方法二 進入mysql的控制檯後,使用source命令執行
Mysql>source 【sql指令碼檔案的路徑全名】 或 Mysql>\. 【sql指令碼檔案的路徑全名】,示例:
source d:\test\ss.sql 或者 \. d:\test\ss.sql(親測了用!)

相關文章