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

特に別の列の前にMySQLに列を追加することは不可能ですか?


いいえ、ALTERを使用して別の列の前に列を簡単に追加できます。

−テーブル行内の特定の位置に列を追加するには、FIRSTまたはAFTERを使用します。col_name最初にテーブルを作成しましょう-

mysql> create table DemoTable
   -> (
   -> Id int,
   -> Name varchar(20),
   -> CountryName varchar(100)
   -> );
Query OK, 0 rows affected (0.67 sec)

テーブルからすべての列名を確認しましょう-

mysql> show columns from DemoTable;

出力

これにより、次の出力が生成されます-

+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| Id          | int(11)      | YES  |     | NULL    |       |
| Name        | varchar(20)  | YES  |     | NULL    |       |
| CountryName | varchar(100) | YES  |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

以下は、MySQLの別の列の前に列を追加するためのクエリです。

mysql> alter table DemoTable add Age int AFTER Name;
Query OK, 0 rows affected (1.50 sec)
Records: 0 Duplicates: 0 Warnings: 0

上記の表のすべての列名をもう一度確認してみましょう-

mysql> show columns from DemoTable;

出力

これにより、次の出力が生成されます。列名が正常に追加されました-

+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| Id          | int(11)      | YES  |     | NULL    |       |
| Name        | varchar(20)  | YES  |     | NULL    |       |
| Age         | int(11)      | YES  |     | NULL    |       |
| CountryName | varchar(100) | YES  |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

  1. 別のMySQLテーブルの列に基づいて列を更新します

    このために、結合の概念を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1    -> (    -> Id int,    -> Name varchar(10)    -> ); Query OK, 0 rows affected (0.51 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1 values(100,'Bob&

  2. MySQLを使用して、対応する重複値のレコードを別の列に追加します

    このために、GROUP BY句とともに集計関数SUM()を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Name varchar(20),    -> Value int    -> ); Query OK, 0 rows affected (2.08 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable va