sql >> Databasteknik >  >> RDS >> MariaDB

3 sätt att visa sorteringen för din anslutning i MariaDB

När du kör en fråga mot en MariaDB-databas använder MariaDB ett gäng systemvariabler för att avgöra vilken teckenuppsättning och sortering som ska användas när frågor körs. Om klienten använder en annan teckenuppsättning än servern kan MariaDB översätta den till en lämplig teckenuppsättning och sortering.

När du skickar frågeresultaten tillbaka till klienten kan MariaDB översätta dessa resultat tillbaka till en annan teckenuppsättning helt och hållet om det behövs. MariaDB använder systemvariabler för att bestämma vilka teckenuppsättningar och sammanställningar som ska användas vid vart och ett av dessa steg.

Här är tre sätt att visa anslutningssorteringen i MariaDB.

@@collation_connection Variabel

Följande returnerar sammanställningen för anslutningen (du kan använda samma syntax för vilken som helst av systemvariablerna):

SELECT @@collation_connection;

Exempelresultat:

+------------------------+
| @@collation_connection |
+------------------------+
| utf8_general_ci        |
+------------------------+

SHOW VARIABLES Uttalande

SHOW VARIABLES uttalande visar värdena för MariaDB-systemvariabler. Detta kan returnera mycket data, så det är vanligtvis bäst att använda antingen en WHERE eller LIKE klausul för att begränsa den till endast de variabler som du är intresserad av.

Exempel:

SHOW VARIABLES 
WHERE Variable_name = 'collation_connection';

Exempelresultat:

+----------------------+-----------------+
| Variable_name        | Value           |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
+----------------------+-----------------+

Alternativt kan du använda LIKE sats för att returnera variabler som börjar med collation :

SHOW VARIABLES LIKE 'collation%';

Exempelresultat:

+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8_general_ci    |
| collation_database   | utf8mb4_general_ci |
| collation_server     | utf8mb4_general_ci |
+----------------------+--------------------+

Som standard är SHOW VARIABLES visar SESSION variabler. I det här fallet returnerar den de värden som gäller för den aktuella anslutningen.

Därför skulle det föregående exemplet kunna skrivas om enligt följande:

SHOW SESSION VARIABLES LIKE 'collation%';

Exempelresultat:

+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8_general_ci    |
| collation_database   | utf8mb4_general_ci |
| collation_server     | utf8mb4_general_ci |
+----------------------+--------------------+

Alternativt kan du ersätta SESSION med LOCAL (som är en synonym för SESSION ):

SHOW LOCAL VARIABLES LIKE 'collation%';

Du kan också använda GLOBAL modifierare för att visa värdena som används för nya anslutningar till MariaDB.

Exempel:

SHOW GLOBAL VARIABLES LIKE 'collation%';

Exempelresultat:

+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8mb4_general_ci |
| collation_database   | utf8mb4_general_ci |
| collation_server     | utf8mb4_general_ci |
+----------------------+--------------------+

I det här fallet, GLOBAL variabel för collation_connection returnerade ett annat värde till dess LOCAL motsvarighet.

mariadb-admin Verktyg (alias mysqladmin )

Det är också möjligt att få serverkollationsinformation med mariadb-admin verktyg.

Du kan använda det här verktyget för att returnera alla variabler. Och du kan begränsa dessa variabler till bara de du är intresserad av – i det här fallet collation_connection variabel.

För att bara returnera collation_connection variabel, öppna en ny terminal och kör följande kommando:

mariadb-admin variables | grep collation_connection

Resultat:

| collation_connection      | utf8mb4_general_ci

Observera att detta är samma värde som GLOBAL variabeln som returneras ovan (och inte SESSION variabel för den aktuella anslutningen). Detta är standardsorteringen för nya anslutningar till MariaDB.

Ett annat sätt att göra det är att ersätta mariadb-admin med mysqladmin .

Så här:

mysqladmin variables | grep collation_connection

Du måste använda mysqladmin om du använder en tidigare version av MariaDB (före 10.4.6). Från MariaDB 10.4.6 är mariadb-admin en symbollänk till mysqladmin. Från MariaDB 10.5.2, mariadb-admin är namnet på skriptet, med mysqladmin en symbollänk. Se MariaDB-dokumentationen för mysqladmin för mer information.


  1. Dynamisk kolumn i SELECT-sats postgres

  2. Sparse Columns i SQL Server:Inverkan på tid och rum

  3. Hämta Oracle senast infogade IDENTITY

  4. Hur man krypterar data i Oracle med PL SQL