Библиотека сайта rus-linux.net
Оглавление
- Введение
- Команды пакета MySQL
- Реализация языка SQL в СУБД MySQL
- Коротко о главном
- ALTER TABLE
- CREATE TABLE
- Типы данных
- Ключи
- BLOB'ы
- Двоичные данные в BLOBS
- CREATE INDEX
- DELETE
- DESCRIBE
- DROP
- DROP INDEX
- GRANT
- SELECT
- Функции
- Логические операторы
- +,-,*,/
- %
- |, &
- -
- ()
- BETWEEN
- BIT_COUNT()
- ELT
- FIELD
- IF
- IFNULL
- ISNULL
- NOT/!
- OR,AND
- SIGN
- SUM()
- = <> <= < >= >
- expr LIKE expr
- expr NOT LIKE expr
- expr REGEXP expr
- expr NOT REGEXP expr
- Математические функции
- ABS
- CEILING
- EXP
- FORMAT
- LOG
- LOG10
- MAX
- MIN
- MOD
- POW
- ROUND
- RAND
- SQRT
- Работа со строками
- CONCAT
- INTERVAL (назывался INTERVALL в предыдущих версиях)
- INSERT
- LCASE
- LEFT
- LENGTH
- LOCATE
- LTRIM
- REPLACE
- RIGHT
- RTRIM
- STRCMP
- SUBSTRING
- STRCMP
- UCASE
- Вспомогательные примочки
- CURDATE
- DATABASE
- FROM_DAYS
- NOW
- PASSWORD
- PERIOD_ADD
- PERIOD_DIFF
- TO_DAYS
- UNIX_TIMESTAMP
- USER
- WEEKDAY
- Групповые функции
- AVG
- SUM
- COUNT
- MIN
- MAX
- Связи
- Псевдонимы
- INSERT INTO
- LOAD DATA INFILE
- SET OPTION
- UPDATE
- SHOW
- Строки
- Числа
- Интерфейс для С (C API)
- Коротко о главном
- Подготовка
- Клиентские функции
- mysql_affected_rows
- mysql_close
- mysql_connect
- mysql_create_db
- mysql_data_seek
- mysql_drop_db
- mysql_eof
- mysql_error
- mysql_fetch_field
- mysql_fetch_lengths
- mysql_fetch_row
- mysql_field_seek
- mysql_free_result
- mysql_get_client_info
- mysql_get_host_info
- mysql_get_proto_info
- mysql_get_server_info
- mysql_insert_id
- mysql_list_dbs
- mysql_list_fields
- mysql_list_processes
- mysql_list_tables
- mysql_num_fields
- mysql_num_rows
- mysql_query
- mysql_real_query
- mysql_reload
- mysql_select_db
- mysql_shutdown
- mysql_stat
- mysql_store_result
- mysql_use_result
- Администрирование пакета
- Запуск mysqld (при загрузке системы)
- Запуск mysqld (при запущенной системе)
- Опции, задаваемые при компиляции пакета
- Выключение альтернативных пользовательских логинов
- Выключение автоматического присваивания значений по умолчанию
- Изменение используемой длины ключа
- Изменение порядка сортировки
- Добавление функций в MySQL
- Быстрая загрузка данных
- Настройка mysqld
- Полезные замечания
- Маленькие хитрости по улучшению производительности
- Оптимизация запросов
- Какая оптимизация выполняется для условия WHERE?
- Оптимизация памяти, используемой таблицами
- Несоответствия типов в INSERT
- О чем говорит номер версии MySQL
- Протокол "клиент-сервер"
- Подробно о таблицах
- Ключи и все о них
- MySQL: планы на будущее
- Потоки в Linux
- Коротко о главном
- Основной интерфейс с perl
- Очень большие числа
- Connect
- Смена порта
- SelectDB
- ListFields
- Query
- ListDBs
- ListTables
- FetchCol
- FetchHash
- FetchRow
- DataSeek
- Обработка двоичных строк
- Потерянные значения
- Метаданные
- Дескриптор базы данных
- Операторный дескриптор
- Предупреждение
- Об авторе интерфейса
- MySQL DBD/DBI PERL API
- Что можно почитать
- _db_push_
- Символы флажка отладки
- _db_pop_
- _db_enter_
- _db_return_
- _db_pargs_
- _db_doprnt_
- _db_dump_
- ListParse
- InList
- PushState
- DoTrace
- DoProfile
- _db_keyword
- Indent
- FreeList
- StrDup
- DoPrefix
- OpenFile
- OpenProfile
- CloseFile
- DbugExit
- DbugMalloc
- static_strtok
- BaseName
- Writable
- ChangeOwner
- _db_setjmp_
- _db_longjmp_
- DelayArg
- perror
- Чем отличается реализация протокола клиент/сервер в MySQL от своего аналога в mSQL?
- Отличия между msql 2.0b7 и MySQL
О чем это?
В этом описании рассматривается СУБД MySQL. Руководство рассчитано на пользователей среднего уровня подготовки. Оно может быть использовано как в качестве справочного руководства по данной СУБД, так и в качестве учебника. В целях его использования в качестве справочника, в самом начале документа предусмотрено полное оглавление.
ЭТО НЕ ПЕРЕВОД ОРИГИНАЛЬНОЙ ДОКУМЕНТАЦИИ! Этот документ написан после прочтения фирменной документации, работы с пакетом и даже попыток его повалить, правда, не слишком удачных. Таким образом, в документе нашлось место и для личного мнения автора по ряду вопросов. Этот абзац мне пришлось включить на основании опыта подготовки подобной документации. Увы, описания, выстраданные кропотливым изучением программ, посчитали примитивным переводом, что говорит о том, что с ними просто не ознакомились должным образом. Я не отрицаю изучения мной оригинальной документации на пакет, но этот документ переводом не является.
С другой стороны, мне понравилась структура оригинальной документации, и я ее по, возможности, придерживался. Однако, структура-это еще не документация.
Данное описание пакета MySQL подготовлено Паутовым Алексеем Валентиновичем в качестве курсовой работы. По вопросам использования данного документа прошу обращаться по e-mail.
Я заранее приношу извинения за ошибки и неточности (если таковые здесь есть), и прошу Вас сообщить мне о них. Я постараюсь их исправить. Я не несу какой-либо ответственности за какие бы то ни было последствия применения данного документа или сведений, изложенных в нем (в частности, упоминания возможных дыр в защите СУБД). Так что, если кто-то, прочитав этот документ возьмет, да и сотрет базу данных записей этак тысяч на сто, то я тут ни при чем!
В заключение хочется попросить Вас, если Вам понравилась эта страничка или пригодилась изложенная здесь информация, послать благодарность автору. Это поможет мне вести статистику того, скольким людям пригодилось хоть что-то из моих трудов.
Ну а теперь к делу...
Что такое MySQL?
MySQL разработал Михаэль Видениус (Michael Widenius, monty@analytikerna.se). MySQL является относительно небольшой и быстрой реляционной СУБД основанной на традициях Hughes Technologies Mini SQL (mSQL).
Последнюю версию MySQL можно скачать с www.tcx.se.
Чем хорош MySQL?
Перечислю основные приятные стороны пакета MySQL.
- Многопоточность. Поддержка нескольких одновременных запросов.
- Оптимизация связей с присоединением многих данных за один проход.
- Записи фиксированной и переменной длины.
- ODBC драйвер в комплекте с исходником
- Гибкая система привилегий и паролей.
- До 16 ключей в таблице. Каждый ключ может иметь до 15 полей.
- Поддержка ключевых полей и специальных полей в операторе CREATE.
- Поддержка чисел длинной от 1 до 4 байт (ints, float, double, fixed), строк переменной длины и меток времени.
- Интерфейс с языками C и perl.
- Основанная на потоках, быстрая система памяти.
- Утилита проверки и ремонта таблицы ( isamchk).
- Все данные хранятся в формате ISO8859_1.
- Все операции работы со строками не обращают внимания на регистр символов в обрабатываемых строках.
- Псевдонимы применимы как к таблицам, так и к отдельным колонкам в таблице.
- Все поля имеют значение по умолчанию. INSERT можно использовать на любом подмножестве полей.
- Легкость управления таблицей, включая добавление и удаление ключей и полей.
Что такое SQL?
SQL - это сокращение от Structured Query Language (структурированный язык запросов). SQL создан для работы с реляционными базами данных. Он позволяет пользователям взаимодействовать с базами данных (просматривать, искать, добавлять и управлять данными). MySQL соответствует спецификации ANSI 92 SQL. Подробности.
Интерфейс с языками программирования
Наиболее простой способ работы с MySQL сводится к использованию программы MySQL. Это клиентская часть СУБД MySQL. Можно выполнять команды SQL непосредственно из командной строки системы unix или из интерактивного режима MySQL. Подробнее о клиентских программах.
СУБД MySQL имеет библиотеку C API. Ее можно использовать для запросов к базе данных, вставки данных, создания таблиц и т.п. C API поддерживает все функции MySQL. Подробности в главе "Интерфейс для С (C API)".
Язык perl поддерживается сразу двумя способами:
- Портирован интерфейс с perl из mini-SQL, разработанный Андреасом Коенигом (Andreas Koenig a.koenig@mind.de ).
- Есть модуль perl DBD
Также доступен 32-битный ODBC драйвер для MySQL. Он позволяет запрашивать и получать данные из других источников с поддержкой ODBC. С подробностями можно ознакомиться на домашней страничке MySQL (увы, только на английском языке).
В заключение хочется попросить Вас, если Вам понравилась эта страничка или пригодилась изложенная здесь информация, послать благодарность автору. Это поможет мне вести статистику того, скольким людям пригодилось хоть что-то из моих трудов.