単一のMySQLクエリでALTERを使用して既存のテーブルに新しい列とインデックスを追加しますか?
既存のテーブルに新しい列を追加するには、ADDを使用します。それで、新しいインデックスを追加するには、ADD INDEX()を使用します。まずテーブルを作成しましょう-
mysql> create table DemoTable -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(100), -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.69 sec)
表の説明を確認しましょう-
mysql> desc DemoTable;
これにより、次の出力が生成されます-
+-------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | Name | varchar(100) | YES | | NULL | | +-------+--------------+------+-----+---------+----------------+ 2 rows in set (0.01 sec)
これは、既存のテーブルに新しい列とインデックスを追加するためのクエリです-
mysql> alter table DemoTable -> add ArrivalDate DATETIME DEFAULT NOW(), -> add index(ArrivalDate); Query OK, 0 rows affected (2.05 sec) Records: 0 Duplicates: 0 Warnings: 0
テーブルの説明をもう一度確認しましょう-
mysql> desc DemoTable;
これにより、次の出力が生成されます-
+-------------+--------------+------+-----+-------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+-------------------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | Name | varchar(100) | YES | | NULL | | | ArrivalDate | datetime | YES | MUL | CURRENT_TIMESTAMP | | +-------------+--------------+------+-----+-------------------+----------------+ 3 rows in set (0.01 sec)
-
単一のクエリでIN()を使用してMySQLテーブルからレコードを削除する
テーブルを作成しましょう- mysql> create table DemoTable1922 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(20) ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1922(StudentNa
-
45日の間隔で日を追加し、出力を新しい列に表示するMySQLクエリ
これには、date_add()を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1930 ( DueTime datetime ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1930 values('2017-10-21'); Query OK, 1 row affected