MySQL命令执行sql文件的两种方法

时间:2021-07-25 21:03:38
  • MySQL命令执行sql文件的两种方法

  • 摘要:和其他数据库一样,MySQL也提供了命令执行sql脚本文件,方便地进行数据库、表以及数据等各种操作。下面笔者讲解MySQL执行sql文件命令的两种方法,希望能给刚开始学习
    MySQL 数据库的朋友们。

  • 学习过 SQLServerOracle 的朋友会知道,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 命令执行(或 UnixLinux 控制台下)
    【Mysql的bin目录】\mysql –u用户名 –p密码 –D数据库<【sql脚本文件路径全名】,示例:
    C:\MySQL\bin\mysql –uroot –p123456 -Dtest<C:\test.sql

    MySQL命令执行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 命令或者 \.

    MySQL命令执行sql文件的两种方法

    或者

    MySQL命令执行sql文件的两种方法