テーブルの作成 CREATE TABLE
テーブルの作成はCREATE TABLE テーブル名 ( );
で、括弧内には追加したいカラムを入れます。
カラムは、カラム データの型,
をセットで並べます。
NOT NULLなどの制約がある場合は、その後に追加します。
CREATE TABLE テーブル名 (
カラム1 INTEGER,
カラム2 VARCHAR(40) NOT NULL,
カラム3 DATE,
PRIMARY KEY (カラム1)
);
テーブル作成時のデータの型
- 数値型:
- INT: 整数値 (範囲: -2147483648 ~ 2147483647)
- BIGINT: 大きな整数値 (範囲: -9223372036854775808 ~ 9223372036854775807)
- FLOAT: 浮動小数点数 (単精度)
- DOUBLE: 浮動小数点数 (倍精度)
- 文字列型:
- CHAR(n): 固定長文字列 (最大長: n)
- VARCHAR(n): 可変長文字列 (最大長: n)
- TEXT: 長文テキスト
- 日付/時刻型:
- DATE: 日付 (形式: ‘YYYY-MM-DD’)
- TIME: 時刻 (形式: ‘HH:MM:SS’)
- DATETIME: 日付と時刻 (形式: ‘YYYY-MM-DD HH:MM:SS’)
- TIMESTAMP: タイムスタンプ (形式: ‘YYYY-MM-DD HH:MM:SS’)
- ブール型:
- BOOLEAN: 論理値 (true/false)
- その他の型:
- BLOB: バイナリデータ
- ENUM: 列挙型 (指定された値のいずれかを持つ)
これらは一部であり、MySQLには他にも多くのデータ型があります。
テーブル作成時の制約
- 主キー制約(PRIMARY KEY): テーブル内の各レコードを一意に識別するための列を指定します。主キー制約では、重複値やNULL値を持つことはできません。
- ユニーク制約(UNIQUE): 列に一意の値を持つことを要求します。ただし、NULL値は複数の行で許容されます。
- NOT NULL制約: 列にNULL値を許容しないことを指定します。
- 外部キー制約(FOREIGN KEY): 他のテーブルの主キーと関連付けられる列を指定します。外部キー制約は、データの整合性を維持するために使用されます。
- デフォルト制約(DEFAULT): 列にデフォルト値を指定します。行が挿入される際に値が指定されなかった場合、デフォルト値が使用されます。
- CHECK制約: 列に対して特定の条件を指定します。条件に合致しない値の挿入や更新を制限することができます。
テンポラリテーブル(Temporary Table)の作成
テンポラリテーブル(Temporary Table)は、一時的にデータを格納するための特殊なテーブルです。
テンポラリテーブルは、一時的なデータ処理やセッション固有のデータを保存することができ、テーブル数が必要以上に増えるのを防いでくれます。
また、ウェブアプリケーションでの一時的なセッション情報や、キャッシュデータを格納する場合などにも使われています。
テンポラリテーブルの作成は、CREATE TEMPORARY TABLE テーブル名( );
を使い、その他は通常のテーブル作成と同様です。
CREATE TEMPORARY TABLE テーブル名 (
カラム1 INTEGER,
カラム2 VARCHAR(40) NOT NULL,
カラム3 DATE,
PRIMARY KEY (カラム1)
);
MySQLテーブルのカラム・データ追加
カラムの追加
作成したテーブルに、新しいカラムを追加したい時は、下記のコードを使います。
ALTER TABLE テーブル名 ADD [カラム名] [データ型];
任意のカラムの後に追加したい場合は、AFTER 追加したい位置の前のカラム名を追加します。
ALTER TABLE テーブル名 ADD [カラム名][データ型]
AFTER [追加したい位置の前のカラム名];
ALTER TABLE 食品 ADD 食品名カナ VARCHAR(40)
AFTER 食品名;
データの追加
INSERT INTO テーブル名 ([カラム名1], [カラム名2], …) VALUES
([値1], [値2] ,…);
INSERT INTO 家計簿 (No, 日付, 項目, 品名, 金額) VALUES
(3, '2022-4-29', '食費', 'じゃがいも', 200);
まとめてデータを追加する場合
INSERT INTO 家計簿 (No, 日付, 項目, 品名, 金額) VALUES
(4, '2022-4-29', '食費', 'じゃがいも', 200),
(5, '2022-4-29', '娯楽', '映画', 2000),
(6, '2022-4-30', '食費', '豚肉', 300),
(7, '2022-4-30', '食費', '人参', 150);
MySQLのテーブルカラム・データ削除
カラムの削除
テーブルのカラムを削除する場合は、ALTER TABLE テーブル名 DROP COLUMN [カラム名];
を使います。
ALTER TABLE 家計簿
DROP COLUMN 概要,
DROP COLUMN 分類;
データの削除
DELETE FROM [テーブル名] WHERE [条件式];
DELETE FROM 家計簿 WHERE No > 3;
DELETE FROM 家計簿 WHERE 品名 = '人参' OR 品名 = 'じゃがいも';
MySQLのテーブルカラム・データ変更
カラムの変更
作成したテーブルのカラムの内容(定義など)を変更するときは、下記コードを使います。
ALTER TABLE テーブル名 MODIFY( [カラム名1] [変更内容1], [カラム名2] [変更内容]2);
ALTER TABLE 顧客 MODIFY(
住所 VARCHAR(60),
電話番号 VARCHAR(13)
);
データ変更
UPDATE [テーブル名] SET [カラム名1] = [値1], [カラム名2] = [値2] WHERE [条件式];
UPDATE 家計簿 SET 金額 = 200 WHERE 品名 = '人参';