MySQLのYEAR型カラムに現在の年を自動的に挿入する方法
MySQLのYEAR型カラムに現在の年を挿入するには
MySQLでは、CURDATE() または NOW() 関数を使うことで、YEAR型のカラムに現在の年を簡単に挿入できます。どちらの関数も日付や日時を返しますが、YEAR型カラムに格納される際には年部分のみが保存されます。
CURDATE()を使った挿入例
CURDATE()は現在の日付(YYYY-MM-DD形式)を返す関数です。YEAR型カラムに挿入すると、年部分だけが自動的に抽出されて格納されます。
mysql> Insert into year1(Year_Copyright) values (CURDATE()); Query OK, 1 row affected, 1 warning (0.06 sec) mysql> Select * from year1; +----------------+ | Year_Copyright | +----------------+ | 2017 | | 2017 | +----------------+ 2 rows in set (0.00 sec)
NOW()を使った挿入例
NOW()は現在の日時(YYYY-MM-DD HH:MM:SS形式)を返しますが、こちらも同様にYEAR型カラムへは年の値のみが保存されます。
mysql> Insert into year1(Year_Copyright) values (NOW()); Query OK, 1 row affected, 1 warning (0.06 sec) mysql> Select * from year1; +----------------+ | Year_Copyright | +----------------+ | 2017 | | 2017 | | 2017 | +----------------+ 3 rows in set (0.00 sec)
注意点
実行結果に「1 warning」と表示されているのは、日付・日時の値がYEAR型に変換される際に情報が切り詰められる(データトランケーション)ためです。動作自体は問題ありませんが、警告が気になる場合は、YEAR(CURDATE()) のように明示的に年だけを取り出して挿入する方法もあります。
このように、CURDATE()とNOW()のどちらを使っても、MySQLが自動的に年部分のみをYEAR型カラムに格納してくれるため、著作権表示の年など「常に現在の年を記録したい」ケースで非常に便利です。
-
MySQLでテーブルのすべての列を削除する方法|DROP TABLEコマンドの使い方を解説
MySQLでテーブル内の全カラムを削除するには?MySQLでは、テーブルに存在するすべてのカラム(列)を1つずつ削除していくことはできません。すべての列を削除したい場合、つまりテーブル自体をデータベースから取り除きたい場合は、DROP TABLE コマンドを使用します。DROP TABLEの基本構文DROP TABLE テーブル名;このコマンドを実行すると、指定したテーブルとその中のすべてのデータ・構造が完全に削除されます。なお、この操作は元に戻せないため、実行前には必ず内容を確認してください。実際に試してみよう:サンプルテーブルの作成まずは動作を確認するために、以下のようにサンプルテーブルを
-
MySQLテーブルで「year」をカラム名として使用することはできる?
はい、MySQLのテーブルでは「year」をカラム名として使用できます。「year」はMySQLの予約語ではないため、特別なエスケープ処理を行わなくても問題なく利用できます。 テーブルの作成 まず、テーブルを作成してみましょう。 mysql> create table DemoTable ( Year int ); Query OK, 0 rows affected (0.87 sec) レコードの挿入 insertコマンドを使用して、テーブルにいくつかのレコードを挿入します。 mysql> insert into DemoTable values(1995); Query