【MySQL】すべての行のDATETIME型カラムに現在の日付を一括設定するクエリ
MySQLでは、CURDATE()関数とUPDATE文を組み合わせることで、テーブル内のすべての行のDATETIME型カラムに現在の日付を一括で設定できます。この記事では、具体的な手順をサンプルコード付きで解説します。
サンプルテーブルの作成
まず、DATETIME型のカラムを持つテーブルを作成します。
mysql> create table DemoTable821(AdmissionDate datetime);
Query OK, 0 rows affected (1.24 sec)
テストデータの挿入
続いて、INSERT文を使ってテーブルに複数のレコードを挿入します。
mysql> insert into DemoTable821 values('2019-01-21');
Query OK, 1 row affected (0.08 sec)
mysql> insert into DemoTable821 values('2018-11-02');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable821 values('2016-12-31');
Query OK, 1 row affected (0.30 sec)
mysql> insert into DemoTable821 values('2015-03-19');
Query OK, 1 row affected (0.17 sec)現在のレコードを確認する
SELECT文ですべてのレコードを表示してみましょう。
mysql> select *from DemoTable821;
上記のクエリを実行すると、次のような出力が得られます。
+---------------------+
| AdmissionDate |
+---------------------+
| 2019-01-21 00:00:00 |
| 2018-11-02 00:00:00 |
| 2016-12-31 00:00:00 |
| 2015-03-19 00:00:00 |
+---------------------+
4 rows in set (0.00 sec)
すべての行を現在の日付に更新するクエリ
DATETIMEフィールドに現在の日付を設定するには、以下のようにCURDATE()関数を使ったUPDATE文を実行します。
mysql> update DemoTable821 set AdmissionDate=CURDATE();
Query OK, 4 rows affected (0.74 sec)
Rows matched: 4 Changed: 4 Warnings: 0
補足: CURDATE()とNOW()の違い
NOW()関数を使うと、現在の日付に加えて現在の時刻も設定されます。日付のみを設定し、時刻を「00:00:00」にしたい場合は、CURDATE()(またはCURRENT_DATE)を使用してください。
更新結果の確認
もう一度SELECT文でテーブルの内容を確認しましょう。
mysql> select *from DemoTable821;
実行すると、次の出力が得られます。
+---------------------+
| AdmissionDate |
+---------------------+
| 2019-08-03 00:00:00 |
| 2019-08-03 00:00:00 |
| 2019-08-03 00:00:00 |
| 2019-08-03 00:00:00 |
+---------------------+
4 rows in set (0.00 sec)
このように、WHERE句を付けずにUPDATE文を実行することで、テーブル内のすべての行のAdmissionDateカラムが、実行日の「2019-08-03」に一括更新されました。特定の行だけを更新したい場合は、WHERE句で条件を指定してください。
-
MySQLで列にENUM型を設定する方法
```html MySQLでは、テーブルを作成する際に、あらかじめ決められた文字列のリストから値を選ばせたい列に対してENUM型を設定できます。ENUMは、指定した候補値以外のデータが登録されるのを防ぎたい場合に便利なデータ型です。ここでは、実際にテーブルを作成しながら基本的な使い方を見ていきましょう。ENUM型を含むテーブルを作成するまず、学生の点数と合否ステータスを管理するテーブルを作成します。「StudentStatus」列には「First」「Second」「Fail」の3つの値のみを許可するENUM型を設定しています。mysql> create table DemoTable20
-
MySQLクエリで列名にエイリアス(別名)を設定する方法
MySQLでは、SELECT文を使って列名に「エイリアス(別名)」を設定できます。エイリアスを利用すると、出力結果の見出しをわかりやすい名前に変更でき、レポート作成やアプリケーションでのデータ表示が格段に読みやすくなります。列名にエイリアスを設定する基本構文SELECT yourColumnName1 anyAliasName1, yourColumnName2 anyAliasName2FROM yourTableName anyAliasName;このように、列名の後にスペースを空けて任意の別名を記述するだけで、その列の表示名がエイリアスに置き換わります。テーブル名にも同様にエイリアスを設