【MySQL】基本のデータ型と関数
こんにちは😊Kintarouです。
現在エンジニア転職を目指してプログラミング学習中です👨🎓
夢はフリーランスエンジニアになって働く人にとって働く事が楽しくなるシステムを作ること!
と、愛する妻と海外移住すること🗽
プログラミングや読んでいる本のことなど、ブログに書いていきます!
twitter : https://twitter.com/ryosuke_angry
今回参考にさせて頂いたサイト様🙇♂️ dotinstall.com
データ型
MySQLのデータ型について触れていきます。
下記以外にも型はありますが、主なものを載せていきます。
数値
データ型 | 値 |
---|---|
TINYINT | -128〜127 |
INT | -21億〜21億 |
BIGINT | −922京〜922京 |
TINYINT UNSIGNED | 0〜255 |
INT UNSIGNED | 0〜42億 |
BIGINT UNSIGNED | 0〜1844京 |
DECIMAL | 固定小数点 |
FLOAT | 浮動小数点 |
DOUBLE | 浮動小数点(高精度) |
数値の関数
数値関連の関数もまとめます。
関数名 | 処理 |
---|---|
FLOOR() | 端数切り捨て |
CEIL() | 端数切り上げ |
ROUND() | 四捨五入 |
文字列
データ型 | 値 |
---|---|
CHAR | 0〜255文字 |
VARCHAR | 0〜65535文字 |
TEXT | 65536文字以上 |
ENUM | 特定の文字列の内1つの値 |
SET | 特定の文字列の内複数の値 |
ENUMとSET補足
ENUMとSETに関しては具体例を出します。
CREATE TABLE posts ( id INT AUTO_INCREMENT, message VARCHAR(140), category ENUM('Gadget','Game','Buisiness'), PRIMARY KEY(id) ); INSERT INTO posts (message, category) VALUES ('post1', 'Gadget'), ('post2', 2), ('post3', 3); SELECT * FROM posts;
上記のようにあらかじめ文字列群を指定しておき、その中の1つという意味になります。
この際、'Game'や'Buisiness'のようにインデックス番号を指定する事もできます。
インデックス番号は0からではなく1からになっている点に注意です。
SETについても補足します。
DROP TABLE IF EXISTS posts; CREATE TABLE posts ( id INT AUTO_INCREMENT, message VARCHAR(140), category SET('Gadget','Game','Buisiness'), PRIMARY KEY(id) ); INSERT INTO posts (message, category) VALUES ('post1', 1), ('post2', 2), ('post3', 3), ('post4', 4), ('post5', 6), ('post6', 7); SELECT * FROM posts;
SETの場合インデックス番号が2の0乗(1)、2の1乗(2)、2の2乗(4)、となっていきます。
複数の値を入れられるのですが、インデックス番号1と2の場合は足した3を入れます。
例)post3 → 3(インデックス番号1(Gadget)、インデックス番号2(Game))
文字列の関数
関数名 | 処理 |
---|---|
SUBSTRING() | n番目以降を切り出す |
CONCAT() | 文字列を連結させる |
LENGTH() | 文字数を出力する |
CHAR_LENGTH() | 文字数を出力。漢字・ひらがな・カタカナ・マルチバイト文字も1文字に認識 |
真偽値
データ型 | 値 |
---|---|
BOOL | TRUE/FALSE |
TINYINT(1) | 1/0 |
日時
データ型 | 値 |
---|---|
DATE | 日付 |
TIME | 時間 |
DATETIME | 日時 |
日時の関数
関数名 | 処理 |
---|---|
NOW() | 現在の日時を返す |
YEAR() | 日付データから年を抜き出す |
MONTH() | 日付データから月を抜き出す |
DAY() | 日付データから日を抜き出す |
DATE_FORMAT() | 日付データを指定のフォーマットで出力 |
DATE_ADD | 指定の日付から○日後などを出力 |
DATEDIFF | 指定の日付2つの差を計算する |
以上、どなたかの参考になれば幸いです😊