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

mysqlでPRIMARYキーなしですべての列を選択する方法は?

    これは、データベースを任意の長さで操作する場合は、調査する価値があります。

    これまでに使用したすべてのDBMSには、制約、列、およびテーブル情報を確認する手段があります。やりたいことを実行するのに役立つMySQL用のものは、INFORMATION_SCHEMAにある可能性があります:

    TABLE_CONSTRAINTS このためのMySQLリファレンスはここ です。 。

    SELECT table_name, constraint_name, constraint_type FROM INFORMATION_SCHEMA.table_constraints;
    

    これに関するMySQLリファレンスはこちら です。

    SELECT column_name FROM INFORMATION_SCHEMA.columns;
    

    KEY_COLUMN_USAGE

    あなたはあなたが望むものを得るためにこのようなことをすることができるはずです:

    SELECT INFORMATION_SCHEMA.key_column_usage.column_name 
    FROM INFORMATION_SCHEMA.key_column_usage
    JOIN INFORMATION_SCHEMA.table_constraints 
    ON INFORMATION_SCHEMA.key_column_usage.column_name = INFORMATION_SCHEMA.table_constraints.column_name
    WHERE INFORMATION_SCHEMA.table_constraints.constraint_type <> 'PRIMARY KEY'
    

    は本質的にあなたが必要とするものでなければなりません。このようなビュー/テーブルは、スキーマに関する情報を取得する必要がある場合に最適です。

    この情報がお役に立てば幸いです。




    1. MySQL CREATE TABLE IF NOT EXISTS-> Error 1050

    2. SQLで列を一意にする方法は?

    3. 再起動せずにMySQL構成ファイルを更新するにはどうすればよいですか?

    4. SQLServerで同じクエリを複数回実行する最も簡単な方法