原文地址:http://www.lezhu99.com/2416.html
学习过 SQLServer 或 Oracle 的朋友会知道,sql 脚本是包含一到多个 sql 命令的 sql 语句集合,我们可以将这些 sql 脚本放在一个文本文件中(我们称之为“sql 脚本文件”),然后通过相关的命令执行这个 sql 脚本文件。基本步骤如下:
1、创建 sql 脚本文件,例如下面一段 sql 语句,把它们拷贝到记事本,然后保存为 sql 后缀文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | c -- phpMyAdmin SQL Dump -- version 2.10.0.2 -- -- 主机: 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 COLLATE latin1_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 控制台下)
【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 命令或者 \.

或者
