MySQLでテーブルのauto_increment値を表示するにはどうすればよいですか?
テーブルのauto_increment値を表示するには、SHOWTABLEコマンドを使用できます。
構文は次のとおりです
SHOW TABLE STATUS LIKE 'yourTableName'\G
構文は次のとおりです
SELECT `AUTO_INCREMENT` FROM `information_schema`.`TABLES` WHERE `TABLE_SCHEMA` = ‘yourDatabaseName’ AND `TABLE_NAME` =’yourTableName';
上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです
mysql> create table viewAutoIncrementDemo -> ( -> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> UserName varchar(20) -> ); Query OK, 0 rows affected (0.59 sec)
これで、insertコマンドを使用してテーブルにいくつかのレコードを挿入できます。クエリは次のとおりです-
mysql> insert into viewAutoIncrementDemo(UserName) values('John');
Query OK, 1 row affected (0.18 sec)
mysql> insert into viewAutoIncrementDemo(UserName) values('Carol');
Query OK, 1 row affected (0.14 sec)
mysql> insert into viewAutoIncrementDemo(UserName) values('Bob');
Query OK, 1 row affected (0.08 sec)
mysql> insert into viewAutoIncrementDemo(UserName) values('Sam');
Query OK, 1 row affected (0.12 sec)
mysql> insert into viewAutoIncrementDemo(UserName) values('Mike');
Query OK, 1 row affected (0.14 sec)
mysql> insert into viewAutoIncrementDemo(UserName) values('David');
Query OK, 1 row affected (0.16 sec)
mysql> insert into viewAutoIncrementDemo(UserName) values('Larry');
Query OK, 1 row affected (0.11 sec) selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです-
mysql> select *from viewAutoIncrementDemo;
以下は出力です
+--------+----------+ | UserId | UserName | +--------+----------+ | 1 | John | | 2 | Carol | | 3 | Bob | | 4 | Sam | | 5 | Mike | | 6 | David | | 7 | Larry | +--------+----------+ 7 rows in set (0.00 sec)
テーブルのauto_increment値を表示するためのクエリは次のとおりです
mysql> SHOW TABLE STATUS LIKE 'viewAutoIncrementDemo'\G
以下は出力です
*************************** 1. row ***************************
Name: viewautoincrementdemo
Engine: InnoDB
Version: 10
Row_format: Dynamic
Rows: 7
Avg_row_length: 2340
Data_length: 16384
Max_data_length: 0
Index_length: 0
Data_free: 0
Auto_increment: 8
Create_time: 2019-03-02 04:05:20
Update_time: 2019-03-02 04:06:11
Check_time: NULL
Collation: utf8_general_ci
Checksum: NULL
Create_options:
Comment:
1 row in set (0.08 sec) 以下は2番目のクエリです
mysql> SELECT `AUTO_INCREMENT` -> FROM `information_schema`.`TABLES` -> WHERE `TABLE_SCHEMA` = 'sample' -> AND `TABLE_NAME` = 'viewAutoIncrementDemo';
以下は出力です
+----------------+ | AUTO_INCREMENT | +----------------+ | 8 | +----------------+ 1 row in set (0.00 sec)
-
MySQLで手動のAUTO_INCREMENT開始値を使用してテーブルクエリを作成しますか?
まずテーブルを作成しましょう- mysql> create table DemoTable1907 ( UserId int NOT NULL AUTO_INCREMENT, UserName varchar(20), UserAge int, UserCountryName varchar(20), PRIMARY KEY(UserId) )ENGINE=MyISAM,AUTO_INCREMENT=100;
-
MySQLテーブルにない値をデータベースに照会しますか?
このために、WHERE NOTEXISTSとともにUNIONALLを使用し、NOT INを実装して、テーブルにすでに存在する値を無視することができます。 UNION ALLでSELECTを使用して、まだテーブルにない値を追加します。 まずテーブルを作成しましょう- mysql> create table DemoTable1918 ( Value int NOT NULL AUTO_INCREMENT PRIMARY KEY ); Query OK, 0 rows affected (0.00 sec) 挿