ホームページ  >  記事  >  データベース  >  mysqlで最後のレコードをクエリする方法

mysqlで最後のレコードをクエリする方法

藏色散人
藏色散人オリジナル
2021-12-01 15:33:5321465ブラウズ

最後のレコードをクエリする Mysql メソッド: 1. 現在のデータベースのテーブルとテーブル構造を表示します; 2. ID 自動インクリメントに従って ID フィールドを逆順に並べ替え、最初の行を表示します; 3現在の挿入ステートメントに従って、関数 last_insert_id() を使用して最後のレコードを表示します。

mysqlで最後のレコードをクエリする方法

この記事の動作環境: Windows 7 システム、mysql バージョン 8.0、Dell G3 コンピューター。

mysql は最後のレコードをどのようにクエリしますか?

MySQL は最後のレコードをクエリします

1. 環境とデータの準備

1. 現在のデータベースのテーブルを表示します

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| my_insert1 |
| my_insert2 |
+----------------+

2. my_insert1 テーブル構造を表示します

mysql> show create table my_insert1\G;
*************************** 1. row ***************************
Table: my_insert1
Create Table: CREATE TABLE `my_insert1` (
`name` varchar(10) CHARACTER SET latin1 DEFAULT NULL,
`password` varchar(32) CHARACTER SET latin1 DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

3. my_insert2 テーブル構造を表示します

mysql> show create table my_insert2\G;
*************************** 1. row ***************************
       Table: my_insert2
Create Table: CREATE TABLE `my_insert2` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(10) CHARACTER SET latin1 DEFAULT NULL,
  `password` varchar(32) CHARACTER SET latin1 DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

4 . テーブル my_insert1 へ、テーブル my_insert2 へのレコードの挿入

mysql> insert into my_insert1(name,password) values ('黄飞鸿',password(123456)),('李小龙',password(123456));
 
mysql> insert into my_insert2(id,name,password) values (null,'黄飞鸿',password(123456)),(null,'李小龙',password(123456));

5. テーブル

mysql> select * from my_insert1;
+-----------+----------------------------------+
| name      | password                         |
+-----------+----------------------------------+
| 黄飞鸿    | *6BB4837EB74329105EE4568DDA7DC67 |
| 李小龙    | *6BB4837EB74329105EE4568DDA7DC67 |
+-----------+----------------------------------+
 
mysql> select * from my_insert2;
+----+-----------+----------------------------------+
| id | name      | password                         |
+----+-----------+----------------------------------+
|  1 | 黄飞鸿    | *6BB4837EB74329105EE4568DDA7DC67 |
|  2 | 李小龙    | *6BB4837EB74329105EE4568DDA7DC67 |
|  3 | 李连杰    | *6BB4837EB74329105EE4568DDA7DC67 |
+----+-----------+----------------------------------+

のレコードの表示 2. ID 自動インクリメントがない場合の最後のレコードの表示方法テーブルにフィールドがあり、ID 自動インクリメント フィールドがあります

1。my_insert1 のため、ID 自動インクリメントはありません。現在のテーブルにレコードがいくつあるか確認してください。

mysql> select count(*) from my_insert1;
+----------+
| count(*) |
+----------+
| 2 |
+----------+
1 row in set (0.00 sec)

2. 現在のテーブル

mysql> select * from my_insert1 limit 1,1;
+-----------+----------------------------------+
| name | password |
+-----------+----------------------------------+
| 李小龙 | *6BB4837EB74329105EE4568DDA7DC67 |
+-----------+----------------------------------+
1 row in set (0.00 sec)

3 の 2 行目のレコードを確認します。ID に基づいて自動インクリメントし、サブクエリを使用してテーブル ID フィールド

mysql> select *   from my_insert2 where id=(select max(id) from my_insert2);
+----+-----------+----------------------------------+
| id | name      | password                         |
+----+-----------+----------------------------------+
|  3 | 李连杰    | *6BB4837EB74329105EE4568DDA7DC67 |
+----+-----------+----------------------------------+

4 の最大値を表示します。 ID 自動インクリメントに従って ID フィールドを逆順に表示し、最初の行

mysql> select * from my_insert2 order by id desc limit 1;
+----+-----------+----------------------------------+
| id | name      | password                         |
+----+-----------+----------------------------------+
|  3 | 李连杰    | *6BB4837EB74329105EE4568DDA7DC67 |
+----+-----------+----------------------------------+

5 を表示します。現在の挿入ステートメントに従って、関数 last_insert_id() を使用して最後のレコード

を表示できます。
mysql> insert into my_insert2(id,name,password) values(null,'霍元甲',password('123456'));
Query OK, 1 row affected, 1 warning (0.00 sec)
 
mysql> select * from my_insert2 where id=(select last_insert_id());
+----+-----------+----------------------------------+
| id | name      | password                         |
+----+-----------+----------------------------------+
|  4 | 霍元甲    | *6BB4837EB74329105EE4568DDA7DC67 |
+----+-----------+----------------------------------+
1 row in set (0.00 sec)

[関連する推奨事項: mysql ビデオ チュートリアル]

以上がmysqlで最後のレコードをクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。