MySQL执行外部sql脚本文件的命令

sql脚本是包含一到多个sql命令的sql语句,我们可以将这些sql脚本放在一个文本文件中(我们称之为“sql脚本文件”),然后通过相关的命令执行这个sql脚本文件。基本步骤如下:
1、创建包含sql命令的sql脚本文件
文件中包含一些列的sql语句,每条语句最后以;结尾,文件内容示例如下:
--创建表,使用“--”进行注释
create table 表名称
(                   
  Guid Varchar(38) not null primary key,  
  Title Varchar(255),       
              
) TYPE=InnoDB;

--在表A中增加字段Status
alter table A add Status TinyInt default '0';

--在表A上创建索引
create index XX_TaskId_1 on A(Id_);
--在A表中添加一条记录
Insert into A (Id,ParentId, Name) values(1,0,'名称');
--添加、修改、删除数据后,有可能需要提交事务
Commit;

2、执行sql脚本文件
方法一 
使用cmd命令执行(windows下,unix或linux在的其控制台下)
【Mysql的bin目录】\mysql –u用户名 –p密码 –D数据库<【sql脚本文件路径全名】,示例:
D:\mysql\bin\mysql –uroot –p123456 -Dtest<d:\test\ss.sql
注意:
A、如果在sql脚本文件中使用了use 数据库,则-D数据库选项可以忽略
B、如果【Mysql的bin目录】中包含空格,则需要使用“”包含,如:“C:\Program Files\mysql\bin\mysql” –u用户名 –p密码 –D数据库<【sql脚本文件路径全名】

方法二 进入mysql的控制台后,使用source命令执行
Mysql>source 【sql脚本文件的路径全名】 或 Mysql>\. 【sql脚本文件的路径全名】,示例:

source d:\test\ss.sql 或者 \. d:\test\ss.sql



学习过 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 命令或者 \.

或者


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值