sql >> Database teknologi >  >> RDS >> Mysql

MySQL-ændringssamling af alle tabeller

Forskellige databasesorteringer giver dig mulighed for at gemme forskellige typer tegn i en database. Som standard har MySQL latin1-tegnsæt med latin1_swedish_ci-sortering. Du kan dog nemt ændre MySQL-sortering af specifikke tabeller, alle tabeller eller endda en hel database. Sådan ændrer du sortering i MySQL.


Sådan ændres samling af alle tabeller i MySQL

Vi vil se på trinene til at ændre sortering i MySQL.


Her er SQL-forespørgslen til at ændre sammenstilling af én MySQL-tabel

ALTER TABLE tbl_name 
[[DEFAULT] CHARACTER SET charset_name] 
[COLLATE collation_name]

I ovenstående forespørgsel skal du angive tabelnavnet tbl_name . Du kan også vælge at angive tegnsæt charset_name og sortering sorteringsnavn .

Bonuslæser:Topdatabaseblogs at følge

Her er et eksempel på at ændre sammenstilling af alle tabeller i en database til utf8_general_ci. Erstat databasenavn og tabelnavn nedenfor med henholdsvis database- og feltnavne.

alter table database_name.table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

Hvis du vil ændre sammenstilling af alle tabeller i din database, skal du køre ovenstående forespørgsel for hver tabel separat.

Da dette kan være meget kedeligt, opretter vi en SELECT-forespørgsel, der genererer ALTER-tabelsætningerne for hver tabel i vores database. Først, her er SELECT-forespørgslen, der returnerer alle tabelrelaterede detaljer i din database.

SELECT * FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA="database_name" 
AND TABLE_TYPE="BASE TABLE";

Bonus Læs:Top MySQL Workbench Alternativer

Vi ændrer ovenstående SELECT-forespørgsel for at oprette ALTER TABLE-sætning for hver tabel i din database.

Her er den udvalgte forespørgsel, der genererer SQL-forespørgsler til alle tabeller i din database. Erstat databasenavn og sorteringsnavn nedenfor med din database og sorteringsnavne, og kør den for at generere SQL-forespørgsler for at ændre sorteringen af ​​alle tabeller i din database.

SELECT CONCAT("ALTER TABLE ", TABLE_SCHEMA, '.', TABLE_NAME," COLLATE collation_name;") AS ExecuteTheString FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA="database_name" AND TABLE_TYPE="BASE TABLE";

Bonuslæser:Sådan aktiverer du Slow Query Log in MySQL

Her er en anden SQL-forespørgsel for at ændre sammenstilling af alle tabeller til utf8.

SELECT CONCAT('ALTER TABLE ', tbl.TABLE_SCHEMA, '.', tbl.TABLE_NAME, ' CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;') FROM information_schema.TABLES
 tbl WHERE tbl.TABLE_SCHEMA = 'database_name'

Når du har listen over ALTER TABLE-forespørgsler for hver tabel, kan du copy-paste og køre dem for at ændre sammenstilling af alle tabeller.

Forhåbentlig vil ovenstående artikel hjælpe dig med at ændre sammenstilling af alle tabeller i databasen i MySQL.

  1. Forbind ODBC-applikationer på Windows til QuickBooks Online

  2. MySQL Query Performance Tuning

  3. Find bytestørrelsen på en række i PostgreSQL

  4. 6 måder at tilføje en måned til en dato i MariaDB