MySQLでテーブルの一意の制約を表示するにはどうすればよいですか?
information_schema.table_constraintsを使用して、MySQLのテーブルの一意の制約を表示できます。
構文は次のとおりです。
SELECT DISTINCT CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE TABLE_NAME = ’yourTableName’ AND CONSTRAINT_TYPE = ’UNIQUE’;
上記の構文を理解するために、UNIQUE制約-
を使用してテーブルを作成しましょう。mysql> create table UniqueConstraint -> ( -> Id int, -> FirstName varchar(30), -> LastName varchar(30), -> constraint uniqueFirstNameAndLastName UNIQUE(FirstName,LastName) -> ); Query OK, 0 rows affected (0.74 sec)
上記の構文を実装して、MySQLテーブルからの一意の制約である制約の名前を表示します。クエリは次のとおりです-
mysql> select distinct CONSTRAINT_NAME -> from information_schema.TABLE_CONSTRAINTS -> where table_name = 'UniqueConstraint' and constraint_type = 'UNIQUE';
以下は出力です-
| CONSTRAINT_NAME | +----------------------------+ | uniqueFirstNameAndLastName | +----------------------------+ 1 row in set, 2 warnings (0.01 sec)
MySQLテーブルのすべての制約を表示する場合は、次のクエリを使用します。
mysql> SELECT DISTINCT CONSTRAINT_NAME -> FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS -> WHERE CONSTRAINT_SCHEMA = 'MySQL'\G
以下は出力です-
*************************** 1. row *************************** CONSTRAINT_NAME − PRIMARY *************************** 2. row *************************** CONSTRAINT_NAME − name 2 rows in set, 2 warnings (0.01 sec)
-
MySQLテーブルをバッチ更新する方法は?
最初にテーブルを作成しましょう- mysql> create table DemoTable -> ( -> BreakfastTime time -> ); Query OK, 0 rows affected (0.59 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('7:30:45'); Query OK, 1 row affected (0.19 sec) my
-
MySQLにテーブルが存在するかどうかを検出するにはどうすればよいですか?
テーブルの存在を検出するには、INFORMATION_SCHEMA.TABLESの概念を使用します。構文は次のとおりです- select table_name from information_schema.tables where table_schema=database() and table_name=yourTableName; 上記の構文を理解するために、テーブルを作成しましょう- mysql> create table DemoTable2032 -> ( -> ClientId int, &n