CREATE TABLE で新しいテーブルを作成する
MySQL で新しいテーブルを作成するには CREATE TABLE 文を使う。
いろんなオプションが指定できるが、一番基本の CREATE 文の構文は下記になる。
CREATE TABLE テーブル名 (
カラム名1 データ型 [NOT NULL | NULL],
カラム名2 データ型 [NOT NULL | NULL],
カラム名3 データ型 [NOT NULL | NULL],
....
);
CREATE TABLE SAMPLE_3_1_1 (
ID INT NOT NULL PRIMARY KEY COMMENT 'ペットID' ,
NAME VARCHAR(30) NOT NULL COMMENT '名前' ,
GENDER CHAR(1) NOT NULL COMMENT '性別(男:M/女:F)' ,
BIRTHDAY DATE NOT NULL COMMENT '生年月日' ,
WEIGHT DECIMAL(4,1) COMMENT '体重' ,
REGIST_TIMESTAMP DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '登録日時'
);
INSERT 文でデータを 1 行挿入する
MySQL でテーブルにデータを挿入するには INSERT 文を使う。
1 レコードを挿入する、基本の INSERT 文の構文は次の通り。
INSERT INTO テーブル名
(カラム名1, カラム名2, カラム名3, ...)
VALUES
(値1, 値2, 値3, ...);
INSERT INTO SAMPLE_3_1_1 (ID , NAME , GENDER , WEIGHT , REGIST_TIMESTAMP )
VALUES (6 , 'ERA' , 'M' , 10.9 , '2020-08-01 00:00:00' ) ;
カラム1 に値1 が、カラム2 に値2 が、と順番に挿入される。
NULL のカラムや、NOT NULL でもデフォルト値の指定されているカラムや AUTO_INCREMENT が指定されているカラムは指定しなくてもよい。
UPDATE 文でテーブルのデータを更新する
MySQL でテーブルのデータを更新するには UPDATE 文を使る。
テーブルのレコードを更新する、基本の UPDATE 文の構文は次の通り。
UPDATE テーブル名
SET カラム名1 = 値1,
カラム名2 = 値2,
カラム名3 = 値3,
...
WHERE 条件文;
PDATE SAMPLE_3_1_1
SET NAME = 'MOCOMOCO' ,
WEIGHT = 4.5
WHERE ID = 1 ;
条件文に合致するレコードのカラム1 の値が値1 に、カラム2 は値2 に ... と更新される。
デフォルトでは Safe Updates モードが有効化されていて、WHERE 句をつけなかったり、WHERE 句の条件文にキーカラムを使わないとエラーになる。
WHERE 句は必須ではないが、WHERE 句をつけないと、Safe Updates モードを OFF にしている場合は、テーブルの全レコードが更新されるのでお気をつける。
DELETE 文でテーブルのデータを削除する
MySQL でテーブルのデータを削除するには DELETE 文を使う。
テーブルのレコードを更新する、基本の DELETE 文の構文は次の通り。
DELETE
FROM テーブル名
WHERE 条件文;
DELETE FROM SAMPLE_3_1_1
WHERE ID = 2 ;
テーブルの条件文に合致するレコードを削除する。
デフォルトでは Safe Updates モードが有効化されていて、WHERE 句をつけなかったり、WHERE 句の条件文にキーカラムを使わないとエラーになる。
WHERE 句は必須ではありませんが、WHERE 句をつけないと、Safe Updates モードを OFF にしている場合は、テーブルの全レコードが削除されるので気をつける。
DELETEの特徴
- 条件付き削除が可能
- 処理スピードが速い
- DML(データ操作言語)
- やり直し(ROLLBACK)できる
- DELETE権限が必要
- ログや処理情報が残る
ALTER TABLE でテーブルにカラムを追加する
シンプルに ALTER TABLE を使ってテーブルに新しいカラムを追加するには、ALTER TABLE と ADD [COLUMN] を使った、次のようなスクリプトを実行します。
ALTER TABLE テーブル名
ADD [COLUMN] カラム名 データ型 [NOT NULL | NULL];
//カラムの追加
ALTER TABLE SAMPLE_3_1_1
ADD COLOR VARCHAR(15) NOT NULL DEFAULT 'WHITE' COMMENT '毛色' AFTER WEIGHT ;
//カラム名の変更
ALTER TABLE SAMPLE_3_1_1
RENAME COLUMN COLOR TO FUR_COLOR ;
//カラム定義(型+オプション)の変更
ALTER TABLE SAMPLE_3_1_1
MODIFY FUR_COLOR VARCHAR(30) DEFAULT 'BROWN' ;
//カラム名+カラム定義(型+オプション)の変更
ALTER TABLE SAMPLE_3_1_1
CHANGE FUR_COLOR DOGS_FUR_COLOR VARCHAR(30) NOT NULL DEFAULT 'BROWN' COMMENT '犬の毛色' ;
TRUNCATEで表内のデータを全削除する
SQLのTRUNCATE文を使うことで、表内のデータを全削除することができる。
TRUNCATE TABLE テーブル名;
TRUNCATEの特徴
- 全件削除しかできない
- 処理スピードが速い
- DDL(データ定義言語)
- やり直し(ROLLBACK)できない
- DROP権限が必要
- ログや処理情報が残らない
DROP TABLE でテーブルを削除する
MySQL でテーブルを作成するには DROP TABLE 文を使う。
基本の DROP TABLE 文の構文は次の通り。
DROP TABLE テーブル名;
テーブル名をカンマで続けて、複数のテーブルを同時に削除することもできる。
参考サイト
【SQL】未経験者もこれ一本でOK!MySQLで学ぶ「SQL」「データベース基礎」講座【プログラミング初心者向け】
MySQL