MySQL: руководство профессионала
Шрифт:
| TRIGGERS |
| USER_PRIVILEGES |
| VIEWS |
+---------------------------------------+
22 rows in set (0.04 sec)
SHOW COLUMNS и DESCRIBE могут отображать информацию относительно столбцов в индивидуальных таблицах INFORMATION_SCHEMA.
Несколько инструкций SHOW были расширены, чтобы позволить предложение WHERE:
SHOW CHARACTER SET
SHOW COLLATION
SHOW COLUMNS
SHOW DATABASES
SHOW FUNCTION STATUS
SHOW KEYS
SHOW OPEN TABLES
SHOW PROCEDURE STATUS
SHOW STATUS
SHOW TABLE STATUS
SHOW TABLES
SHOW VARIABLES
Предложение WHERE,
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset | Description | Default collation | Maxlen |
+----------+-----------------------------+---------------------+--------+
| big5 | Big5 Traditional Chinese | big5_chinese_ci | 2 |
| dec8 | DEC West European | dec8_swedish_ci | 1 |
| cp850 | DOS West European | cp850_general_ci | 1 |
| hp8 | HP West European | hp8_english_ci | 1 |
| koi8r | KOI8-R Relcom Russian | koi8r_general_ci | 1 |
| latin1 | cp1252 West European | latin1_swedish_ci | 1 |
| latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 |
…
Используя предложение WHERE с SHOW CHARACTER SET, Вы обратились бы к тем именам столбца. Например, следующий оператор отображает информацию относительно наборов символов, для которых заданное по умолчанию объединение содержит строку 'japanese':
mysql> SHOW CHARACTER SET WHERE `Default collation` LIKE '%japanese%';
+---------+---------------------------+---------------------+--------+
| Charset | Description | Default collation | Maxlen |
+---------+---------------------------+---------------------+--------+
| ujis | EUC-JP Japanese | ujis_japanese_ci | 3 |
| sjis | Shift-JIS Japanese | sjis_japanese_ci | 2 |
| cp932 | SJIS for Windows Japanese | cp932_japanese_ci | 2 |
| eucjpms | UJIS for Windows Japanese | eucjpms_japanese_ci | 3 |
+---------+---------------------------+---------------------+--------+
Эта инструкция отображает многобайтовые наборы символов:
mysql> SHOW CHARACTER SET WHERE Maxlen > 1;
+---------+---------------------------+---------------------+--------+
| Charset | Description | Default collation | Maxlen |
+---------+---------------------------+---------------------+--------+
| big5 | Big5 Traditional Chinese | big5_chinese_ci | 2 |
| ujis | EUC-JP Japanese | ujis_japanese_ci | 3 |
| sjis | Shift-JIS Japanese | sjis_japanese_ci | 2 |
| euckr | EUC-KR Korean | euckr_korean_ci | 2 |
| gb2312 | GB2312 Simplified Chinese | gb2312_chinese_ci | 2 |
| gbk | GBK Simplified Chinese | gbk_chinese_ci | 2 |
| utf8 | UTF-8 Unicode | utf8_general_ci | 3 |
| ucs2 | UCS-2 Unicode | ucs2_general_ci | 2 |
| cp932 | SJIS for Windows Japanese | cp932_japanese_ci | 2 |
| eucjpms | UJIS for Windows Japanese | eucjpms_japanese_ci | 3 |
+---------+---------------------------+---------------------+--------+
9.28. MySQL 5 FAQ INFORMATION_SCHEMA
9.28.1: Имеется ли форум для обсуждения INFORMATION_SCHEMA?
Да. http://forums.mysql.com/list.php?101.
9.28.2: Где я могу найти спецификацию ANSI SQL 2003 для INFORMATION_SCHEMA?
К сожалению, официальные спецификации недоступны свободно. ANSI делает их доступными только за денежку. Однако, имеются доступные книги, например, SQL-99 Complete, Really by Peter Gulutzan and Trudy Pelzer, которые дают всесторонний краткий обзор стандарта, включая INFORMATION_SCHEMA.
9.28.3: Каково различие между Oracle Data Dictionary и MySQL INFORMATION_SCHEMA?
Oracle и MySQL обеспечивают метаданные в таблицах. Однако, Oracle и MySQL используют различные имена таблиц и столбцов. Реализация MySQL более подобна DB2 и SQL Server, которые также поддерживают INFORMATION_SCHEMA как определено в стандарте SQL.
9.28.4: Я могу изменять таблицы, найденные в базе данных INFORMATION_SCHEMA?
Нет. Прикладные программы могут полагаться на некоторую стандартную структуру, и это не должно измениться. По этой причине MySQL AB не может поддерживать ошибки или другие проблемы, которые следуют из изменения таблиц или данных в INFORMATION_SCHEMA.
Глава 10. Поддержка наборов символов
MySQL включает поддержку набора символов, которая дает возможность Вам сохранить данные, использующие ряд наборов символов и выполнять сравнения согласно ряду объединений. Вы можете определять наборы символов на уровне сервера, базы данных, таблицы и столбца. MySQL поддерживает использование наборов символов для типов хранения MyISAM, MEMORY, NDBCluster и InnoDB.
Эта глава обсуждает следующие темы
Что является наборами символов и объединениями?
Заданная по умолчанию система с многоими уровнями для назначения набора символов.
Синтаксис для определения наборов символов и объединений.
Функции и операции с символами.
Поддержка стандарта Unicode.
Наборы символов и объединения, которые доступны, с примечаниями.
Проблемы набора символов воздействуют на хранение данных, но также и на связь между программами пользователя и сервером MySQL. Если Вы хотите, чтобы программа пользователя связалась с сервером, использующим набор символов, отличный от значения по умолчанию, вы должны будете указать, который именно. Например, чтобы использовать utf8 Unicode, выдайте эту инструкцию после соединения с сервером: