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

MySQL SHOW COLUMNSの注文を返しますか?


MySQL SHOW COLUMNSの順序を返すには、ORDERBY句を使用する必要があります。構文は次のとおりです-

SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = ‘yourTableName’
AND column_name LIKE 'yourStartColumnName%'
ORDER BY column_name DESC;

データベースTESTにテーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-

mysql> create table OrderByColumnName
   -> (
   -> StudentId int,
   -> StudentFirstName varchar(10),
   -> StudentLastName varchar(10),
   -> StudentAddress varchar(20), 
   -> StudentAge int,
   -> StudentMarks int
   -> );
Query OK, 0 rows affected (1.81 sec)

ケース1-

この場合、結果は降順です。これがMySQLのshowcolumnの順序を返すクエリです-

mysql> SELECT COLUMN_NAME
   -> FROM INFORMATION_SCHEMA.COLUMNS
   -> WHERE table_name = 'OrderByColumnName'
   -> AND column_name LIKE 'student%'
   -> ORDER BY column_name DESC;

以下は出力です-

+------------------+
| COLUMN_NAME      |
+------------------+
| StudentMarks     |
| StudentLastName  |
| StudentId        |
| StudentFirstName |
| StudentAge       |
| StudentAddress   |
+------------------+
6 rows in set (0.00 sec)

ケース2-結果を昇順で表示する場合は、デフォルトで結果が昇順になるため、ASCキーワードを記述する必要はありません。

クエリは次のとおりです-

mysql> SELECT COLUMN_NAME
   -> FROM INFORMATION_SCHEMA.COLUMNS
   -> WHERE table_name = 'OrderByColumnName' 
   -> AND column_name LIKE 'student%'
   -> ORDER BY column_name;

以下は出力です-

+------------------+
| COLUMN_NAME      |
+------------------+
| StudentAddress   |
| StudentAge       |
| StudentFirstName |
| StudentId        |
| StudentLastName  |
| StudentMarks     |
+------------------+
6 rows in set (0.00 sec)

  1. MySQLの列の順序を変更できますか?

    はい、列の順序を変更できます。これは、ALTERコマンドとAFTERを使用して実行し、個々の列の新しい順序を設定できます。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> `Student_Key_Age` int,    -> `Student_Key_Name` varchar(20),    -> `Student_Key_CountryName` varchar(20)    ->

  2. MySQLで期待どおりに機能しない複数の列で並べ替えますか?

    以下は、複数の列で並べ替える構文です- select *from yourTableName order by yourColumnName1 DESC,yourColumnName2,yourColumnName3; テーブルを作成しましょう- mysql> create table demo29 −> ( −> value1 int, −> value2 int −> ); Query OK, 0 rows affected (1.67 sec) 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入し