ホームページ  >  記事  >  Mysqlのalterコマンドとは何ですか?

Mysqlのalterコマンドとは何ですか?

小老鼠
小老鼠オリジナル
2023-12-14 10:38:251519ブラウズ

alter コマンドには、列の追加、列の削除、列名の変更、列のデータ型の変更、デフォルト値の設定、デフォルト値の削除、主キーの追加、主キーの削除、インデックスの追加、インデックスの削除、一意性制約の追加が含まれます。 、一意制約の削除、外部キー制約の追加、外部キー制約の削除、テーブル名の変更などを行います。詳細な紹介: 1. 列の追加: ALTER TABLE table_name ADD column_name data_type;; 2. 列の削除など。

Mysqlのalterコマンドとは何ですか?

MySQL の ALTER コマンドは、既存のデータベース テーブルの構造を変更するために使用されます。 ALTER コマンドの一般的な使用例と例を次に示します:

1. 列の追加:

sql

ALTER TABLE table_name ADD column_name data_type;

2. 列の削除:

sql

ALTER TABLE table_name DROP COLUMN column_name;

3. 列名の変更:

sql

ALTER TABLE table_name CHANGE old_column_name new_column_name data_type;

4. 列のデータ型の変更:

sql

ALTER TABLE table_name MODIFY COLUMN column_name new_data_type;

5. デフォルト値を設定します:

sql

ALTER TABLE table_name ALTER COLUMN column_name SET DEFAULT 'default_value';

6. デフォルト値を削除します:

sql

ALTER TABLE table_name ALTER COLUMN column_name DROP DEFAULT;

7. 主キーを追加します:

sql

ALTER TABLE table_name ADD PRIMARY KEY (column_name);

8. 主キーの削除:

sql

ALTER TABLE table_name DROP PRIMARY KEY;

9. インデックスの追加:

sql

ALTER TABLE table_name ADD INDEX index_name (column_name);

10. インデックスの削除:

sql

ALTER TABLE table_name DROP INDEX index_name;

11. 一意の制約の追加:

sql

ALTER TABLE table_name ADD UNIQUE (column_name);

12. 一意の制約の削除:

sql

ALTER TABLE table_name DROP INDEX column_name;

-- 対応するインデックスを削除しますが、すべての一意制約がインデックスを生成するわけではないことに注意してください。そのため、実際に削除する必要がある一意制約に対応するインデックス名を決定する必要があります。

13. 外部キー制約を追加します:

たとえば、orders テーブルと customer テーブルに外部キー制約を追加します:

sql

ALTER TABLE orders ADD FOREIGN KEY (customer_id) REFERENCES customer(id);

14. 外部キー制約の削除: (注: MySQL には外部キー制約を直接削除するコマンドはありませんが、外部キー列を削除することで間接的に実行できます):

たとえば、customer_id を削除します。 order テーブルの列:

sql

ALTER TABLE orders DROP COLUMN customer_id;

-- これにより、外部キー制約だけでなく、列全体が削除されることに注意してください。これが希望するものであることを確認してください。外部キー制約を削除するだけで列は保持したい場合は、外部キー制約を作成した元の SQL ステートメントを見つけて、手動で削除する必要があります。これは通常、データベースのメタデータまたはログで見つかります。

15. テーブルの名前を変更します: (注: MySQL はテーブルの名前を直接変更するコマンドを提供しませんが、テーブルをコピーして古いテーブルを削除することで間接的に変更できます):

まず、テーブルの構造とデータを新しいテーブルにコピーします:

sql

CREATE TABLE new_table AS SELECT * FROM old_table;

以上がMysqlのalterコマンドとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。