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

MySQLのテーブルから列を削除するにはどうすればよいですか?


ALTERコマンドを使用して、テーブルから列を削除できます。テーブルを作成し、その中のいくつかの列を削除する必要があるとします。これは、ALTERおよびDRO[コマンドを使用して実現できます。

例を見てみましょう。まず、テーブルを作成します。

mysql> create table DeleteColumnNameDemo
   -> (
   -> Id int,
   -> Name varchar(200),
   -> Age int,
   -> Address varchar(200)
   -> );
Query OK, 0 rows affected (0.59 sec)

上記では、4列のテーブルを作成しました。これが、テーブルに関するすべての詳細を確認できるクエリです。

mysql> desc DeleteColumnNameDemo;

以下は出力です。

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

これで、テーブルに4つの列ができました。次に、列を削除するための構文を見てみましょう。構文は次のとおりです。

alter table yourTableName
drop column yourColumnName1,
drop column yourColumnName2,
.
.
.
drop column yourColumnNameN,

次に、「DeleteColumnNameDemo」テーブルから「Age」列と「Address」列を削除しましょう。上記の構文を適用して、列を削除します。クエリは次のとおりです。

mysql> ALTER table DeleteColumnNameDemo
   -> drop column Age,
   -> drop column Address;
Query OK, 0 rows affected (3.11 sec)
Records: 0  Duplicates: 0  Warnings: 0

テーブルからAgeとAddressの両方の列を削除しました。ここで、DESCコマンドを使用して、列が削除されているかどうかを確認しましょう。

mysql> desc DeleteColumnNameDemo;

以下は出力です。以前を削除したため、「年齢」と「住所」の2つの列が表示されません。

+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| Id    | int(11)      | YES  |     | NULL    |       |
| Name  | varchar(200) | YES  |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.05 sec)

  1. レコードが重複しているMySQLテーブルから単一の値を削除するにはどうすればよいですか?

    DELETEを使用してレコードを削除しますが、重複するレコードが複数ある場合は、次の構文のようにMySQLLIMITを使用して削除を制限します- 構文 delete from yourTableName where yourColumnName=yourValue limit 1; まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Amount int    -> ); Query OK, 0 rows affected (1.38 sec

  2. MySQLで列名として「from」を作成するにはどうすればよいですか?

    「from」は予約語であるため、バッククォート記号を使用して列名と見なします。ここで、予約語をバックティックで囲んだテーブルを作成します- mysql> create table DemoTable1810      (      `from` varchar(20)      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1810 v