sql >> Databáze >  >> RDS >> Mysql

Jak změnit SADA ZNAKŮ (a COLLATION) v celé databázi?

změnit řazení databáze:

ALTER DATABASE <database_name> CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

změnit řazení tabulky:

ALTER TABLE <table_name> CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

změnit řazení sloupců:

ALTER TABLE <table_name> MODIFY <column_name> VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

Jaké jsou části utf8mb4_0900_ai_ci znamená?

3 bytes -- utf8
4 bytes -- utf8mb4 (new)
v4.0 --   _unicode_
v5.20 --  _unicode_520_
v9.0 --   _0900_ (new)
_bin      -- just compare the bits; don't consider case folding, accents, etc
_ci       -- explicitly case insensitive (A=a) and implicitly accent insensitive (a=á)
_ai_ci    -- explicitly case insensitive and accent insensitive
_as (etc) -- accent-sensitive (etc)
_bin         -- simple, fast
_general_ci  -- fails to compare multiletters; eg ss=ß, somewhat fast
...          -- slower
_0900_       -- (8.0) much faster because of a rewrite

Více informací:



  1. Vyladění operací vstupu/výstupu (I/O) pro PostgreSQL

  2. postgresql instalace jediné instance

  3. Používání heterogenních služeb Oracle® se dvěma zdroji dat ODBC

  4. CHECK CONSTRAINT řetězce obsahovat pouze číslice. (Oracle SQL)