MySQLあれこれ

  • このエントリーをはてなブックマークに追加
  • Pocket

MySQLの構文やらSQLやらいろいろのまとめ。

ダンプの取得やリストア、よく使うものをピックアップ。

SQL

更新

単純なupdate.

日付期間

関数

AUTO_INCREMENTで挿入された最後の値を返す。

ユーザ操作

ユーザ確認

ユーザ追加(権限ユーザ)

パスワード変更

ユーザ削除

DB操作

バックアップ & 圧縮 (1DB)

複数バックアップ

DB全部バックアップ

テーブルをロックしないでバックアップ

ダンプからリストア

テーブル操作

削除

よく使うデータ型

数値のデータ型

データ型 最小値 最大値 サイズ
TINYINT -128 127 1バイト
TINYINT UNSIGNED 0 255 1バイト
BOOL(TINYINT(1))      
SMALLINT -32768 32767 2バイト
SMALLINT UNSIGNED 0 65535 2バイト
MEDIUMINT -8388608 8388607 3バイト
MEDIUMINT UNSIGNED 0 16777215 3バイト
INT -2147483648 2147483647 4バイト
INT UNSIGNED 0 4294967295 4バイト
BIGINT -9223372036854775808 9223372036854775807 8バイト
BIGINT UNSIGNED 0 18446744073709551615 8バイト
FLOAT -3.402823466E+38 3.402823466E+38 4バイト
FLOAT UNSIGNED 0 3.402823466E+38 4バイト
DOUBLE -1.7976931348623157E+308 1.7976931348623157E+308 8バイト
DOUBLE UNSIGNED 0 1.7976931348623157E+308 8バイト

データ型の属性

ユーザーIDなどを割り当てる場合は、BIGINT型を使ったりするのだが、SQL文では以下のように使う。

MySQLの文字列のデータ型

データ型 格納サイズ 説明
VARCHAR 65535文字(65535 byte) 可変長のテキスト、長い場合にはtextを使用すること。
CHAR 255文字(765 byte) 固定長のテキスト。データが入っていない部分は空白文字で埋められる。
TINYTEXT 256 byte  
TEXT 65,535 byte (64Kb)  
MEDIUMTEXT 16,777,215 byte (16Mb)  
LONGTEXT 4,294,967,295 byte (4Gb)  

MySQLの日付型のデータ型

データ型 格納サイズ 説明
DATE 3バイト YYYY-MM-DDという形式で格納される。
DATETIME 8バイト YYYY-MM-DD HH:MM:SSという形式で格納される。
TIME 3バイト HH:MM:SSという形式で格納される。
TIMESTAMP 4バイト YYYYMMDDHHMMSSという形式で格納される。UNIXでよく使われるタイムスタンプ型。

それぞれZEROFILLオプションを指定可能。

設定すると最上位の桁から0で埋まる。
(例:INT型の場合は123、INT ZEROFILLの場合は0000000123)

なおZEROFILLオプションを付けると自動的にUNSIGNEDオプションが付く(負の数では使えない)。

TINYINT、SMALLINT、INT、BIGINTは精度を指定可能。
(例:INT(precision))

FLOATとDOUBLEは精度と位取りを指定可能
(例:DOUBLE(precision, scale))

引数 説明
precision 精度。
数字全体の有効桁数
scale 位取り。
最大で30までで、precision-2以下である必要がある

例:123.4 -> 精度4、位取り1

  • M:最大表示サイズを表す。正式な最大表示サイズは 255
  • D:小数点型に適用され、小数点以下の桁数を表す。最大値は 30 だが、M-2 より大きくしないようにする
  • 角かっこ('[‘ と ‘]’)は、オプションの型指定子の一部であることを表す
  • カラムに対して ZEROFILL を指定すると、そのカラムに UNSIGNED 属性が自動で追加される
  • 整数値の減算で、どちらか一方の整数値が UNSIGNED 型の場合、結果の値は符号なしになる

属性

属性 説明
PRIYMARY KEY テーブル内で、一つの列だけしか指定することができない。
主キー。ユーザーIDなどに使われる。
AUTO_INCREMENT 行が挿入された時、自動的にインクリメントする。
最初は1が挿入され、それ以降その前に追加された値の+1が入る。
たとえば、この属性で指定された列に1という値が入っていた行が削除されても、
次に新しい行を挿入する場合、その列に挿入される値は2になる。
UNSIGNED

この属性を追加すると、符号なしのデータ型になる。
TINYINT型の場合、符号ありの数値の範囲は-128から127だが、符号なしの場合0から255となる。

DEFAULT

初期値を指定する。
「DEFAULT “初期値”」と指定するとこの列に何も値を入力しないで行を追加した時、
その列に”初期値”と値が入る。

  • このエントリーをはてなブックマークに追加
  • Pocket

SNSでもご購読できます。

コメントを残す

*