MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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)

  1. 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;

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