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 コマンドを使用します 注: 方法 2、MySQL コンソール (MySQL 5.5 コマンド ライン クライアントなど) に入り、source コマンドを使用して
[Mysql bin ディレクトリ] mysql –u ユーザー名 –p パスワード –D データベース C:MySQLbinmysql –uroot –p123456 -Dtest
A. SQL スクリプト ファイルで使用データベースが使用されている場合、その場合、-D データベース オプションは無視できます
B. [Mysql bin ディレクトリ] にスペースが含まれる場合は、「C:Program FilesMySQLbinmysql」 –u ユーザー名 –p パスワード –D データベース< のように、スペースを含める必要があります。 ;[sql スクリプト ファイル パスの完全名]
C. SQL にデータベースを作成するステートメントがなく、データベースがデータベース管理に存在しない場合は、まずコマンドを使用して空のデータベースを作成する必要があります。
Mysql>source [SQL スクリプト ファイルの完全なパス名] または Mysql> [SQL スクリプト ファイルの完全なパス名] を実行します。 SQL スクリプト ファイル]、例:
source C:test.sql または . C:test.sql
MySQL コマンド ライン クライアントを開き、データベース パスワードを入力してログインし、source コマンド または を使用します。