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

MySQLのファイル名のテーブルからすべての個別のファイル名拡張子を選択するにはどうすればよいですか?


DISTINCTをSUBSTRING_INDEX()と一緒に使用して、ファイル名拡張子を抽出できます。まずテーブルを作成しましょう-

mysql> create table DemoTable
   (
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   FileName text
   );
Query OK, 0 rows affected (0.75 sec)

挿入コマンド-

を使用してテーブルにレコードを挿入します
mysql> insert into DemoTable(FileName) values('AddTwoValue.java');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(FileName) values('Image1.png');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(FileName) values('MultiplicationOfTwoNumbers.java');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(FileName) values('Palindrome.c');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(FileName) values('FoodCart.png');
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable(FileName) values('Permutation.py');
Query OK, 1 row affected (0.18 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select * from DemoTable;

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

+----+---------------------------------+
| Id | FileName                        |
+----+---------------------------------+
| 1  | AddTwoValue.java                |
| 2  | Image1.png                      |
| 3  | MultiplicationOfTwoNumbers.java |
| 4  | Palindrome.c                    |
| 5  | FoodCart.png                    |
| 6  | Permutation.py                  |
+----+---------------------------------+
6 rows in set (0.00 sec)

以下は、ファイル名のテーブルからすべての個別のファイル名拡張子を選択するためのクエリです-

mysql> SELECT DISTINCT SUBSTRING_INDEX(FileName,'.',-1) FROM DemoTable;

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

+----------------------------------+
| SUBSTRING_INDEX(FileName,'.',-1) |
+----------------------------------+
| java                             |
| png                              |
| c                                |
| py                               |
+----------------------------------+
4 rows in set (0.03 sec)

  1. テーブルからすべてのデータを選択するMySQLストアドプロシージャをどのように記述できますか?

    これを示すために、テーブル「student_detail」からすべてのレコードをフェッチする「selectdetails()」という名前のプロシージャを作成しています。 mysql> Delimiter // mysql> Create Procedure selectdetails()    -> BEGIN    -> Select * from student_detail;    -> END// Query OK, 0 rows affected (0.00 sec) この手順を呼び出した後、

  2. MySQLから最後の10行を選択するにはどうすればよいですか?

    MySQLから最後の10行を選択するには、SELECTステートメントとLimitの概念でサブクエリを使用できます。以下は例です。 テーブルを作成します。 mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.75 sec) テーブルにレコードを挿入します。 mysql> insert into Last10RecordsDemo values(1,John),(