标签:
摘要:和其他数据库一样,MySQL也提供了命令执行sql脚本文件,方便地进行数据库、表以及数据等各种操作。下面笔者讲解MySQL执行sql文件命令的两种方法,希望能给刚开始学习 MySQL 数据库的朋友们。
学习过 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 命令或者 \.
或者
标签:
原文地址:http://www.cnblogs.com/qmfsun/p/4838032.html