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