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

SQLで列の名前を変更する方法

    この記事では、SQLでテーブルの名前を変更する簡単な例を示します。

    ほとんどの主要なRDBMSでは、列の名前をALTER TABLEに変更できます。 声明。 SQLServerは例外です。

    例(ほとんどのRDBMS)

    ほとんどの主要なRDBMSでは、次のように列の名前を変更できます。

    構文:

    ALTER TABLE table_name 
    RENAME COLUMN old_column_name TO new_column_name;

    例:

    ALTER TABLE Products 
    RENAME COLUMN ProdDesc TO ProductDescription;

    ここでは、Productsの列の名前を変更しました ProdDescのテーブル ProductDescriptionへ 。

    これは、PostgreSQL、Oracle、SQLite、MySQL(8.0以降)、MariaDB(10.5.2以降以降)などのRDBMSで機能するはずです。

    MySQLとMariaDBの以前のバージョン

    MySQLとMariaDBは、常にRENAME COLUMNをサポートしているわけではありません 構文。

    バージョン8.0より前のMySQL、および10.5.2以降より前のMariaDBでは、CHANGE COLUMNを使用する必要があります。 代わりに構文。

    構文:

    ALTER TABLE table_name
    CHANGE COLUMN old_column_name new_column_name datatype;

    例:

    ALTER TABLE Products 
    CHANGE COLUMN ProdDesc ProductDescription varchar(500);

    この構文では、名前を変更するだけの場合でも、列定義を再指定する必要があることに注意してください。

    この構文は、以前のRENAME COLUMNも含まれるようになりましたが、MySQLおよびMariaDBの新しいバージョンでも引き続きサポートされます。 簡単にする構文。

    SQL Server

    SQL Serverでは、sp_renameを使用する必要があります 列の名前を変更するためのストアドプロシージャ。

    構文:

    sp_rename 'schema_name.table_name.old_column_name', 'new_column_name', 'COLUMN';

    パラメータ名を指定するオプションもあります:

    sp_rename 
        [ @objname = ] 'object_name' , 
        [ @newname = ] 'new_name'   
        [ , [ @objtype = ] 'object_type' ]

    例:

    EXEC sp_rename 'dbo.Products.ProdDesc', 'ProductDescription', 'COLUMN';

    または:

    EXEC sp_rename 
        @objname = 'dbo.Products.ProdDesc', 
        @newname = 'ProductDescription', 
        @objtype = 'COLUMN';


    1. PL/pgSQL関数のオプションの引数

    2. OracleのCOMPOSE()関数

    3. SQL Server(T-SQL)のパーティション関数のリストを返す

    4. mysqlのWHERE句でエイリアスを使用できますか?