MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLはタイムスタンプを自動的に行に保存できますか?


はい、次の2つの方法でこれを実現できます。

  • 最初のアプローチ テーブル作成時。

  • 2番目のアプローチ クエリの作成時。

構文は次のとおりです。

CREATE TABLE yourTableName
(
yourDateTimeColumnName datetime default current_timestamp
);

alterコマンドを使用できます。

構文は次のとおりです。

ALTER TABLE yourTableName ADD yourColumnName datetime DEFAULT CURRENT_TIMESTAMP;

今すぐ両方の構文を実装してください。

最初のアプローチは次のとおりです。

mysql> create table CurrentTimeStampDemo
-> (
-> CreationDate datetime default current_timestamp
-> );
Query OK, 0 rows affected (0.61 sec)

列「CreationDate」にパラメータを渡さない場合、MySQLはデフォルトで現在のタイムスタンプを保存します。

挿入コマンドを使用して、テーブルにレコードを挿入します。クエリは次のとおりです。

mysql> insert into CurrentTimeStampDemo values();
Query OK, 1 row affected (0.12 sec)
Let us now display all records from the table

selectコマンドを使用します。クエリは次のとおりです。

mysql> select *from CurrentTimeStampDemo;

以下は出力です。

+---------------------+
| CreationDate        |
+---------------------+
| 2019-01-02 15:53:03 |
+---------------------+
1 row in set (0.00 sec)

2番目のアプローチ

これはALTERコマンドを使用しています。テーブルを作成するためのクエリは次のとおりです。

mysql> create table Current_TimestampDemo
-> (
-> Id int
-> );
Query OK, 0 rows affected (0.43 sec)

作成時間を自動的に保存するクエリは次のとおりです。クエリは次のとおりです。

mysql> ALTER TABLE Current_TimestampDemo
-> ADD CreationDate datetime DEFAULT CURRENT_TIMESTAMP;
Query OK, 0 rows affected (0.53 sec)
Records: 0 Duplicates: 0 Warnings: 0

列「CreationDate」の値を渡さない場合。 MySQLは、この列の現在の日時値を格納します。クエリは次のとおりです。

mysql> insert into Current_TimestampDemo(Id) values(1);
Query OK, 1 row affected (0.19 sec)

selectステートメントを使用してテーブルのレコードを表示します。クエリは次のとおりです。

mysql> select CreationDate from Current_TimestampDemo;

以下は出力です。

+---------------------+
| CreationDate        |
+---------------------+
| 2019-01-02 16:25:12 |
+---------------------+
1 row in set (0.00 sec)

  1. テーブルを動的に作成するMySQLクエリ?

    このために、ストアドプロシージャを使用できます。 2つの列を持つテーブルを動的に作成しましょう。つまり、StudentIdはintで、StudentNameはvarchar- mysql> DELIMITER $$ mysql> CREATE PROCEDURE creatingDynamicTableDemo(yourTableName VARCHAR(200))    -> BEGIN    ->    SET @name = yourTableName;    ->  

  2. タイムスタンプを月に変換するMySQLクエリ?

    タイムスタンプを月に変換するには、次の構文のようにFROM_UNIXTIME()メソッドを使用します- select month(from_unixtime(yourColumnName)) from yourTableName; まずテーブルを作成しましょう- mysql> create table DemoTable1457    -> (    -> Value bigint    -> ); Query OK, 0 rows affected (0.85 sec) 挿入コマンド-を使用して、テーブル