
mySQLで、そのテーブルのプライマリーキーのカラム名を取得する方法を
教えてください。
よろしくお願いします。
http://oshiete1.goo.ne.jp/qa3699289.html
のようなSQL文で取得できるのが理想です。
No.2ベストアンサー
- 回答日時:
>SHOWコマンドを使用する方法
いくつか方法があります。
1.DESCRIBE
(1)概要
表の列構成を知りたい場合などに有用
(2)マニュアル記載
http://dev.mysql.com/doc/refman/5.1/ja/describe. …
(3)使用例
DESC 表名
(4)備考
主キーを複数列で構成した場合など、構成順は得られない
2.SHOW COLUMNS FROM
(1)概要
表の構成列を知りたい場合などに有用
(2)マニュアル記載先
http://dev.mysql.com/doc/refman/5.1/ja/show-colu …
(3)使用例
SHOW COLUMNS FROM 表名
3.SHOW INDEXES FROM
(1)概要
どのようなインデクスが定義済か調べる
主キーを定義(PRIMARY KEYを指定)すると、内部的にインデクスが定義されるので、この指定でも調べられる。
(2)使用例
SHOW INDEXES FROM 表名
4.SHOW CREATE TABLE
(1)概要
DDLの逆生成する機能であり、主キーの定義状態も確認できる。ただし、実際に定義しようとしたものが、MySQLにより変更されている場合もある。
例 PRIMARY KEY(C1 ASC,C2 DESC)といった昇順・降順の混在は、MySQLでは実装しておらず、PRIMARY KEY(C1 ASC,C2 ASC)と勝手に変更される。
(2)使用例
SHOW CREATE TABLE 表名
5.INFORMATION_SCHEMAを検索
(1)標準SQLでも規定されているINFORMATION_SCHEMAが、MySQL 5.0からMySQLでも実装された。ただし、データベース名、カタログ名などに何が入るかはRDBMSにより違いがある。また、各RDBMSが拡張仕様として列を追加している。
(2)マニュアル記載
http://dev.mysql.com/doc/refman/5.0/en/key-colum …
(3)使用例
SELECT * FROM INFORMATION_SCHEMA KEY_COLUMN_USAGE
WHERE TABLE_NAME='表名'
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Oracle sqlで質問です。 idを元にidに紐付くデータで住所コードがjpのみのデータ以外のidを取得したい 4 2023/03/20 17:41
- Oracle sqlで質問です。 Aテーブルの登録番号をキーにBテーブルから確認番号を取得したいのですが、Bテーブ 4 2023/05/18 13:08
- Oracle SQLについて教えて下さい。 主キーを持ったカラムを主キーの機能を持たせたまま カンマ区切りで文字列 1 2023/03/27 22:47
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- Oracle SQLの書き方について 1 2023/04/13 09:54
- MySQL あと、MySQLの文字コードはutf8 気になりますね 1 2022/12/01 07:22
- Oracle Oracleですがsqlで質問です。 サブクエリ内で番号というカラムで昇順の1レコード目を取得したい 3 2023/05/22 10:02
- Oracle sql(oracle)で質問です。 テーブルAのカラム名、日付(yyyymmdd)の値を テーブルB 2 2023/01/06 10:31
- PostgreSQL 列が存在しないと言われる 2 2023/02/10 18:33
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DBの定義のサイズを大きくし過...
-
SQL、oracleにて文字列操作(連...
-
他のシートの検索
-
一部のカラムでdistinctし全て...
-
INDIRECT関数の代替方法は?
-
UNIONする際、片方テーブルしか...
-
SELECT文で、指定カラム以外の...
-
テーブルの列数を調べたい
-
BULK INSERT時のNull許容について
-
SQLでカラムを追加し、条件に合...
-
SQLServerでNULLを挿入したいです
-
mysqlでdate型のカラムに今日か...
-
データ型とカラムの型を合わせ...
-
MYSQLで全てのカラムから検索す...
-
内容を削除したときのパフォー...
-
update時にtimestampが更新され...
-
インデックスの概念
-
[MySQL]LOAD DATA INFILE一部レ...
-
SQL Server Management Studio...
-
datetime型の加算取得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DBの定義のサイズを大きくし過...
-
SQL、oracleにて文字列操作(連...
-
属性?について
-
インデックスとは?オートナン...
-
mySQL プライマリーキーのカラ...
-
'PRIMARY KEY'と'UNIQUE()'の違...
-
PHPのforeachでSQL文を処理して...
-
mysqlのインデックス
-
データベースのインデックスに...
-
連番を振る インデックス 付...
-
インデックスの一意な値の数に...
-
(phpMyadminの)インデックスサ...
-
Mysqlのconstraintについて教え...
-
複数キーでの一意制約
-
効果的なindexの設定方法
-
インデックスキーを設定するとK...
-
SELECT文で、指定カラム以外の...
-
INDIRECT関数の代替方法は?
-
一部のカラムでdistinctし全て...
-
テーブルの列数を調べたい
おすすめ情報