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

MySQLのshowtablesはテーブル名でソートしますか?


table_nameプロパティは、ORDERBY句を使用してINFORMATION_SCHEMA.TABLESから並べ替えることができます。それぞれASCまたはDESCを使用して、昇順または降順で並べ替えます。構文は次のとおりです-

SELECT table_name
FROM information_schema.tables
WHERE table_type = 'BASE TABLE' AND table_schema='yourDatabaseName'
ORDER BY table_name DESC;

サンプルという名前のデータベースを使用し、いくつかのテーブルを用意します。まず、すべてのテーブルを表示し、その後、テーブル名での並べ替えに適用します。すべてのテーブルを表示するクエリは次のとおりです-

mysql> show tables;

以下は出力です-

+--------------------------+
| Tables_in_sample         |
+--------------------------+
| blobsizedemo             |
| insert_prevent           |
| insertrecord_selecttable |
| insertrecordprevent      |
| mytable                  |
| newlinedemo              |
| notequaloperator         |
| sumofeverydistinct       |
| yourtable                |
+--------------------------+
9 rows in set (0.00 sec)

これは、テーブル名で並べ替えるクエリです。ここで、すべてのテーブルをORDERBY句-

を使用して降順で表示してみましょう。
mysql> SELECT table_name
   -> FROM information_schema.tables
   -> WHERE table_type = 'BASE TABLE' AND table_schema='sample'
   -> ORDER BY table_name DESC;

以下は出力です-

+--------------------------+
| TABLE_NAME               |
+--------------------------+
| yourtable                |
| sumofeverydistinct       |
| notequaloperator         |
| newlinedemo              |
| mytable                  |
| insertrecordprevent      |
| insertrecord_selecttable |
| insert_prevent           |
| blobsizedemo             |
+--------------------------+
9 rows in set (0.00 sec)

  1. MySQLのテーブル名としてアンダースコアを付けることは可能ですか?

    はい、テーブル名の前後にバッククォートを使用して、テーブル名としてアンダースコアを追加できます。以下は構文です- INSERT INTO `yourTableName` values(yourValue1,.......N); まずテーブルを作成しましょう- mysql> create table `DemoTable_1` (    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    Location varchar(100) ); Query OK, 0 rows affected (1.17 sec

  2. MySQLテーブルの個別の行をランダムに選択しますか?

    行をランダムに選択するには、LIMITを指定してORDER BY RAND()を使用します。個別の行にはDISTINCTを使用します。最初に例を見て、テーブルを作成しましょう- mysql> create table DemoTable (    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    Name varchar(40) ); Query OK, 0 rows affected (0.54 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> inse