-
MySQL命令執行sql文件的兩種方法
-
摘要:和其他數據庫一樣,MySQL也提供了命令執行sql腳本文件,方便地進行數據庫、表以及數據等各種操作。下面筆者講解MySQL執行sql文件命令的兩種方法,希望能給剛開始學習 MySQL 數據庫的朋友們。
-
學習過 SQLServer 或 Oracle 的朋友會知道,sql 腳本是包含一到多個 sql 命令的 sql 語句集合,我們可以將這些 sql 腳本放在一個文本文件中(我們稱之為“sql 腳本文件”),然后通過相關的命令執行這個 sql 腳本文件。基本步驟如下:
1、創建 sql 腳本文件,例如下面一段 sql 語句,把它們拷貝到記事本,然后保存為 sql 后綴文件。
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586c-- phpMyAdmin SQL Dump-- version 2.10.0.2---- 主機: localhost-- 生成日期: 2007 年 10 月 27 日 06:38-- 服務器版本: 5.0.37-- PHP 版本: 5.2.1SETSQL_MODE="NO_AUTO_VALUE_ON_ZERO";---- 數據庫: `votesystem`--CREATEDATABASE`votesystem`DEFAULTCHARACTERSETlatin1COLLATElatin1_general_ci;USE `votesystem`;-- ------------------------------------------------------------ 表的結構 `admin`--CREATETABLE`admin` (`username`char(20)NOTNULLdefault'',`passwd`char(20)NOTNULLdefault'',PRIMARYKEY(`username`)) ENGINE=MyISAMDEFAULTCHARSET=gb2312;---- 導出表中的數據 `admin`--INSERTINTO`admin`VALUES('admin','admin');-- ------------------------------------------------------------ 表的結構 `voteitem`--CREATETABLE`voteitem` (`voteitem_id`smallint(5) unsignedNOTNULLauto_increment,`vote_id`smallint(5) unsignedNOTNULLdefault'0',`vote_item`varchar(100)NOTNULLdefault'',`vote_count`smallint(5) unsignedNOTNULLdefault'0',PRIMARYKEY(`voteitem_id`)) ENGINE=MyISAMDEFAULTCHARSET=gb2312 AUTO_INCREMENT=34 ;---- 導出表中的數據 `voteitem`--INSERTINTO`voteitem`VALUES(25, 6,'perl', 10);INSERTINTO`voteitem`VALUES(24, 6,'python', 20);INSERTINTO`voteitem`VALUES(23, 6,'c++', 20);INSERTINTO`voteitem`VALUES(22, 6,'c', 15);INSERTINTO`voteitem`VALUES(21, 6,'php', 25);INSERTINTO`voteitem`VALUES(29, 6,'shell', 5);INSERTINTO`voteitem`VALUES(28, 6,'asm', 5);INSERTINTO`voteitem`VALUES(27, 6,'java', 3);INSERTINTO`voteitem`VALUES(26, 6,'c#', 4);INSERTINTO`voteitem`VALUES(33, 7,'Mac OS', 60);INSERTINTO`voteitem`VALUES(32, 7,'OS/2', 5);INSERTINTO`voteitem`VALUES(31, 7,'Windows', 50);INSERTINTO`voteitem`VALUES(30, 7,'Linux', 51);-- ------------------------------------------------------------ 表的結構 `votemain`--CREATETABLE`votemain` (`vote_id`smallint(5) unsignedNOTNULLauto_increment,`vote_name`varchar(100)NOTNULLdefault'',`vote_time` datetimeNOTNULLdefault'0000-00-00 00:00:00',PRIMARYKEY(`vote_id`)) ENGINE=MyISAMDEFAULTCHARSET=gb2312 AUTO_INCREMENT=8 ;---- 導出表中的數據 `votemain`--INSERTINTO`votemain`VALUES(7,'你最喜歡的系統','2007-10-26 14:10:13');INSERTINTO`votemain`VALUES(6,'你最喜歡的語言','2007-10-26 14:09:15');2、使用命令執行 sql 腳本文件
方法一,在 Windows 下使用 cmd 命令執行(或 Unix 或 Linux 控制台下)
【Mysql的bin目錄】\mysql –u用戶名 –p密碼 –D數據庫<【sql腳本文件路徑全名】,示例:
C:\MySQL\bin\mysql –uroot –p123456 -Dtest<C:\test.sql
注意:
A、如果在 sql 腳本文件中使用了 use 數據庫,則 -D數據庫 選項可以忽略
B、如果【Mysql的bin目錄】中包含空格,則需要使用“”包含,如:“C:\Program Files\MySQL\bin\mysql” –u用戶名 –p密碼 –D數據庫<【sql腳本文件路徑全名】
C、如果 sql 沒有創建數據庫的語句,而且數據庫管理中也沒有該數據庫,那么必須先用命令創建一個空的數據庫。方法二,進入 MySQL 控制台(如:MySQL 5.5 Command Line Client),使用 source 命令執行
Mysql>source 【sql腳本文件的路徑全名】 或 Mysql>\. 【sql腳本文件的路徑全名】,示例:
source C:\test.sql 或者 \. C:\test.sql
打開 MySQL Command Line Client,輸入數據庫密碼進行登錄,然后使用 source 命令或者 \.
或者

