【create table】
テーブルを作る
create table テーブル名(列名 形,列名 形)
【SELECT】
指定したテーブルのデータを検索、取得します。
*(アスタリスク)で指定した場合、全てのフィールドのデータを取得します。
*(アスタリスク)で指定した場合、全てのフィールドのデータを取得します。
・全てのフィールドの値を取得する場合
SELECT * FROM テーブル WHERE 条件式 AND 条件式;
・取得するフィールドを指定する場合
SELECT フィールド1, フィールド2, フィールド3 FROM テーブル WHERE 条件式 AND 条件式;
【INSERT】
指定したテーブルにデータを追加します。
INSERT INTO テーブル (フィールド1, フィールド2, フィールド3) VALUES (フィールド1の値, フィールド2の値, フィールド3の値);
【UPDATE】
条件式で一致したデータを更新します。
UPDATE テーブル SET フィールド = 値, フィールド = 値 WHERE 条件式 AND 条件式;
【DELETE】
条件式で一致したデータを削除します。
DELETE FROM テーブル WHERE 条件式 AND 条件式;
データ型
データ型とは、フィールドにどのようなデータを格納するのかを示すものです。カラム型、フィールド型とも呼ばれます。
フィールドにデータ型を指定することで、データの格納や管理が効率的に行えるようになります。
数値型
整数や少数、浮動小数点数を格納するときに指定する型です。
数値型は、商品の価格や数量、整理番号などを管理するフィールドに用います。
型名 | 値の範囲 | UNSIGNEDを付与した場合の範囲 |
---|---|---|
TINYINT | -128~+127 | 0~+255 |
SMALLINT | -32768~+32767 | 0~+65535 |
MEDIUMINT | -8388608~+8388607 | 0~+16777215 |
INT | -2147483648~+2147483647 | 0~+4294967295 |
BIGINT | -9223372036854775808~+9223372036854775807 | 0~+18446744073709551615 |
FLOAT(M.D) | -3.402823466E+38 ~ -1.175494351E-38, 0, 1.175494351E-38 ~ 3.402823466E+38 | 負数は使用不可 |
DOUBLE(M.D) | -1.7976931348623157E+308 ~ -2.2250738585072014E-308, 0, 2.2250738585072014E-308 ~ 1.7976931348623157E+308 | 負数は使用不可 |
DECIMAL(M.D) | MとDで変化する | なし(利用不可) |
※「UNSIGNED」はデータ型に対して付与するもので、負の値の挿入を許可しない場合に用います。
※Mは表示幅、DはDecimalという意味で小数点以下の桁数を表します。マイナス記号も一文字としてカウントされます。
DECIMALの例
例 | 値の範囲 |
---|---|
DECIMAL(4,1) | -999.9 ~ +9999.9 |
DECIMAL(5,1) | -9999.9 ~ +99999.9 |
DECIMAL(6,1) | -99999.9 ~ +999999.9 |
DECIMAL(6,2) | -9999.99 ~ +99999.99 |
DECIMAL(6,3) | -999.999 ~ +9999.999 |
使い分け
整数のみしか格納しない場合は、TINYINT()、INT()、BIGINT()を使用します。
どれを使用するかは、格納するデータの大きさで決めます。
TINYINTについて
TINYINT()は、UNSINGEDを指定することで0~255というRGBカラーコードやIPアドレスに使用される範囲になりますので、これらのデータを格納するときはTINYINT()を指定するのがよいです。
注意
金額を格納するフィールドに整数のみしか格納できないINT()などの型を指定するときは注意が必要です。
日本円は一般的に小数点以下を使用しないので、INT()やBIGINT()を指定しがちですが、為替相場などでは「銭」の単位が使用されるからです。このような場合は浮動小数が格納できるFLOAT()、DOUBLE()、DECIMAL()などの型を指定します。
文字型
固定長の文字列の他、可変長の文字列、選択式の文字列、バイナリデータなどを格納できます。
一番多く使用されるのは、CHARとVARCHARです。
型名 | 値の範囲(バイト) | 挿入に必要なサイズ |
---|---|---|
CHAR(M) | 255 | Mバイト |
VARCHAR(M) | 255 | X+1バイト |
TINYBLOB | 255 | X+1バイト |
BLOB | 65535 | X+2バイト |
MEDIUMBLOB | 16777215 | X+3バイト |
LONGBLOB | 4294967295 | X+4バイト |
TINYTEXT | 255 | X+1バイト |
TEXT | 65535 | X+2バイト |
MEDIUMTEXT | 16777215 | X+3バイト |
LONGTEXT | 4294967295 | X+4バイト |
ENUM("選択肢1","選択肢2",・・・) | 65535 選択肢 | 1~2バイト |
SET("選択肢1","選択肢2",・・・) | 64選択肢 | 1/2/4/8バイト |
使い分け
基本的には、VARCHAR型もしくはTEXT型を文字列の長さによって使い分ければよいと思います。
CHAR型とVARCHAR型の違い
CHAR型の場合、CHAR(10)とすると、それに「ABC」という文字列を挿入しても消費容量は10バイトとなります。
一方、VARCHAR型の場合、VARCHAR(10)とすると、それに「ABC」という文字列を挿入すると消費容量は3バイト(正確には4バイト)となります。
なお、MySQLでは、ひとつのテーブルにCHAR型とVARCHAR型を混同して使うことはできません。
日付・時刻型
日付、時刻を格納するときに利用するデータ型です。
格納するデータに適したものを以下の5つの型から選択します。
型名 | フォーマット | 値の範囲 |
---|---|---|
DATE | YYYY-MM-DD | 1000-01-01 ~ 9999-12-31 |
TIME | HH:MM:SS | -838:59:59 ~ 838:59:59 |
DATETIME | YYYY-MM-DD HH:MM:SS | 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 |
TIMESTAMP | YYYY-MM-DD HH:MM:SS | 1970-01-01 00:00:01 ~ 2037-12-31 23:59:59 |
YEAR | YYYY | 1901 ~ 2155、そして 0000 (4桁の場合) 70 ~ 69 (2桁の場合、70は1970を表し69は2069を表す) ※デフォルトは4桁 |
0 件のコメント:
コメントを投稿