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

列番号を使用してMySQLのテーブルから列を削除する方法

    RMathisの回答に追加するには、SETを使用して準備と実行

    SQLフィドル

    MySQL5.6スキーマのセットアップ

    CREATE TABLE Table1
        (`col1` varchar(1), 
         `col2` varchar(1), 
         `col3` varchar(1), 
         `col4` varchar(1), 
         `col5` varchar(1))
    ;
    
    set @col = (select column_name 
                from information_schema.columns 
                where table_name='table1' and ordinal_position=3);
    
    SET @s = CONCAT("alter table table1 drop column ", @col);
    
    PREPARE stmt FROM @s;
    
    EXECUTE stmt;
    
    DEALLOCATE PREPARE stmt;
    

    クエリ1

    desc table1
    

    結果

    | COLUMN_NAME | COLUMN_TYPE | IS_NULLABLE | COLUMN_KEY | COLUMN_DEFAULT | EXTRA |
    |-------------|-------------|-------------|------------|----------------|-------|
    |        col1 |  varchar(1) |         YES |            |         (null) |       |
    |        col2 |  varchar(1) |         YES |            |         (null) |       |
    |        col4 |  varchar(1) |         YES |            |         (null) |       |
    |        col5 |  varchar(1) |         YES |            |         (null) |       |
    


    1. 複数行の最大値に基づいて単一行を選択する方法

    2. キーと値のペアを格納するテーブルから選択するためのMySQLクエリが必要

    3. 1つのレポートにバーコード\または複数のバーコードを含む複数のレポートを印刷する方法

    4. SQL Server2008R2からMySQLへの移行