00メニュー > 01はじめてのMySQL > 02MySQLの基礎知識 > 03MySQLを使いこなす > 04MySQL+PHPの基礎 > 05MySQL+PHPの実践 > 06Appendix

05データ型とデータの入力(備忘録)→ > 01p > 02p > 03p > 04p > 05p > END

05 データ型とデータの入力

データベースの作成→テーブルの作成→データの挿入→データの確認、そしてテーブルを改造し、コピー、そして削除する方法です。
☆CHAPTER03⇒MySQLモニタ
☆CHAPTER04⇒データベースの作成
★CHAPTER05⇒データ型とデータの入力
☆CHAPTER06⇒テーブルを改造する
☆CHAPTER07⇒テーブルやレコードをコピー・削除する

★CHAPTER05⇒データ型とデータの入力(p57)★

データベースは、1度カラムを設定すると、後から変更するのが面倒です。ここで、MySQLで設定することのできる代表的なデータ型と、それぞれのデータの入力方法をまとめます。

(1)《データ型とは》

(2)《数値型》

(2-1)数値型の種類

●主な数値型データ型p58

データ型→意味→対応している範囲
INT→右の範囲の整数→-2147483648~2147483647
TINYINT→とても小さな整数→-128~-127
SMLLINT→小さな整数→-32768~32767
MEDIUMINT→中ぐらいに整数→-8388608~8388607
BIGINT→大きい整数→ -9223372036854775808~9223372036854775807
FLOAT→単精度浮動小数点→-340282346E+38~1.175494351E-38
DOUBUE→倍精度浮動小数点→1.7976931348623157E+308~2.2250738585072014E-308

(2-2)数値データの入力

(3)《文字列型》

(3-1)文字列型の種類

●主な文字列のデータ型p59

データ型→意味→対応している範囲
CHAR→固定長の文字列→255文字まで
VARCHAR→可変長の文字列→255文字まで
TEXT→長い文字列→65535文字まで
LONGTEXT→とても長い文字列→4294967295文字まで

(3-2)文字列の入力

(3-3)VARCHARとCHARの桁数単位

(3-4)5Cコード問題への対処

(4)《日付・時刻型》

(4-1)日付・時刻型の種類

●主な日付・時刻型のデータ型p61

データ型→意味→対応している範囲
DATETIME→日付と時刻→1000-01-01 00:00:00~9999-12-31 23:59:59
DATE→日付→1000-01-01~9999-12-31
YEAR→年→1901~2155(4桁のとき) 1979~2069(70~69)(2桁のとき)
TIME→時刻→-838:59:59~838:59:59

(4-2)日付・時刻型データの入力

●実行される内容 p62

●操作手順

①次のように入力し、「hizuke」テーブルを作成する。
CREATE TABLE hizuke (a DATE);
②次のように入力し、日付型データを作成する。
INSERT INTO hizuke (a) VALUES('2010-3-19');
SELECT * FROM hizuke;

●実行結果

mysql> USE db1;
Database changed
mysql> CREATE TABLE hizuke (a DATE);
Query OK, 0 rows affected (0.28 sec)

mysql> INSERT INTO hizuke (a) VALUES('2010-3-19');
Query OK, 1 row affected (0.05 sec)

mysql> SELECT * FROM hizuke;
+------------+
| a |
+------------+
| 2010-03-19 |
+------------+
1 row in set (0.00 sec)

mysql>

<まとめ>

●データ型とはどのようなものなのか
●設定できるデータ型の種類
●カラムのデータ型を設定する方法

<チェック>

□代表的なデータ型の種類と意味がわかる
□INTやDOUBLEなど、数値型のカラムを持つテーブルが作れる
□VARCHARやCHARなど、文字列のカラムを持つテーブルが作れる
□DATETIMEやYEARなど、日付時刻型のカラムを持つテーブルが作れる

<練習問題>

問題1
「年月日時分秒」の値が保存でいるカラム「hizu」を持つテーブル「hizu_ziko」を作成して下さい。
さらに、「2010年3月19日20時35分15秒」の値をカラムhizuに挿入して下さい。
問題2
MySQLモニタのプロンプトを「現在のデータベース名:ホスト名>」の表示に設定してください。

<解答>

問題1
CREATE TABLE hizu_ziko (hizu DATETIME);
INSERT INTO hizu_ziko VALUES('2010-3-19 20:35:15');
SELECT * FROM hizu_ziko;

【実行結果】

mysql> CREATE TABLE hizu_ziko (hizu DATETIME);
Query OK, 0 rows affected (0.17 sec)

mysql> INSERT INTO hizu_ziko VALUES('2010-3-19 20:35:15');
Query OK, 1 row affected (0.00 sec)

mysql> SELECT * FROM hizu_ziko;
+---------------------+
| hizu |
+---------------------+
| 2010-03-19 20:35:15 |
+---------------------+
1 row in set (0.00 sec)

mysql>

問題2
prompt \d:\h>

【実行結果】

mysql> prompt \d:\h>
PROMPT set to '\d:\h>'
db1:localhost>