sql >> データベース >  >> RDS >> Mysql

MySQLの名前変更列

    MySQLで列名を変更したり、タイプを変更せずに列名の名前を変更したりする必要がある場合があります。 MySQLクエリで列の名前を変更する方法は次のとおりです。

    MySQLで列名を変更する方法

    MySQLALTERTABLEステートメントを使用してMySQLクエリの列名を変更する手順は次のとおりです。

    MySQL5.6.xおよび5.7.xで列の名前を変更

    MySQLの列の名前を変更するSQLクエリは次のとおりです。

    ALTER TABLE table_name CHANGE old_column_name new_column_name <column definition>;

    上記のクエリでは、 table_nameに言及する必要があります ALTER TABLEの後、 old_column_name およびnew_column_name CHANGEキーワードの後。また、列に変更がない場合でも、列の列定義全体に言及する必要があります。それ以外の場合、MySQLは宣言されていない属性をデフォルト値に変更します。

    たとえば、MySQL列にNOT NULL制約があるが、列の名前を変更するときにその制約について言及しない場合、MySQLはその制約を削除し、名前を変更した後、その列にnull値を許可します。

    ボーナス読み取り:パラメータを使用したMySQLストアドプロシージャ

    これが名前変更列の例です。次の表があるとします注文

    mysql> describe orders;
    +--------------+--------------+------+-----+-------------------+----------------+
    | Field        | Type         | Null | Key | Default           | Extra          |
    +--------------+--------------+------+-----+-------------------+----------------+
    | id           | int(11)      | NO   | PRI | NULL              | auto_increment |
    | product_name | varchar(255) | NO   |     | NULL              |                |
    | order_date   | date         | YES  |     | NULL              |                |
    | price        | int(11)      | NO   |     | NULL              |                |
    | description  | text         | YES  |     | NULL              |                |
    | created_at   | timestamp    | NO   |     | CURRENT_TIMESTAMP |                |
    +--------------+--------------+------+-----+-------------------+----------------+
    
    mysql> alter table orders change price item_price int(11);
    
    mysql> describe orders;
    +--------------+--------------+------+-----+-------------------+----------------+
    | Field        | Type         | Null | Key | Default           | Extra          |
    +--------------+--------------+------+-----+-------------------+----------------+
    | id           | int(11)      | NO   | PRI | NULL              | auto_increment |
    | product_name | varchar(255) | NO   |     | NULL              |                |
    | order_date   | date         | YES  |     | NULL              |                |
    | item_price   | int(11)      | YES  |     | NULL              |                |
    | description  | text         | YES  |     | NULL              |                |
    | created_at   | timestamp    | NO   |     | CURRENT_TIMESTAMP |                |
    +--------------+--------------+------+-----+-------------------+----------------+
    
    

    ボーナスリード:MySQLでテーブルを複製する方法

    MySQL8.0で列の名前を変更

    MySQL 8.0以降、RENAME COLUMN句を使用して、タイプを変更せずに(列定義全体を指定せずに)列の名前を変更する別の簡単な方法があります。

    ALTER TABLE products RENAME COLUMN product_name TO product_full_name;

    Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。

    1. ディレクトリに保存する前にアップロードしたファイルの名前を変更するにはどうすればよいですか?

    2. SQL Serverでカスケードを使用するのはいつ/なぜですか?

    3. パフォーマンステストの方法論:新しい方法の発見

    4. SQLサーバーでyes/noブールフィールドをどのように作成しますか?