MySQLのデータベーステーブルから列を削除する必要がある場合があります。これは、MySQLDROPCOLUMNコマンドを使用して簡単に実行できます。 MySQLのテーブルから列を削除する方法は次のとおりです。
MySQLのテーブルから列を削除する方法
MySQLのテーブルから列を削除する手順は次のとおりです。 MySQL DROP COLUMNクエリを使用して、テーブルから既存の列を削除します。
DROPCOLUMNステートメントの構文は次のとおりです。
ALTER TABLE table_name DROP COLUMN column_name;
上記のステートメントでは、ALTER TABLE句で、列を削除するテーブルについて言及する必要があります。次に、DROPCOLUMN句で列名を指定します。
上記のDROPCOLUMNを使用する代わりに、DROPのみを使用できます。
テーブルから複数の列を削除する場合は、同じステートメントの個別のDROPCOLUMN句でそれらに言及します。
ALTER TABLE table_name DROP COLUMN column1, DROP COLUMN column2, DROP COLUMN column3;
テーブルから列を削除すると、この列を参照するすべてのストアドプロシージャ、ビュー、およびトリガーが無効になります。それらを再び機能させるには、手動で更新する必要があります。インデックスを使用して列を削除することもできますが、列を削除するとインデックスは無効になります。
ボーナスリード:MySQL DROP TABLE
MySQLDROPCOLUMNの例
次の表があるとします注文
mysql> create table orders(order_date date, sale int, product_id int, category varchar(255));
列を削除したいとしますproduct_id
mysql> alter table orders drop column product_id; mysql> describe orders; +------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+--------------+------+-----+---------+-------+ | order_date | date | YES | | NULL | | | sale | int(11) | YES | | NULL | | | category | varchar(255) | YES | | NULL | | +------------+--------------+------+-----+---------+-------+
ボーナスリード:MySQLで今日からレコードを取得する方法
MySQLDROP複数列
複数の列の販売とカテゴリを削除するとします。 MySQLのテーブルから複数の列を削除するMySQLDROPCOLUMNステートメントは次のとおりです
mysql> alter table orders drop column sale, drop column category; mysql> describe orders; +------------+------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+------+------+-----+---------+-------+ | order_date | date | YES | | NULL | | +------------+------+------+-----+---------+-------+
ボーナスリード:MySQLで過去7日間のレコードを取得する方法
外部キーを使用したMySQLDROPCOLUMN
外部キーを使用してCOLUMNを直接ドロップしようとすると、MySQLはエラーをスローします。次のテーブルがあるとします
mysql> create table orders3(id int auto_increment primary key,category_id int); mysql> create table categories(id int auto_increment primary key,name varchar(255)); mysql> ALTER TABLE orders3 ADD CONSTRAINT fk_cat FOREIGN KEY (category_id) REFERENCES categories(id);
ボーナスリード:MySQLで2つの日付の間のレコードを取得する方法
上記の例では、orders3の外部キーcategory_idは、categoriesテーブルの主キーID列を参照しています。削除しようとするとエラーになります。
mysql> alter table orders3 drop column category_id; ERROR 1553 (HY000): Cannot drop index 'fk_cat': needed in a foreign key constraint
したがって、最初に外部キー制約を削除してから、MySQL DROP COLUMN
を使用する必要があります。mysql> alter table orders3 drop foreign key fk_cat; mysql> alter table orders3 drop column category_id; mysql> describe orders3; +-------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | +-------+---------+------+-----+---------+----------------+
Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。