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

MySQLテーブルから一意のキーを削除しますか?


MySQLから一意のキーを削除するには、DROPコマンドを使用します。構文は次のとおりです-

ALTER TABLE yourTableName DROP INDEX yourKeyName;

上記の構文を理解するために、一意のキーを使用してテーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-

mysql> create table DropIndexDemo
   −> (
   −> BookId int unique key,
   −> BookName varchar(200)
   −> );
Query OK, 0 rows affected (0.88 sec)

これで、showコマンドを使用してキー名を確認できます。この一意のキーは削除されます。クエリは次のとおりです-

mysql> show index from DropIndexDemo;

以下は出力です-

+-----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
| Table     | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible |
+-----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
| dropindex | 0          | BookId  | 1             | BookId      | A         | 0           | NULL     | NULL   | YES  | BTREE      |         |               | YES     |
+-----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
1 row in set (0.17 sec)

上記のサンプル出力を見てください。キー名は「BookId」です。これが、一意のキーを削除するためのクエリです-

mysql> alter table DropIndex drop index BookId ;
Query OK, 0 rows affected (0.33 sec)
Records: 0 Duplicates: 0 Warnings: 0

MySQLテーブルDropIndexから一意のキーを削除しました。 BookId列には以前は一意のキーがありました。

次に、descコマンドを使用してテーブル構造を表示します。削除したため、一意キーは表示されません-

mysql> desc DropIndex;

以下は出力です-

+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| BookId   | int(11)      | YES  |     | NULL    |       |
| BookName | varchar(200) | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

上記のサンプル出力を見てください。BookId列に一意のキーはありません。


  1. MySQLテーブルからランダムな行を表示する

    ランダムな単一の行を表示するには、LIMITを指定してRAND()を使用します。ここでは、1行のみが必要なため、レコード数をフェッチするためにLIMITが使用されます。したがって、 LIMIT 1を使用します。 。まずテーブルを作成しましょう- mysql> create table DemoTable (    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    Name varchar(50),    Quote text ); Query OK, 0 rows affected (

  2. MySQLテーブルからインデックスを削除します

    MySQLテーブルからインデックスを削除するための構文は、次のとおりです- alter table yourTableName drop index `yourIndexName`; まずテーブルを作成しましょう- Mysql> create table DemoTable1469    -> (    -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> StudentName varchar(40),    ->