VARCHAR値としてテーブルに挿入された日付に対してMySQLSELECTを実行します
まずテーブルを作成しましょう-
mysql> create table DemoTable ( DueDate varchar(100) ); Query OK, 0 rows affected (0.50 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable values('21/10/2018'); Query OK, 1 row affected (0.22 sec) mysql> insert into DemoTable values('18/08/2019'); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable values('01/12/2012'); Query OK, 1 row affected (0.18 sec) mysql> insert into DemoTable values('31/01/2016'); Query OK, 1 row affected (0.19 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+------------+ | DueDate | +------------+ | 21/10/2018 | | 18/08/2019 | | 01/12/2012 | | 31/01/2016 | +------------+ 4 rows in set (0.00 sec)
以下は、上記の表にVARCHARとして含まれている日付に対してSELECTを実行するためのクエリです。ここでは、2010-01-31-
以降のすべての日付レコードを取得しています。mysql> select *from DemoTable where str_to_date(DueDate,'%d/%m/%Y') > '2010-01-31';
これにより、次の出力が生成されます-
+------------+ | DueDate | +------------+ | 21/10/2018 | | 18/08/2019 | | 01/12/2012 | | 31/01/2016 | +------------+ 4 rows in set (0.00 sec)
-
MySQLテーブルにない値をデータベースに照会しますか?
このために、WHERE NOTEXISTSとともにUNIONALLを使用し、NOT INを実装して、テーブルにすでに存在する値を無視することができます。 UNION ALLでSELECTを使用して、まだテーブルにない値を追加します。 まずテーブルを作成しましょう- mysql> create table DemoTable1918 ( Value int NOT NULL AUTO_INCREMENT PRIMARY KEY ); Query OK, 0 rows affected (0.00 sec) 挿
-
MySQL INSERT INTO SELECTを、AUTO_INCREMENTを使用してテーブルに挿入します
テーブルを作成しましょう- mysql> create table DemoTable1923 ( UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, UserName varchar(20) ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1923(UserId,UserName