プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • MySQL
  • 【MySQL】データ型の種類
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【MySQL】データ型の種類

08.01

  • miyabisan2
  • コメントを書く

この記事は2分で読めます

MySQLにおけるデータ型は基本的に三つです。

  • 数値型
  • 文字型
  • 日付型

数値型

整数型

基本的にはINT型を抑えておくと良いでしょう。

データ型 値の範囲 UNSIGNED ZEROFILL
TYNYINT(m) 整数型(1バイト) -128〜127 0〜255 000〜255
SMALLINT(m) 整数型(2バイト) -32768〜32767 0〜65536 00000〜65536
MEDIUMINT(m) 整数型(3バイト) -8388608〜8388607 0〜16777215 0000000〜16777215
INT(m) 整数型(4バイト) -2147483648〜2147483647 0〜4294967295 0000000000〜4294967295
BIGINT(m) 整数型(8バイト) -92233720368〜92233720367 0〜18446744073709551615 00000000000000000000〜18446744073709551615

UNSIGNED

マイナス方向の数値範囲をプラス方向に全て持っていくオプションです。

ZEROFILL

0埋めできるオプションです。UNSIGNEDと同じようにマイナスの値は使えません。

浮動小数点型

多くの場合はFLOAT型を使っておけば汎用性が高く問題ありません。

データ型 値の範囲
FLOAT 単精度浮動小数点型 -3.402823466E+38〜3.402823466E+38
DOUBLE 倍精度浮動小数点型 -1.7976931348623157E+308〜1.7976931348623157E+308
FLOAT(m,d) 単精度浮動小数点型 m:整数の桁数、1〜255桁、n:小数の桁数、0〜30桁まで指定可能
DOUBLE(m,d) 倍精度浮動小数点型  m:整数の桁数、1〜255桁、n:小数の桁数、0〜30桁まで指定可能

文字型

基本的には文字列を格納する項目に関してはVARCHARを使えば良いでしょう。

データ型 値の範囲
CHAR(m) 固定長文字列 m(文字数指定):0〜255文字
VARCHAR(m) 可変長文字列 m(バイト数):0〜65535バイト
TYNYTEXT テキスト型 0〜255バイト(固定)
TEXT テキスト型 0〜65535バイト(固定)
MEDIUMTEXT テキスト型 0〜16777215バイト(固定)
LONGTEXT テキスト型 0〜4294967295バイト(固定)

日付型

データ型 基本フォーマット 備考
DATE 日付型 'YYYY-MM-DD'
DATETIME 日付時刻型 'YYYY-MM-DD HH:MM:SS'
TIMESTAMP 日付時刻型 'YYYY-MM-DD HH:MM:SS'
TIME 時刻型 'HH:MM:SS'
YEAR[4] 日付型(4桁年) 'YYYY' 1901〜2155または0000が設定可能
YEAR[2] 日付型(2桁年) 'YY' 70〜69が設定可能(1970〜2069を指す)

DATETIME型

サポートされてる時間の範囲

1
'1000-01-01 00:00:00' ~ '9999-12-31 23:59:59'

create文

1
2
3
4
5
CREATE TABLE datetime_tb (
    id int NOT NULL AUTO_INCREMENT,
    insertDate datetime DEFAULT NULL,
    PRIMARY KEY (id)
);

insert文

1
2
INSERT INTO datetime_tb (insertDate) VALUE ('2021-10-23 19:16:30');
INSERT INTO datetime_tb (insertDate) VALUE (NOW()); // 現在の日付

TIMESTAMP型

サポートされている時間の範囲

UNIX時間しかサポートしていない。

1
'1970-01-01 00:00:01' UTC ~ '2038-01-19 03:14:07' UTC

スポンサーリンク
  • 2020 08.01
  • miyabisan2
  • コメントを書く
  • MySQL
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2020 01.18

    【Docker】MySQLのコンテナに接続して基本操作する手順(Railsの場合)

  2. 2020 08.01

    【MySQL】基本、初期設定(DB作成等)

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【MySQL】基本、初期設定(DB作成等)

【DBスペシャリスト】スーパータイプ、サブタイプ

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー