sql腳本是包含一到多個sql命令的sql語句,我們可以將這些sql腳本放在一個文本文件中(我們稱之為“sql腳本文件”),然后通過相關的命令執行這個sql腳本文件。
1.創建包含sql命令的sql腳本文件
在d盤根目錄下新建一個文本文檔,并改名為day01.sql(名字自己取,最好不要有中文,特殊符號,以.sql結尾)
day01.sql文件中包含一些列的sql語句,每條語句最后以;結尾,文件內容示例如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
create table emps ( empno int (8) primary key , ename varchar (20), job varchar (20), mgr int (8), hiredate date , sal double (11,2), comm double (11,2), deptno int (8) ); insert into emps values (1, '張三' , '領導' ,0,sysdate(),18000.0,3000.0,1); insert into emps values (2, '李四' , '銷售' ,1,sysdate(),7000.0,5000.0,1); insert into emps values (3, '王五' , '銷售' ,1,sysdate(),8000.0,2000.0,1); insert into emps values (4, '馬六' , '市場' ,1,sysdate(),6000.0,0,1); insert into emps values (5, '周七' , '市場' ,1,sysdate(),5000.0,0,1); insert into emps values (6, '馮八' , '市場' ,1,sysdate(),4000.0,0,1); commit ; |
需要注意的是,mysql里不能直接創建序列create sequence,需要創建一張儲存sequence的表,然后手動插入一條數據 ,最后自定義一個函數來處理要增長的值。
以上sql語句中包含中文,所以,在執行sql腳本文件前,需要檢查一下你現在使用的mysql使用的是什么字符集。 mysql中默認字符集的設置有四級:服務器級,數據庫級,表級 。最終是字段級 的字符集設置。注意前三種均為默認設置,并不代碼你的字段最終會使用這個字符集設置。所以我們建議要用show create table tablename ;
或show full fields from tablename;
來檢查當前表中字段的字符集設置。
mysql中關于連接環境的字符集設置有 client端,connection, results ,通過這些參數,mysql就知道你的客戶端工具用的是什么字符集,結果集應該是什么字符集。這樣mysql就會做必要的翻譯,一旦這些參數有誤,自然會導致字符串在轉輸過程中的轉換錯誤。基本上99%的亂碼由些造成。
當前聯接系統參數 show variables like 'char%';
退出mysql,使用net stop mysql命令,停止mysql服務
找到你的mysql安裝目錄下,找到my.ini文件,用記事本打開
重新打開cmd控制臺,輸入net start mysql回車,啟動mysql服務,啟動成功后,進入mysql,并使用jsd170101數據庫
2.執行sql腳本文件(介紹三種方式)
方法一:
c:\users\administrator>mysql -uroot -p123456 -djsd170101<d:\day01.sql
//mysql -u賬號 -p密碼 -d數據庫名 < sql文件絕對路徑
方法二:
mysql> source d:\day01.sql
//mysql控制臺下執行source d:\day01.sql
方法三:
mysql> \. d:\day01.sql
// \. d:\day01.sql
到此這篇關于mysql執行外部sql腳本文件的命令的文章就介紹到這了,更多相關mysql執行外部sql內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://blog.csdn.net/czbqoo01/article/details/70037987