MySQL数据库在命令行下执行sql文件

作者:简简单单 2013-11-12


 代码如下 复制代码

例子: 有 importdata.sql文件, 文件内容如下
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
CREATE TABLE `bbs` (
  `id` int(11) NOT NULL auto_increment,
  `uid` int(11) NOT NULL default '0',
  `title` varchar(255) default NULL,
  `content` varchar(255) default NULL,
  `lastdate` datetime default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
INSERT INTO `bbs` (`id`, `uid`, `title`, `content`, `lastdate`) VALUES
(1, 1, '''fffffffff''', 'ffffffffffffffff\', '2010-06-22 08:32:11'),
(2, 1, '生生世世山山水水', '顶顶顶顶单独的等等顶顶顶顶顶顶顶顶大道通天塔 ', '2010-06-22 08:32:11'),
(3, 2, '刘军超是不是', '不是是不是', '2010-06-22 08:32:44');

第一种方式:

在未连接数据库的情况下,输入

 代码如下 复制代码
mysql -h localhost -u root -p 123456 < d:book.sql

回车即可;

第二种方式:


在已连接数据库的情况下,此时命令提示符为mysql>,输入

 代码如下 复制代码
source d:book.sql  或者 . d:book.sql

回车即可

以下是使用mysql>. d:book.sql 的运行结果

第三种方式:

 代码如下 复制代码

mysql --user=用户名 --password=密码 数据库名字 -e "load data local infile '/home/jingtao/code/mysql-data/web_trojan.txt'
 into table web_trojan fields TERMINATED BY ',' (troj_timestamp,troj_time,troj_ip_addr,troj_url,troj_script)"

 
注意:load里面的文件目录要用单引号才能执行,末尾也不用分号,但在mysql提示符下是可以的

相关文章

精彩推荐