ホームページ >php教程 >PHP开发 >MySQL コマンドで SQL ファイルを実行する 2 つの方法

MySQL コマンドで SQL ファイルを実行する 2 つの方法

高洛峰
高洛峰オリジナル
2016-12-14 10:53:351679ブラウズ

SQL Server や Oracle を勉強したことのある人は、SQL スクリプトが 1 つ以上の 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 スクリプト ファイルを実行します

方法 1、Windows (または Unix または Linux コンソール) で cmd コマンドを使用します
[Mysql bin ディレクトリ] mysql –u ユーザー名 –p パスワード –D データベース C:MySQLbinmysql –uroot –p123456 -Dtest

MySQL コマンドで SQL ファイルを実行する 2 つの方法

注:
A. SQL スクリプト ファイルで使用データベースが使用されている場合、その場合、-D データベース オプションは無視できます
B. [Mysql bin ディレクトリ] にスペースが含まれる場合は、「C:Program FilesMySQLbinmysql」 –u ユーザー名 –p パスワード –D データベース< のように、スペースを含める必要があります。 ;[sql スクリプト ファイル パスの完全名]​​
C. SQL にデータベースを作成するステートメントがなく、データベースがデータベース管理に存在しない場合は、まずコマンドを使用して空のデータベースを作成する必要があります。

方法 2、MySQL コンソール (MySQL 5.5 コマンド ライン クライアントなど) に入り、source コマンドを使用して
Mysql>source [SQL スクリプト ファイルの完全なパス名] または Mysql> [SQL スクリプト ファイルの完全なパス名] を実行します。 SQL スクリプト ファイル]、例:
source C:test.sql または . C:test.sql
MySQL コマンド ライン クライアントを開き、データベース パスワードを入力してログインし、source コマンド または を使用します。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。