MySQL命令执行sql文件的两种方法
程序员文章站
2022-04-25 23:16:30
...
学习过 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 控制台下)
【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 命令或者 \.
或者
推荐阅读
-
查看django执行的sql语句及消耗时间的两种方法
-
php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
-
在Linux中挂载ISO文件的两种方法(mount命令与mount软件)
-
python文件读写操作与linux shell变量命令交互执行的方法
-
mysql执行sql文件报错Error: Unknown storage engine‘InnoDB’的解决方法
-
Shell脚本中执行sql语句操作mysql的5种方法
-
mysql从执行.sql文件时处理\n换行的问题
-
mysql5的sql文件导入到mysql4的方法
-
sql 2000 无法执行查询,因为一些文件缺少或未注册"的解决方法
-
mysql将bin-log日志文件转为sql文件的方法