<EXCEL>
当サイトの情報をご利用になる場合は、全て自己責任でお願いします |
| 第6号 2005/07/03 |
<MySQL編 第2回目>
今回は、MySQLのテーブルを作成する方法を紹介します。
まず、MySQLを操作するための黒い操作画面を簡単に出すために、以下のbatファイル
を作成します。
<batファイル>
下の一行を記述したテキストファイルを、たとえばC:\MySQL.batとして保存し、
ダブルクリックをすると黒い操作画面が開きます。
c:\mysql\bin\mysql --default-character-set=sjis -u (ユーザー名) -p(パスワード)
(注)-pと(パスワード)の間にスペースを入れるとエラーが出ます。
最初にデータベース名を作成します。データベース名はテーブルを入れておく入れ物です。
1つにしておいた方がわかりやすいと思いますので、適当な名前で1つ作ります。
先程のbatファイルをダブルクリックして開いた黒い操作画面内で
CREATE DATABASE (データベース名);
を入力してリターンを押すと作成できます。(例: CREATE DATABASE keiri;)
作ったデータベースに移動するには
USE (データベース名);
です。(例: USE keiri;)
このままでは、黒い操作画面を開くたびにデータベースに移動しなければならないので、
先程のbatファイルの1行のあとに下のようにデータベース名を付けると、batファイルを
ダブルクリックしたときに、直接データベースに移動して黒い画面が開きます。
c:\mysql\bin\mysql --default-character-set=sjis -u (ユーザー名) -p(パスワード) (データベース名)
それでは、テーブルを作成するのに必要なデータタイプについて説明します。
MySQLは多くのデータタイプを持っています。一部を紹介します。
int 整数型 -2,147,483,647 〜 +2,147,483,647
bigint 整数型 -9,223,372,036,854,775,808 〜 +9,223,372,036,854,775,808
double 実数型 -1.7976931348623157E+308 〜 1.7976931348623157E+308
varchar(M) M文字以下の可変長文字列(Mは255まで)
text 65535文字以下の可変長文字列。ただし、インデックスの設定はできません。
date 日付型 1000-01-01 〜 9999-12-31
datetime 日付時刻型 1000-01-01 00:00:00 〜 9999-12-31 23:59:59
time 時刻型 -838:59:59 〜 838:59:59
実数型はfloat(-3.402823466E+38 〜 +3.402823466E+38)の方が一般的なのですが、
この型を使用するとなぜか誤差が生じましたので、誤差が生じなかったdoubleを使用
しています。(桁数的には全く問題の無い状況で誤差が生じたので、バグだと思うのですが...)
テーブルの作成はCREATE文でできます。
CREATE TABLE (テーブル名) (
PRIMARY KEY((フィールド名),(フィールド名),,,), ←主キーがある場合
(フィールド名) (型),
・
・
・
・
INDEX (インデックス名) ((フィールド名)) ←インデックスがある場合
);
<例>
CREATE TABLE uriage (
PRIMARY KEY(ymd),
ymd date,
chiku varchar(1),
kingaku int,
INDEX I_chiku (chiku)
);
CREATE文は長くて間違いやすいので手入力はつらいですし、定義内容を紙やデータで
一括管理をしたいので、管理とSQLファイルを作成するためのExcelファイルをこちら
に作りました。
このExcelファイルで作成されたSQLファイルを先程の黒い画面で、“\. (ファイル名)”
として実行すればテーブルが作成されます。(ただし、C:\はC:/になります)
(例)\. c:/uriage.sql
以上が、MySQLのテーブルの作成方法です。
テーブルには上記のテーブルの他にテンポラリーテーブルというのがあります。
テンポラリーテーブルは一時的に使用されるテーブルで、黒い操作画面を閉じる
と無くなります。このテンポラリーテーブルが非常に重要で、これ無しではほと
んどの処理はできません。作成は簡単で、CREATEとTABLEの間にTEMPORARYを入れ
るだけです。使い方についても、のちほど紹介させていただきます。
************************************************************************
<編集後記>
テーブルの作成はMySQLの黒い操作画面で行う方が手っ取り早いのですが、その他の
処理は基本的にPHP上で行うことが多いです。PHP上で行う方が複雑な処理が出来るだ
けでなく、エラーが出たときのやり直しや処理の変更が簡単に出来るので非常に良いの
です。この方法を知ってからAccessを使うのをやめました。
次回は、データを検索・抽出するSELECT文を紹介させて頂きます。
************************************************************************
|
|