MySQLのデータ型確認はshow columnsで。データ型変更時には、外部キーに注意
  • facebookページ
  • twitterページ
  • 2020.01.30

    MySQLのデータ型確認はshow columnsで。データ型変更時には、外部キーに注意

    MySQLのデータ型についてまとめています。

    以下、MySQL8.0.19を前提に解説しています。また、データベースとして、MySQLのサンプルデータベースEmployeesを使っています。

    MySQLのデータ型の一覧

    MySQLには、数値型、日付・時間型、文字列型のデータ型があります。

    参考)MySQL :: MySQL 5.6 リファレンスマニュアル :: 11 データ型

    数値型

    • 整数型 (真数値)  INTEGER、INT、SMALLINT、TINYINT、MEDIUMINT、BIGINT
    • 固定小数点型 (真数値)  DECIMAL、NUMERIC
    • 浮動小数点型 (概数値)  FLOAT、DOUBLE
    • ビット値型  BIT

    日付・時間型の一覧

    • DATE、DATETIME、および TIMESTAMP 型
    • TIME 型
    • YEAR 型

    文字列型の一覧

    • CHAR および VARCHAR 型
    • BINARY および VARBINARY 型
    • BLOB 型と TEXT 型
    • ENUM 型
    • SET 型

    テーブルカラムのデータ型確認はshow columns

    カラムのデータ型を確認するshow columnsの構文は以下の通りです。

    employees(社員テーブル)のカラムのデータ型を確認してみましょう。

    like を使って、ワイルドカードによるテーブル指定も可能です。長いテーブル名を間違えずに打ち込むのが大変なときなどに、役立ちます。

    desc テーブル名でも、全く同様の出力になります。短くてタイプが楽ですが、likeによるワイルドカード指定はできません。

    また、mysqlshowコマンドでも、カラムのデータ型の確認が可能です。

    【関連記事】
    MySQLのデータベース一覧確認は、show databasesよりmysqlshowが便利

    データ型の変更は、alter table

    データ型の変更をおこなうSQLの構文は以下の通りです。

    変更前のテーブルemployees(社員テーブル)の各カラムのデータ型は以下の通りです。

    last_name(姓名の姓)のデータ型をvarchar(16)から、vachar(50)に変更してみましょう。

    NOT NULL制約が設定されているカラムに対してデータ型の変更を行うと、NOT NULL制約が解除されます。

    last_nameの「Null」の項目がNOからYESに変化しているのが確認できます。

    以下のように指定すると、NOT NULL制約を設定したままデータ型を変更可能です。

    なお、外部キー(foreign key)として設定されているカラムは、データ型の変更ができません。いったん外部キーを解除してから、変更を行いましょう。

    まとめ

    ポテパンダの一言メモ
    • MySQLのデータ型は、大別すると数値型、日付・時刻型、文字列型の3種類。
    • データ型を確認するには、show columns(SQL)や、mysqlshowコマンドを使う
    • データ型変更は、alter tableで可能


    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE