【講座名】
MySQL初心者入門講座 に関する質問
【質問】
MySQLにはキャラクタセットがいろいろあるようですが、どれを選べばよいのでしょうか?
【回答】
キャラクタセット(character set)とは、アルファベット、ひらがな、カタカナ、漢字などの文字の集まりのことで、いろいろな規格があります。
日本語を扱うキャラクタセットで、MySQLで使えるものには、以下のようなものがあります。
・sjis
・cp932
・ujis
・eucjpms
・utf8
MySQLでは、サーバー、データベース、テーブル、フィールドの文字コードと、mysqlなどのクライアントツールの文字コードをすべて統一したほうが、「文字化け」の問題に悩まずに済みます。
MySQL初心者入門講座で、MySQLをインストールする時に「sjis」を勧めたのは、当講座の読者が初心者で、 Windows を使っている人が多いからです。
Windows 利用者の場合、MySQL側を「sjis」に統一すれば、クライアントからの操作で、文字コードを意識する必要がなくなります。初心者が MySQL の学習環境を整えるには、これが一番簡単です。sjis は文字化けの問題がありますが、文字コードを統一しておけば大丈夫です。
しかし本格的に PHP や Java で作ったアプリケーションから MySQL を操作するなら、「eucjpms」や「utf8」を使ったほうがよいでしょう。
また最近では、楽天や Amazon などの Webサービスで提供されるデータは UTF-8 が一般的です。他社のWebサービスを活用するシステムを作る予定がある場合は、 utf8 に統一したほうがいいと思います。
MySQLの基本的な操作に慣れてきたら、他のキャラクタセットにも挑戦してみてください。
スポンサードリンク
2008年03月12日
2008年03月09日
MySQL 文末に付ける「;」セミコロンについて。
【講座名】
MySQL初心者入門講座 に関する質問
【質問】
MySQLで使用するデータベースを選択する時に、「USE データベース名」とセミコロンを付けなくても、「USE データベース名;」と同じように動くのですが何故でしょうか?

【回答】
コマンドプロンプトから MySQL を操作するために使われる「mysql」は、クライアントツールの一つです。mysqlの本体は、「C:\mysql\bin\mysql.exe」です。
mysql の画面では、以下の2つが入力できます。
1.mysqlのコマンド(命令)
2.SQL文
mysqlのコマンドの場合はセミコロンが不要で、SQL文の場合は文末にセミコロンが必要です。SQL文はセミコロンが一つの文の区切りとなるからです。
ではどうやって mysql のコマンドかどうか判断したらよいのでしょうか。実はとても簡単です。
(1)mysqlを起動後、「help」と入力して実行します。

(2)mysqlのコマンド一覧が表示されました。

(3)この一覧にあるのは mysql のコマンドなので、セミコロンを付けなくても動きます。よく使うコマンドを赤枠で囲んでみました。

