Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Базы данных -> MySQL -> Документация на MySQL

 

Портирование кода из mSQL в MySQL

Перенос прикладных программ mSQL в MySQL относительно прост.

Сначала выполните скрипт msql2mysql (поставляется вместе с MySQL) над вашим источником. Он оттранслирует имена функций mSQL в имена функций MySQL. Но он не будет корректировать типы параметров или изменять число параметров в функциях MySQL, которые нуждаются в дополнительных параметрах.

Замечания:

  • MySQL использует структуру данных MYSQL как тип для соединения с базой данных (mSQL использует int).
  • mysql_connect получает указатель на структуру MYSQL как параметр. Вы можете определять его глобально или использовать malloc, чтобы его получить.
  • mysql_connect получает 2 дополнительных параметра (логин и пароль пользователя). По умолчанию, они установлены в NULL.
  • mysql_error получает параметр типа MYSQL.

MySQL поставляется с портированными версиями тестовых программ mSQL insert_test.c и select_test.c. Хорошая идея сравнить их с их mSQL эквивалентами. Это должно дать Вам хорошее начало для понимания, что Вы будете должны сделать для портирования mSQL программы в MySQL. Это также даст Вам некоторые мысли о том, что Вы должны делать, чтобы написать свою MySQL программу.

Чем отличается реализация протокола клиент/сервер в MySQL от своего аналога в mSQL?

Имеются значительные различия. Среди них:

  • Буфер сообщений может содержать много строк результатов.
  • На стороне сервера размер буфера сообщений динамически подстраивается по мере необходимости для больших запросов пользователя.
  • Все пакеты пронумерованы, для синхронизации пакетов.
  • Все столбцы представлены в ASCII, длина столбцов и длины строк представлены с помощью двоичного кодирования (1, 2 или 3 байта).
  • MySQL может читать результаты без буферизации.
  • Если одна запись/чтение занимает свыше 30 секунд, сервер закрывает соединение.
  • Если соединение неактивно в течение 8 часов, сервер закрывает соединение.

Отличия между msql 2.0b7 и MySQL

  • CREATE TABLE:

    MySQL: имеет опции для поля: UNSIGNED, ZEROFILL, имеет значение по умолчанию для не пустых полей.

    mSQL: опций не имеет.

  • Создание индексов:

    MySQL:Все индексы должны быть заданы в CREATE TABLE.

    mSQL:Индексы должны быть созданы отдельным оператором CREATE INDEX. (msql использует новый файл ключа для каждого индекса?) Индексы могут быть удалены оператором DROP INDEX

  • Для получения уникального идентификатора при вставке:

    MySQL: Используйте 'auto_increment' как определение типа столбца. Используемый индекс может быть получен после обновления функцией API mysql_insert_id().

    mSQL: Создает структуру SEQUENCE для таблицы и использует функцию __seq для получения уникального индекса.

  • Групповые функции:

    MySQL: count(), avg(), min(), max() и sum(). min() и max() могут принимать строковые аргументы. count(*) оптимизирована для возвращения значения в случае одного столбца.

    mSQL: Нет.

  • Независимый от регистра поиск:

    MySQL: LIKE обязательно не зависит от регистра. Если возможно, MySQL использует индексы при условии, что подобный параметр не начинается с подстановочных знаков.

    mSQL: Использует CLIKE.

  • Поиск с регулярными выражениями.

    MySQL: Использует REGEXP or RLIKE

    mSQL: Использует RLIKE.

  • Какие различия в операторе WHERE:

    MySQL имеет скобки, Скоро он будет иметь полную функциональную поддержку оператора WHERE (это планируется для версии 3.21.X).

  • Имена столбцов:

    MySQL: Если имя столбца уникально, Вы не должны использовать полное имя.

    mSQL: При использовании более чем одной таблицы в SELECT, Вы должны использовать полное имя таблицы.

  • Псевдонимы:

    MySQL: Псевдонимы для таблиц и столбцов.

    mSQL: Псевдонимы для таблиц.

  • Insert/update с вычислениями:

    MySQL: Полная поддержка вычислений. В insert можно использовать значения предшествующих полей.

    mSQL: Только константы в insert и update.

  • Какие формулы могут использоваться в инструкции select:

    MySQL: См. руководство.

    mSQL: Никакие.

  • HAVING:

    MySQL: Поддерживается, но может использовать вычисление только на выбранных полях. Для select на расчетном значении, нужно использовать псевдоним столбца.

    ПРИМЕР:

       SELECT COUNT(*) AS id_count, id FROM groups GROUP BY id
       HAVING id_count > 10
    

    mSQL: Не поддерживается вовсе.

  • Импорт и экспорт данных:

    MySQL: MySQL имеет соответствующие функциональные возможности, включая сервис для импорта данных посредством оператора LOAD DATA INFILE, что весьма ускоряет загрузку данных.

    mSQL: Внешние программы.

    Назад | Содержание | Вперед

     

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.
 
Rambler's Top100