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

MySQLのn番目の行を削除しますか?


MySQLでn番目の行を削除するには、DELETEステートメントを使用してサブクエリを操作します。最初にテーブルを作成しましょう:

mysql> create table DemoTable1
   -> (
   -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> StudentName varchar(100)
   -> );
Query OK, 0 rows affected (0.99 sec)

以下は、挿入コマンドを使用してテーブルにいくつかのレコードを挿入するためのクエリです。

mysql> insert into DemoTable1(StudentName) values('Larry');
Query OK, 1 row affected (0.14 sec)

mysql> insert into DemoTable1(StudentName) values('Sam');
Query OK, 1 row affected (0.13 sec)

mysql> insert into DemoTable1(StudentName) values('Mike');
Query OK, 1 row affected (0.18 sec)

mysql> insert into DemoTable1(StudentName) values('Carol');
Query OK, 1 row affected (0.12 sec)

mysql> insert into DemoTable1(StudentName) values('David');
Query OK, 1 row affected (0.16 sec)

mysql> insert into DemoTable1(StudentName) values('Bob');
Query OK, 1 row affected (0.13 sec)

以下は、selectコマンドを使用してテーブルのレコードを表示するためのクエリです。

mysql> select * from DemoTable1;

これにより、次の出力が生成されます

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 1         | Larry       |
| 2         | Sam         |
| 3         | Mike        |
| 4         | Carol       |
| 5         | David       |
| 6         | Bob         |
+-----------+-------------+
6 rows in set (0.00 sec)

n番目の行を削除するためのクエリは次のとおりです。

mysql> delete from DemoTable1 where StudentId = (select StudentId from (select StudentId from DemoTable1 order by StudentId limit 1,1) as tbl);
Query OK, 1 row affected (0.19 sec)

テーブルのすべてのレコードを表示して、レコードが削除されているかどうかを確認します。

mysql> select * from DemoTable1;

これにより、次の出力が生成されます。 2番目の nd を記録します 現在削除されています:

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 1         | Larry       |
| 3         | Mike        |
| 4         | Carol       |
| 5         | David       |
| 6         | Bob         |
+-----------+-------------+
5 rows in set (0.00 sec)

  1. MySQLの特定の列の最大値を保持する行

    MySQLで特定の列の最大値を保持する行を見つける方法を理解しましょう- 注: 「DBNAME」という名前のデータベースと「tableName」という名前のテーブルを作成したと仮定します。 MySQLクエリを使用して特定の列の最大値を保持する行をフェッチする方法を見てみましょう- これは、サブクエリを使用して実行できます。ここでは、colName3-の最大値を取得しています。 クエリ SELECT colName1, colName2, colName3 FROM tableName WHERE colName3=(SELECT MAX(colName3) FROM tableName)

  2. mysqld-MySQLサーバー

    MySQLサーバーである「mysqld」について理解しましょう- mysqld mysqldはMySQLサーバーとも呼ばれます。これは、MySQLインストールでほとんどの作業を行うシングルマルチスレッドプログラムです。追加のプロセスを生成することはありません。 MySQLサーバーは、データベースとテーブルを含むMySQLデータディレクトリへのアクセスを管理するのに役立ちます。データディレクトリは、ログファイルやステータスファイルなどの他の情報のデフォルトの場所です。 注 −特定のインストールパッケージには、mysqld-debugという名前のサーバーのデバッグバージョンが含まれている