首頁  >  文章  >  php教程  >  MySQL指令執行sql檔的兩種方法

MySQL指令執行sql檔的兩種方法

高洛峰
高洛峰原創
2016-12-14 10:53:351610瀏覽

學習過 SQLServer 或 Oracle 的朋友會知道,sql 腳本是包含一到多個 sql 指令的 sql 語句集合,我們可以將這些 sql 腳本放在一個文字檔中(我們稱為「sql 腳本檔」),然後透過相關的指令執行這個 sql 腳本檔。基本步驟如下:

1、建立 sql 腳本文件,例如下面一段 sql 語句,將它們拷貝到記事本,然後儲存為 sql 後綴文件。

c-- phpMyAdmin SQL Dump  
-- version 2.10.0.2  
-- http://www.phpmyadmin.net  
--   
-- 主机: localhost  
-- 生成日期: 2007 年 10 月 27 日 06:38  
-- 服务器版本: 5.0.37  
-- PHP 版本: 5.2.1  
       
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";  
       
--   
-- 数据库: `votesystem`  
--   
CREATE DATABASE `votesystem` DEFAULT CHARACTER SET latin1 COLLATElatin1_general_ci;  
USE `votesystem`;  
       
-- --------------------------------------------------------  
       
--   
-- 表的结构 `admin`  
--   
       
CREATE TABLE `admin` (  
  `username` char(20) NOT NULL default '',  
  `passwd` char(20) NOT NULL default '',  
  PRIMARY KEY  (`username`)  
) ENGINE=MyISAM DEFAULT CHARSET=gb2312;  
       
--   
-- 导出表中的数据 `admin`  
--   
       
INSERT INTO `admin` VALUES ('admin', 'admin');  
       
-- --------------------------------------------------------  
       
--   
-- 表的结构 `voteitem`  
--   
       
CREATE TABLE `voteitem` (  
  `voteitem_id` smallint(5) unsigned NOT NULL auto_increment,  
  `vote_id` smallint(5) unsigned NOT NULL default '0',  
  `vote_item` varchar(100) NOT NULL default '',  
  `vote_count` smallint(5) unsigned NOT NULL default '0',  
  PRIMARY KEY  (`voteitem_id`)  
) ENGINE=MyISAM  DEFAULT CHARSET=gb2312 AUTO_INCREMENT=34 ;  
       
--   
-- 导出表中的数据 `voteitem`  
--   
       
INSERT INTO `voteitem` VALUES (25, 6, 'perl', 10);  
INSERT INTO `voteitem` VALUES (24, 6, 'python', 20);  
INSERT INTO `voteitem` VALUES (23, 6, 'c++', 20);  
INSERT INTO `voteitem` VALUES (22, 6, 'c', 15);  
INSERT INTO `voteitem` VALUES (21, 6, 'php', 25);  
INSERT INTO `voteitem` VALUES (29, 6, 'shell', 5);  
INSERT INTO `voteitem` VALUES (28, 6, 'asm', 5);  
INSERT INTO `voteitem` VALUES (27, 6, 'java', 3);  
INSERT INTO `voteitem` VALUES (26, 6, 'c#', 4);  
INSERT INTO `voteitem` VALUES (33, 7, 'Mac OS', 60);  
INSERT INTO `voteitem` VALUES (32, 7, 'OS/2', 5);  
INSERT INTO `voteitem` VALUES (31, 7, 'Windows', 50);  
INSERT INTO `voteitem` VALUES (30, 7, 'Linux', 51);  
       
-- --------------------------------------------------------  
       
--   
-- 表的结构 `votemain`  
--   
       
CREATE TABLE `votemain` (  
  `vote_id` smallint(5) unsigned NOT NULL auto_increment,  
  `vote_name` varchar(100) NOT NULL default '',  
  `vote_time` datetime NOT NULL default '0000-00-00 00:00:00',  
  PRIMARY KEY  (`vote_id`)  
) ENGINE=MyISAM  DEFAULT CHARSET=gb2312 AUTO_INCREMENT=8 ;  
       
--   
-- 导出表中的数据 `votemain`  
--   
       
INSERT INTO `votemain` VALUES (7, '你最喜欢的系统', '2007-10-26 14:10:13');  
INSERT INTO `votemain` VALUES (6, '你最喜欢的语言', '2007-10-26 14:09:15');

2、使用指令執行 sql 腳本檔

方法一,在 Windows 下使用 cmd 指令執行(或 Unix 或 Linux 控制台下)
【sqlMy10mymysql –p. C:MySQLbinmysql –uroot –p123456 -Dtest

MySQL指令執行sql檔的兩種方法

注意:🎔sqlA、如果在  -D資料庫 選項可以忽略
B、如果【Mysql的bin目錄】中包含空格,則需要使用「」包含,如:「C:Program FilesMySQLbinmysql」 –u用戶名 –p密碼 –D資料庫C、如果 sql 沒有建立資料庫的語句,資料庫管理中也沒有這個資料庫,那麼就必須先用指令建立一個空的資料庫。

方法二,進入 MySQL 控制台(如:MySQL 5.5 Command Line Client),並使用 source 指令執行

Mysql>source sql腳本檔案的路徑全名】範例:
source C:test.sql 或 . C:test.sql
開啟 MySQL Command Line Client,輸入資料庫密碼登入,然後使用 source 指令或 .

MySQL指令執行sql檔的兩種方法

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn