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) 挿