mysqlのコマンドは省略形が使えます。
例 help → \h
*「\」はWindowsでは円記号のことです。
help も mysql のコマンドなので、セミコロンが不要なわけです。
ということで、mysql のコマンドの場合は「USE データベース名」のようにセミコロンを付けないのが、本来の書き方です。
MySQL初心者入門講座 に関する質問
【質問】
MySQLで使用するデータベースを選択する時に、「USE データベース名」とセミコロンを付けなくても、「USE データベース名;」と同じように動くのですが何故でしょうか?
【回答】
コマンドプロンプトから MySQL を操作するために使われる「mysql」は、クライアントツールの一つです。mysqlの本体は、「C:\mysql\bin\mysql.exe」です。
mysql の画面では、以下の2つが入力できます。
1.mysqlのコマンド(命令)
2.SQL文
mysqlのコマンドの場合はセミコロンが不要で、SQL文の場合は文末にセミコロンが必要です。SQL文はセミコロンが一つの文の区切りとなるからです。
ではどうやって mysql のコマンドかどうか判断したらよいのでしょうか。実はとても簡単です。
(1)mysqlを起動後、「help」と入力して実行します。
(2)mysqlのコマンド一覧が表示されました。
(3)この一覧にあるのは mysql のコマンドなので、セミコロンを付けなくても動きます。よく使うコマンドを赤枠で囲んでみました。
mysqlのコマンドは省略形が使えます。
例 help → \h
*「\」はWindowsでは円記号のことです。
help も mysql のコマンドなので、セミコロンが不要なわけです。
ということで、mysql のコマンドの場合は「USE データベース名」のようにセミコロンを付けないのが、本来の書き方です。
MySQL ダウンロードファイルの種類について。
【講座名】
MySQL初心者入門講座 に関する質問
【質問】
MySQLのダウンロードファイルにはいろいろ種類がありますが、どれを選んでいいのかわからないので、詳しく教えてください。
【回答】
(1)まず利用方法により、無償か有償があります。
・MySQL Community Server
・MySQL Enterprise
MySQLは個人利用に限り無償で利用できます。商用で利用する場合はライセンスを購入する必要があります。個人利用が目的なら MySQL Community Server を選んでください。
(2)MySQLのバージョンについて
MySQLは開発中の最新バージョンも公開していますが、安定している Generally Available (GA) Release をおすすめします。
「6.0.4-alpha」のようにバージョンの後ろに、alpha、beta、rc などが付いているものが開発中です。安定版は「5.0.51a」のようになっています。
最新機能を試す以外なら、安定版を選んでください。
(3)MySQL本体の種類について
Windows版の MySQL 本体は、以下の3種類がダウンロードできます。
・Windows Essentials (x86)
・Windows ZIP/Setup.EXE (x86)
・Without installer (unzip in C:\)
「Essentials」は必要最小限の基本的なパッケージです。MySQL を学習用として使う分には Essentials で十分です。
MySQL を本格的に使う場合は、フルパッケージの「ZIP/Setup.EXE」か「Without installer」をダウンロードします。
フルパッケージの場合は、インストーラーが付いている「ZIP/Setup.EXE」がいいと思います。「Without installer」は手動で設定が必要な部分があるので、MySQL に慣れてきたら利用すると良いでしょう。
(4)MySQL本体以外の「Connector/ODBC」や「Connector/J」でも開発中と安定版のバージョンがあります。なるべく安定版をダウンロードしてください。
MySQL初心者入門講座の解説画像でも、開発中のバージョンをダウンロードしている部分がありますが、本当は安定版のほうがいいです。
MySQL初心者入門講座 に関する質問
【質問】
MySQLのダウンロードファイルにはいろいろ種類がありますが、どれを選んでいいのかわからないので、詳しく教えてください。
【回答】
(1)まず利用方法により、無償か有償があります。
・MySQL Community Server
・MySQL Enterprise
MySQLは個人利用に限り無償で利用できます。商用で利用する場合はライセンスを購入する必要があります。個人利用が目的なら MySQL Community Server を選んでください。
(2)MySQLのバージョンについて
MySQLは開発中の最新バージョンも公開していますが、安定している Generally Available (GA) Release をおすすめします。
「6.0.4-alpha」のようにバージョンの後ろに、alpha、beta、rc などが付いているものが開発中です。安定版は「5.0.51a」のようになっています。
最新機能を試す以外なら、安定版を選んでください。
(3)MySQL本体の種類について
Windows版の MySQL 本体は、以下の3種類がダウンロードできます。
・Windows Essentials (x86)
・Windows ZIP/Setup.EXE (x86)
・Without installer (unzip in C:\)
「Essentials」は必要最小限の基本的なパッケージです。MySQL を学習用として使う分には Essentials で十分です。
MySQL を本格的に使う場合は、フルパッケージの「ZIP/Setup.EXE」か「Without installer」をダウンロードします。
フルパッケージの場合は、インストーラーが付いている「ZIP/Setup.EXE」がいいと思います。「Without installer」は手動で設定が必要な部分があるので、MySQL に慣れてきたら利用すると良いでしょう。
(4)MySQL本体以外の「Connector/ODBC」や「Connector/J」でも開発中と安定版のバージョンがあります。なるべく安定版をダウンロードしてください。
MySQL初心者入門講座の解説画像でも、開発中のバージョンをダウンロードしている部分がありますが、本当は安定版のほうがいいです。
2008年01月02日
MySQL データ型の決め方がわからない。
【講座名】
MySQL初心者入門講座
【質問】
テーブルを作成するSQL文についてですが、()カッコ内の 3 や 10 という数字は何を表し、どのように決めるものなのでしょうか?
CREATE TABLE T01Prefecture (
PREF_CD INT(3),
PREF_NAME VARCHAR(10),
PRIMARY KEY (PREF_CD)
);
【回答】
カッコ内の数字は以下のような意味になります。
・INT タイプの場合は最大ディスプレイ幅
・VARCHAR タイプの場合は格納したい最大文字数
注意点としては INT タイプの場合、ディスプレイ幅と許容値幅とは別だということです。
INT(M)
例えば INT タイプの範囲は -2147483648 から 2147483647 ですが、これはディスプレイ幅とは別です。ディスプレイ幅のMは省略できます。範囲のほうが重要です。
同じ数値タイプでも FLOAT と DOUBLE タイプの場合は、合計で M 桁まで格納でき、そのうちの D 桁は小数点以下であることを表します。
FLOAT(M,D)
また VARCHAR タイプは可変長の文字列です。カッコ内の文字数の長さは、バイトを表す 0から65,535の値で指定します。
詳しくはMySQLのマニュアルをご覧ください。
(1)MySQLのバージョン、言語ごとにマニュアルが用意されています。
http://dev.mysql.com/doc/#manual
(2)以下の部分にデータタイプに関連する情報があります。
http://dev.mysql.com/doc/refman/5.1/ja/data-types.html
10.1.1. 数値タイプの概要
10.4.1. CHAR と VARCHAR タイプ
マニュアルの量は多いので、とりあえず自分に関係がある部分だけ読むといいと思います。必要になった時にじっくり読んでください。
MySQL初心者入門講座
【質問】
テーブルを作成するSQL文についてですが、()カッコ内の 3 や 10 という数字は何を表し、どのように決めるものなのでしょうか?
CREATE TABLE T01Prefecture (
PREF_CD INT(3),
PREF_NAME VARCHAR(10),
PRIMARY KEY (PREF_CD)
);
【回答】
カッコ内の数字は以下のような意味になります。
・INT タイプの場合は最大ディスプレイ幅
・VARCHAR タイプの場合は格納したい最大文字数
注意点としては INT タイプの場合、ディスプレイ幅と許容値幅とは別だということです。
INT(M)
例えば INT タイプの範囲は -2147483648 から 2147483647 ですが、これはディスプレイ幅とは別です。ディスプレイ幅のMは省略できます。範囲のほうが重要です。
同じ数値タイプでも FLOAT と DOUBLE タイプの場合は、合計で M 桁まで格納でき、そのうちの D 桁は小数点以下であることを表します。
FLOAT(M,D)
また VARCHAR タイプは可変長の文字列です。カッコ内の文字数の長さは、バイトを表す 0から65,535の値で指定します。
詳しくはMySQLのマニュアルをご覧ください。
(1)MySQLのバージョン、言語ごとにマニュアルが用意されています。
http://dev.mysql.com/doc/#manual
(2)以下の部分にデータタイプに関連する情報があります。
http://dev.mysql.com/doc/refman/5.1/ja/data-types.html
10.1.1. 数値タイプの概要
10.4.1. CHAR と VARCHAR タイプ
マニュアルの量は多いので、とりあえず自分に関係がある部分だけ読むといいと思います。必要になった時にじっくり読んでください。
スポンサードリンク

