WEB - ПРОГРАММИРОВАНИЕ & СОФТ ДЛЯ ФОРЕКС
WEB - ПРОГРАММИРОВАНИЕ & СОФТ ДЛЯ ФОРЕКС


Софт и программы анализа рынка форекс. Программы позволяют проводить анализ рынка форекс, строить торговые модели и выстраивать экстраполяцию цены. На этом сайте Вы можете бесплатно скачать программы, которые помогут Вам.

Вход

Забыли пароль?



Ноябрь 2017
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
27282930   

Календарь Календарь

Опрос

Пользуетесь ли Вы специальными программами для анализа рынка форекс?

46% 46% [ 55 ]
18% 18% [ 21 ]
11% 11% [ 13 ]
26% 26% [ 31 ]

Всего проголосовало : 120

Похожие темы
    Социальные закладки
    Социальные закладки Digg  Социальные закладки Delicious  Социальные закладки Reddit  Социальные закладки Stumbleupon  Социальные закладки Slashdot  Социальные закладки Yahoo  Социальные закладки Google  Социальные закладки Blinklist  Социальные закладки Blogmarks  Социальные закладки Technorati  

    Поместите адрес форума ФОРЕКС. ПРОГРАММЫ ДЛЯ АНАЛИЗА РЫНКА на вашем сайте социальных закладок (social bookmarking)

    Поместите адрес форума WEB - ПРОГРАММИРОВАНИЕ & СОФТ ДЛЯ ФОРЕКС на вашем сайте социальных закладок (social bookmarking)

    Последние темы
    » индикатор Linear Regression Curve
    Пт Янв 09, 2015 5:40 am автор niksamm

    » Конкурс на форуме Roboforex
    Вт Янв 06, 2015 10:00 pm автор Avsinth

    » Конкурс на демо счетах от компании Roboforex
    Пн Янв 05, 2015 10:04 pm автор roboreal

    » Подскажите веб-студию для создания сайта?
    Ср Окт 15, 2014 9:49 pm автор FiveStars

    »  Real Time Quotes Downloader 1.4 - программа получения котировок
    Сб Сен 13, 2014 5:00 pm автор vazkattat

    » Invest-System автоматическая программа для Forex
    Пт Май 23, 2014 5:30 pm автор mick541

    » Приложение AutoGraf 4.
    Пт Апр 04, 2014 10:30 pm автор Alyona_AG

    »  FxRealTrade
    Вт Фев 18, 2014 9:01 pm автор promoterxx

    » Love box теперь для компьютера
    Сб Фев 08, 2014 12:29 am автор Нурсултан

    » Скачать бесплатно индикатор Zoomer Pro
    Вт Дек 17, 2013 1:41 pm автор Evgark

    » Бесплатная программа - Учет сделок на форекс
    Вс Ноя 17, 2013 8:13 pm автор antonbergov

    » TirelessRobot
    Вс Окт 20, 2013 4:20 pm автор nika88

    » Как начать проводить игру Денежный поток в своем городе?
    Ср Окт 02, 2013 2:57 pm автор Vitamen

    » MACD на зыке RULANG
    Пн Сен 23, 2013 7:57 pm автор АлександрЯ

    » TirelessRobot
    Ср Сен 18, 2013 7:19 pm автор monika777

    » Пользуетесь ли Вы специальными программами для анализа рынка форекс
    Вс Сен 01, 2013 6:41 pm автор Rstone

    » Как заработать на рынке Forex?
    Вс Сен 01, 2013 6:34 pm автор Rstone

    » Как не потерять заработанное и куда грамотно вложить свои деньги - бесплатный вебинар
    Пт Авг 16, 2013 3:18 pm автор Vitamen

    » ForexClock - форекс-часы с аналитикой
    Пт Июл 19, 2013 11:21 pm автор dolgicky

    » Сам себе Антикризисный Управляющий - бесплатный вебинар
    Вт Июл 09, 2013 4:57 pm автор Vitamen

    » Как написать свою первую книгу чтобы повысить уровень продаж? - бесплатный вебинар
    Вт Июл 09, 2013 4:26 pm автор Vitamen

    » Поиск: новые программы скачать бесплатно
    Вс Июл 07, 2013 10:30 pm автор Rostik

    » Онлайн-тренинг - Защити свои деньги! От инфляции, мошенников и глупых инвестиций
    Сб Май 04, 2013 12:28 am автор Vitamen

    » Скачать программу для создания советников и индикаторов МТ4 и МТ5.
    Пн Апр 22, 2013 12:01 am автор Kasper_68

    » программа для создания советника
    Сб Апр 20, 2013 3:20 pm автор maksad

    » Как пенсионеру получать 13-ю пенсию в размере 12 000 рублей в год в течение 10 лет?
    Вт Апр 02, 2013 8:08 pm автор Vitamen

    » Первый этап создания информационной системы управления (ИСУ) для предприятия
    Чт Мар 28, 2013 5:59 pm автор Admin

    » Forex Tester - это профессиональная программа (тренажер), предназначенная для обучения трейдеров и приобретения ими необходимых навыков для успешной работы на рынке Forex. Она воспроизводит изменения валютных курсов за любой выбранный период с регулируемо
    Ср Фев 20, 2013 1:11 pm автор ipmiha

    » СКРИПТ, ЧАСТИЧНО ЗАКРЫВАЮЩИЙ СДЕЛКУ НА ФОРЕКС
    Пт Фев 15, 2013 10:16 am автор nikol

    » Автоматическая и ручная торговая система для рынка Forex
    Чт Ноя 15, 2012 12:37 pm автор Борис2233

    »  OmniTrader - программа технического анализа
    Пн Окт 22, 2012 11:37 pm автор xxx1988

    »  Investor's Dream 1.99.1 - программа торговой системы Билла Вильямса
    Сб Сен 15, 2012 7:32 am автор seva1seva1

    » СПИСОК ПРОГРАММ ДЛЯ ФОРЕКС
    Сб Авг 25, 2012 4:20 pm автор telecserega

    » Forex Market Hours - расписание торговых сессий на форекс
    Сб Авг 25, 2012 4:17 pm автор telecserega

    » Поиск по сайту
    Сб Авг 04, 2012 11:59 pm автор Admin

    » Считаете ли Вы, что скачивание файлов на этом сайте необходимо сделать платным ?
    Пт Июл 27, 2012 8:58 am автор vodoley

    »  Tradeguider 2.2.1.5 RT - программа - торговая система
    Пн Май 28, 2012 4:00 pm автор godok

    »  ASCTrend for Omega Prosuite 3.51 - готовая торговая система трейдера
    Пн Май 28, 2012 3:40 am автор ПавелСевер

    » PHP: Получить список баз данных сервера
    Вт Апр 10, 2012 11:10 pm автор Admin

    » MySQL очень быстрый, многопоточный, многопользовательский и поддерживающий SQL (Structured Query Language) сервер баз данных.
    Пн Апр 09, 2012 2:19 am автор Admin

    » Данное учебное пособие предназначено для изучения основ языка SQL - стандартного языка манипулирования данными в СУБД, реализующих реляционную модель данных. Описывается синтаксис наиболее употребимых операторов языка SQL, приводятся примеры. Обучающимся
    Пн Апр 09, 2012 2:17 am автор Admin

    » SELECT применяется для извлечения строк, выбранных из одной или нескольких таблиц. Выражение select_expression задает столбцы, в которых необходимо проводить выборку. Кроме того, оператор SELECT можно использовать для извлечения строк, вычисленных без ссы
    Пн Апр 09, 2012 2:12 am автор Admin

    » Выбор данных представляет собой наиболее часто встречающуюся операцию, выполняемую с помощью SQL. Оператор SELECT — один из самых важных операторов этого языка, применяемый для выбора данных. Синтаксис этого оператора имеет следующий вид:
    Пн Апр 09, 2012 2:09 am автор Admin

    » Первая страница на PHP Создайте файл с именем hello.php в корневом каталоге веб-сервера (DOCUMENT_ROOT) и запишите в него следующее
    Пн Апр 09, 2012 2:06 am автор Admin

    » "Как реализовать следующее: есть два HTML списка select, нужно динамически с помощью Javascript заполнить второй список по значению, выбранному в первом? И если я таких селектов связанных захочу много, а не два?" - эти вопросы были вчера заданы мне по ась
    Пн Апр 09, 2012 1:39 am автор Admin

    » Устанавливает форму курсора, когда он находится в пределах элемента. Вид курсора зависит от операционной системы и установленных параметров.
    Пн Апр 09, 2012 1:31 am автор Admin

    » CSS: color
    Пн Апр 09, 2012 1:29 am автор Admin

    » Универсальное свойство border позволяет одновременно установить толщину, стиль и цвет границы вокруг элемента. Значения могут идти в любом порядке, разделяясь пробелом, браузер сам определит, какое из них соответствует нужному свойству. Для установки гран
    Пн Апр 09, 2012 1:25 am автор Admin

    » Универсальное свойство background позволяет установить одновременно до пяти характеристик фона. Значения могут идти в любом порядке, браузер сам определит, какое из них соответствует нужному свойству. Для подробного ознакомления смотрите информацию о кажд
    Пн Апр 09, 2012 1:22 am автор Admin

    » Универсальное свойство, позволяющее одновременно задать стиль маркера, его положение, а также изображение, которое будет использоваться в качестве маркера. Для подробного ознакомления смотрите информацию о каждом свойстве list-style-type, list-style-posit
    Пн Апр 09, 2012 1:18 am автор Admin

    » Поле <textarea> представляет собой элемент формы для создания области, в которую можно вводить несколько строк текста. В отличие от тега <input> в текстовом поле допустимо делать переносы строк, они сохраняются при отправке данных на сервер.
    Пн Апр 09, 2012 1:13 am автор Admin

    » Таблица «безопасных» HTML цветов
    Пн Апр 09, 2012 12:48 am автор Admin

    » Подсказки, которые отображаются обычно серым цветом внутри INPUT или TEXTAREA, довольно распространнены сейчас. Это удобный способ показать пользователю, что необходимо вводить в данное поле.
    Пн Апр 09, 2012 12:36 am автор Admin

    » Тег <nobr> уведомляет браузер отображать текст без переносов. Если этого тега в коде документа нет, а также имеются переводы строки, они игнорируются и текст выравнивается по левому краю окна браузера или родительского элемента. При этом браузер переводы
    Пн Апр 09, 2012 12:29 am автор Admin

    » Тег <a> является одним из важных элементов HTML и предназначен для создания ссылок. В зависимости от присутствия атрибутов name или href тег <a> устанавливает ссылку или якорь. Якорем называется закладка внутри страницы, которую можно указать в качестве ц
    Пн Апр 09, 2012 12:27 am автор Admin

    » HTML предлагает шесть заголовков разного уровня, которые показывают относительную важность секции, расположенной после заголовка. Так, тег <h1> представляет собой наиболее важный заголовок первого уровня, а тег <h6> служит для обозначения заголовка ше<H1>
    Пн Апр 09, 2012 12:22 am автор Admin

    » Список базовых тегов HTML
    Пн Апр 09, 2012 12:14 am автор Admin

    » Составление структурной схемы интернет - приложения
    Вс Апр 08, 2012 11:39 pm автор Admin

    » Этапы создания интернет - приложения
    Вс Апр 08, 2012 11:36 pm автор Admin

    »  Metastock 9.0 - программа технического анализа
    Сб Мар 31, 2012 3:02 pm автор Яков 2

    » ОПИСАНИЕ ПРОГРАММЫ AUTOCHARTIST
    Пт Мар 30, 2012 2:45 pm автор vitaly363

    » Metastock Pro 11.0 for eSignal torrent скачать
    Вт Мар 13, 2012 7:50 pm автор Евг750

    » ИНФОРМАЦИОННЫЕ СИСТЕМЫ И СТРАТЕГИИ
    Ср Мар 07, 2012 9:13 am автор Admin

    »  СТРАТЕГИИ ФОРЕКС
    Ср Мар 07, 2012 9:10 am автор Admin

    » Форекс - системы и стратегии
    Ср Мар 07, 2012 9:08 am автор Admin

    » Автоматическая и ручная торговая система для рынка Forex
    Вт Мар 06, 2012 3:35 pm автор Борис2233

    » УРОВНИ МЮРРЕЯ ФОРЕКС
    Чт Фев 23, 2012 12:59 pm автор Eucharis

    » Скачать гениратор советников и индикаторов MT4 и MT5.
    Вт Фев 21, 2012 3:55 pm автор 2wsxcde

    » Forex EA Generator
    Вс Фев 19, 2012 12:53 pm автор 2wsxcde

    » ИНФОРМАЦИОННЫЕ СИСТЕМЫ УПРАВЕНИЯ ПРЕДПРИЯТИЕМ
    Ср Фев 08, 2012 10:01 pm автор Admin

    » Пособие для начинающего трейдера [2011г.]
    Пт Янв 20, 2012 5:55 pm автор leviafan

    » Re: Cоздания советников и индикоторов МТ4
    Чт Янв 19, 2012 9:01 pm автор 2wsxcde

    » Re: Программы для создания советников и индикоторов МТ4 и МТ5.
    Чт Янв 19, 2012 8:57 pm автор 2wsxcde

    » КАК СДЕЛАТЬ СОВЕТНИКА. ПРОГРАММА FOREX OPTIMIZER
    Сб Янв 14, 2012 2:59 pm автор Konstantin Pavlov

    » Скачать гениратор советников и индикаторов MT4 и MT5.
    Ср Янв 11, 2012 7:05 pm автор 2wsxcde

    » скачать Forex Optimizer TT Версия 2.7
    Вс Янв 08, 2012 10:20 am автор kavota

    » FAM Generator
    Вс Ноя 27, 2011 4:29 pm автор nord77

    » СКАЧАТЬ СБОРНИК ФОРЕКС СИСТЕМ
    Вс Ноя 20, 2011 4:37 pm автор UNISOFT

    » НОВЫЕ ПРОГРАММЫ ДЛЯ ФОРЕКС (FOREX)
    Чт Ноя 17, 2011 11:20 pm автор aleksas1

    » Как правильно выбрать и купить систему форекс?
    Чт Окт 27, 2011 3:15 pm автор Foxter

    » ЮРИДИЧЕСКОЕ АГЕНТСТВО ДЛЯ ТРЕЙДЕРОВ ФОРЕКС
    Пн Окт 10, 2011 9:31 pm автор Admin

    » http://invest-system.net/partner/29005
    Пт Сен 30, 2011 6:39 pm автор masadoje

    » СКАЧАТЬ ФОРЕКС ТЕСТЕР (FOREX TESTER)
    Ср Сен 28, 2011 9:18 pm автор AVB

    » Торговля и склад. УСУ-Универсальная Система Учета
    Пт Сен 23, 2011 9:09 pm автор Гость

    » Сборник лучших готовых трендовых форекс систем. Их собрано более 15.
    Сб Сен 17, 2011 10:41 pm автор UNISOFT

    » ФОРЕКС. ПРОГРАММЫ ТЕХНИЧЕСКОГО АНАЛИЗА
    Вт Сен 06, 2011 3:18 pm автор UNISOFT

    » ФОРЕКС. ТОРГОВЫЕ СИСТЕМЫ И СТРАТЕГИИ
    Вт Сен 06, 2011 3:17 pm автор UNISOFT

    » ПРОГРАММЫ (СОФТ, ПО) ФОРЕКС
    Вт Сен 06, 2011 2:49 pm автор UNISOFT

    » ВОПРОСЫ ПО РАЗРАБОТКЕ И РАБОТЕ ПРОГРАММЫ "ARCHIMED"
    Пт Авг 19, 2011 4:46 pm автор Admin

    » Что искали посетители форекс форума
    Пт Авг 12, 2011 7:21 pm автор Admin

    » ОПИСАНИЕ ТОРГОВОЙ СИСТЕМЫ ДЛЯ ФОРЕКС - ЭЛЕМЕНТ
    Пт Авг 05, 2011 8:34 pm автор Гость

    » Программы для работы на рынке форекс (forex)
    Пт Авг 05, 2011 8:32 pm автор Гость

    » ПРОГРАММЫ И ТЕРМИНАЛЫ НА ФОРЕКС
    Пт Авг 05, 2011 8:31 pm автор Гость

    » ПРОГРАММЫ ДЛЯ ФОРЕКС
    Пт Авг 05, 2011 8:24 pm автор Гость

    » Forex программы для технического анализа Forex
    Чт Авг 04, 2011 8:29 pm автор Maksim

    » World Market Times - часы мировых торговых сессий FOREX
    Ср Авг 03, 2011 9:38 pm автор Никита Сергеевич

    » pokoje goscinne sopot
    Чт Июл 28, 2011 7:45 am автор Гость

    »  MESA 2002 - программа анализа циклов рынка
    Пн Июн 20, 2011 8:30 pm автор Admin

    » 100% рабочий ключ NOD32 до 2012г
    Пн Июн 20, 2011 8:30 pm автор Admin

    Самые активные пользователи
    Admin
     
    СОФТ ER
     
    Alyona_AG
     
    UNISOFT
     
    Foxter
     
    Scriptong
     
    2wsxcde
     
    ARCHIMED
     
    vilis
     
    valera606
     

    Устанавливает форму курсора, когда он находится в пределах элемента. Вид курсора зависит от операционной системы и установленных параметров.

    Пн Апр 09, 2012 1:31 am автор Admin

    CSS: cursor

    Краткая информация

    Значение по умолчанию auto
    Наследуется Да
    Применяется Ко всем элементам

    Версии CSS

    CSS 1 CSS 2 CSS 2.1 CSS 3

    Описание

    Устанавливает форму курсора, когда он находится в пределах элемента. Вид курсора зависит от операционной системы и установленных параметров.

    Прежде чем воспользоваться возможностью …

    [ Полное чтение ]

    Комментарии: 0

    CSS: color

    Пн Апр 09, 2012 1:29 am автор Admin

    CSS: color

    Краткая информация

    Значение по умолчанию Зависит от настроек браузера, обычно черный цвет
    Наследуется Да
    Применяется Ко всем элементам

    Версии CSS

    CSS 1 CSS 2 CSS 2.1 CSS 3

    Описание

    Определяет цвет текста элемента.
    Синтаксис

    color: цвет | inherit
    Значения

    См. цвет

    inherit
    Наследует значение родителя.

    Пример

    XHTML 1.0CSS 2.1IE 9Cr 15Op 11Sa 5Fx 8
    Код:



    [ Полное чтение ]

    Комментарии: 0

    Универсальное свойство border позволяет одновременно установить толщину, стиль и цвет границы вокруг элемента. Значения могут идти в любом порядке, разделяясь пробелом, браузер сам определит, какое из них соответствует нужному свойству. Для установки гран

    Пн Апр 09, 2012 1:25 am автор Admin

    CSS: border

    Краткая информация

    Значение по умолчанию Зависит от использования
    Наследуется Нет
    Применяется Ко всем элементам

    Версии CSS

    CSS 1 CSS 2 CSS 2.1 CSS 3

    Описание

    Универсальное свойство border позволяет одновременно установить толщину, стиль и цвет границы вокруг элемента. Значения могут идти в любом порядке, разделяясь …

    [ Полное чтение ]

    Комментарии: 0

    Универсальное свойство background позволяет установить одновременно до пяти характеристик фона. Значения могут идти в любом порядке, браузер сам определит, какое из них соответствует нужному свойству. Для подробного ознакомления смотрите информацию о кажд

    Пн Апр 09, 2012 1:22 am автор Admin

    CSS: background

    Краткая информация

    Значение по умолчанию transparent || none || repeat || scroll || 0% 0%

    Наследуется Нет
    Применяется Ко всем элементам

    Ссылка на спецификацию http://программы для валютного рынка форекс и бирж.w3.org/TR/CSS21/colors.html#propdef-background

    Версии CSS

    CSS 1 CSS 2 CSS 2.1 CSS 3

    Описание

    Универсальное свойство background позволяет установить …

    [ Полное чтение ]

    Комментарии: 0

    Универсальное свойство, позволяющее одновременно задать стиль маркера, его положение, а также изображение, которое будет использоваться в качестве маркера. Для подробного ознакомления смотрите информацию о каждом свойстве list-style-type, list-style-posit

    Пн Апр 09, 2012 1:18 am автор Admin

    CSS: list-style

    Описание

    Универсальное свойство, позволяющее одновременно задать стиль маркера, его положение, а также изображение, которое будет использоваться в качестве маркера. Для подробного ознакомления смотрите информацию о каждом свойстве list-style-type, list-style-position и list-style-image отдельно.
    Синтаксис

    list-style: list-style-type || list-style-position || …

    [ Полное чтение ]

    Комментарии: 0

    Статистика
    Всего зарегистрированных пользователей: 4498
    Последний зарегистрированный пользователь: elisesmu

    Наши пользователи оставили сообщений: 645 в 386 сюжете(ах)
    Кто сейчас на форуме
    Сейчас посетителей на форуме: 2, из них зарегистрированных: 0, скрытых: 0 и гостей: 2 :: 1 поисковая система

    Нет

    [ Посмотреть весь список ]


    Больше всего посетителей (88) здесь было Сб Июл 29, 2017 11:52 pm
    loc


    Вы не подключены. Войдите или зарегистрируйтесь

    MySQL очень быстрый, многопоточный, многопользовательский и поддерживающий SQL (Structured Query Language) сервер баз данных.

    Предыдущая тема Следующая тема Перейти вниз  Сообщение [Страница 1 из 1]

    Admin

    avatar
    Admin
    Основная информация про MySQL

    MySQL очень быстрый, многопоточный, многопользовательский и поддерживающий SQL (Structured Query Language) сервер баз данных.

    MySQL является free software. Он лицензируется по GNU GENERAL PUBLIC LICENSE gnu.org.

    Сайт MySQL предоставляет последнюю информацию касательно MySQL.

    Следующий перечень описывает наиболее интересные места руководства:

    Все о разработчиках MySQL можно узнать в разделе "1.1.2 Что такое MySQL AB".
    Обсуждение основных возможностей MySQL приведено в разделе "1.1.4 Основные возможности MySQL".
    Для новичков предусмотрен раздел "2 Введение в MySQL".
    Примеры на SQL и информация по тестированию производительности есть в каталоге sql-bench дистрибутива.
    Перечень известных на сегодняшний день проблем и дефектов приведен в разделе "1.2.7 Известные ошибки в MySQL".

    ВАЖНО:

    Сообщения об ошибках также как вопросы и комментарии, должны быть посланы списку рассылки mysql@lists.mysql.com. Подробности в разделе "Как сообщать о проблемах и сбоях". Скрипт mysqlbug должен использоваться, чтобы генерировать отчеты об ошибках. Для дистрибутивов исходных текстов скрипт mysqlbug может быть найден в каталоге scripts. Для двоичных дистрибутивов mysqlbug находится в каталоге bin. Если Вы нашли ошибку защиты в MySQL, Вы должны послать e-mail на security@mysql.com.

    Если Вы имеете любые предложения относительно добавлений или исправлений этого руководства, пожалуйста, пошлите их на docs@mysql.com.
    1.1 MySQL, MySQL AB и Open Source
    1.1.1 Что такое MySQL

    MySQL представляет собой очень популярную систему управления базами данных с открытыми исходными текстами, разрабатываемую MySQL AB. MySQL AB является коммерческой компанией, строящей свой бизнес на сервисах, сосредоточенных на базе данных MySQL. Подробности в разделе "1.1.2 Что такое MySQL AB".

    MySQL представляет собой систему управления базами данных.
    Базой данных называют структурированный набор данных. Это может быть чем угодно: от простого перечня покупок до галереи изображений. Чтобы добавлять, обращаться и обрабатывать данные, сохраненные в компьютерной базе данных, Вы нуждаетесь в системе управления базы данных, типа MySQL. Так как компьютеры очень хороши при обработке больших количеств данных, базы данных играют центральную роль в вычислениях, как автономные утилиты, или как части других пакетов прикладных программ.
    MySQL является реляционной СУБД.
    Реляционная база данных сохраняет данные в отдельных таблицах. Это добавляет быстродействие и гибкость. Таблицы связаны определенными отношениями, делающими возможным объединить данные из нескольких таблиц в одном запросе. SQL-часть MySQL ориентирована на Structured Query Language, наиболее общий стандартизированный язык, используемый, чтобы обратиться к компьютерным базам данных.
    MySQL является Open Source Software.
    Open Source означает, что тексты открыты для чтения и правки всем желающим. Любой может скачать MySQL из Internet и использовать его совершенно бесплатно. Любой желающий может изучать исходный текст и изменять его по своему усмотрению. MySQL использует лицензию GPL (GNU General Public License) gnu.org, чтобы определить то, что Вы можете делать с программным обеспечением в различных ситуациях. Если Вы считаете GPL неудобной или должны внедрить MySQL в коммерческую прикладную программу, Вы можете купить коммерчески запатентованную версию у авторов.
    Почему используют MySQL?
    MySQL очень быстр, надежен и легок в использовании. Если это то, что Вы ищете, Вы должны попробовать его. MySQL также имеет очень практичный набор свойств, разработанных в очень близком сотрудничестве с пользователями. Вы можете найти сравнение эффективности MySQL с некоторыми другими администраторами баз данных на странице эталонных тестов. Подробности в разделе "14.1.4 Пакет тестов MySQL Benchmark Suite". MySQL был первоначально разработан, чтобы обработать очень большие базы данных намного быстрее, чем существующие решения, и успешно использовался в высокотребовательных промышленных средах в течение нескольких лет. При постоянной разработке MySQL сегодня предлагает богатый и очень полезный набор функций. Связность, быстродействие и защита делают MySQL очень подходящим для обращения к базам данных из Internet.
    Технические возможности MySQL.
    За подробностями отсылаю Вас к разделу "9 Обзор языка MySQL". MySQL является системой "клиент-сервер", состоящей из многопоточного SQL-сервера, который поддерживает различные функции, нескольких различных клиентских программ и библиотек, административных инструментальных средств и нескольких интерфейсов программирования.
    MySQL имеет много дополнительных программ.
    Вероятно, Вы обнаружите, что Ваша любимая прикладная программа или язык программирования уже поддерживает MySQL.

    Официально MySQL произносится как "Май-Эс-Ку-Эль", а не как MY-SEQUEL.
    1.1.2 Что такое MySQL AB?

    MySQL AB является шведской компанией, которая владеет правами на исходные тексты сервера и марку MySQL. Она занимается разработкой, распространением и поддержкой пакета MySQL.

    Авторы ищут партнеров, которые хотели бы поддерживать разработку MySQL так, чтобы они могли бы ускорить темп разработки. Если Вы заинтересованы в этом, напишите на e-mail partner@mysql.com!

    MySQL AB имеет в настоящее время свыше 20 разработчиков ( mysql.com/development/team.html) в платежной ведомости, и это число возрастает быстро.

    Основные источники дохода:

    Коммерческая поддержка высокого качества для MySQL, обеспеченная разработчиками MySQL непосредственно. Если Вы заинтересованы в закупке контракта поддержки, пожалуйста, посетите https://order.mysql.com, чтобы рассмотреть параметры поддержки или собственно заказать поддержку.
    Консультантские услуги. Фирма MySQL AB имеет разработчиков и консультантов в 12 странах и партнеров во многих других странах, которые могут помочь Вам почти с любой проблемой с MySQL. Если Вы нуждаетесь в консультантских услугах, пожалуйста, напишите по e-mail хорошее описание Ваших потребностей на info@mysql.com! Если авторы не смогут обработать это непосредственно, то они обычно могут найти партнера или разработчика, который может помочь Вам с Вашими проблемами.
    Авторы продают лицензии на использование MySQL как встроенной базы данных. Если Вы имеете коммерческую программу, для которой Вам требуется база данных высоких качеств, но Вы не можете позволить себе открыть ее исходники, Вы можете купить право использовать сервер MySQL под нормальным коммерческим авторским правом. Если Вы заинтересованы этим, Вы можете купить лицензию прямо на сайте https://order.mysql.com или написать на licensing@mysql.com.
    Реклама. Сайт mysql.com представаляет собой очень популярное место более, чем с 10000000 показами страницы в месяц (на январь 2001). Сами понимаете, что баннер на таком сайте гарантирует известность в среде Open source, Linux и баз данных. Если это Вам интересно и нужно, напишите на advertising@mysql.com.
    Авторы пакета формируют программу партнеров, чтобы иметь возможность обеспечивать услуги MySQL в каждой стране. Если Вы заинтересованы в том, чтобы стать таким партнером, пишите на partner@mysql.com или посетите сайт программы партнерства mysql.com/information/partners.html.
    Разработчики обеспечивают обучение MySQL через свои программы партнеров. Для получения большего количества информации, пожалуйста, пишите на info@mysql.com.
    Если Вы заинтересованы использованием марки изготовителя MySQL в Вашем маркетинге, Вы можете написать об этом на e-mail info@mysql.com.

    Авторы пакета хотят, чтобы MySQL всегда был:

    Самой лучшей и наиболее используемой базой данных в мире.
    Доступным для всех.
    Легким в использовании, насколько это возможно для такого пакета.
    Непрерывно улучшаемым при дальнейшем пребывании быстрым и безопасным.
    Свободным от ошибок.

    MySQL AB и команда MySQL AB:

    Продвигает в массы философию Open Source (открытых исходных текстов) и поддерживает все сообщество разработчиков Open Source Community.
    Предпочитает партнеров, которые совместно используют знания.
    Отвечают на почту и оказывает поддержку.
    Является виртуальной компанией, работающей в основном по сети.
    Выступает против программных патентов.

    1.1.3 История MySQL

    Началось все с попыток добавить к mSQL драйвер низкого уровня для связи с только что разработанным форматом таблиц (ISAM). Однако, после вдумчивого тестирования, было установлено, что mSQL недостаточно быстр и гибок для этого дела. Это закончилось созданием нового интерфейса SQL к нашей базе данных, но почти с тем же самым интерфейсом API, что и у mSQL. Этот API был выбран, чтобы облегчить перенос кодов для других разработчиков программ.

    Название возникло из сокращения (а вернее, слияния) слов My SQL, что на английском языке значит "мой SQL". Названию около десяти лет, оно прижилось еще в те времена, когда пакет не был коммерческой разработкой.
    1.1.4 Основные возможности MySQL

    Следующий перечень описывает наиболее важные возможности MySQL:

    Полностью многопоточное использование ядерных нитей. Это означает, что пакет может легко использовать много CPUs, если они есть.
    Интерфейсы для языков C, C++, Eiffel, Java, Perl, PHP, Python и Tcl.
    Работает на многих различных платформах.
    Много типов столбцов: целые со знаком или без него длиной 1, 2, 3, 4 и 8 байт, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET и ENUM. Подробности приведены в разделе "5 Типы столбцов". Там все рассказано.
    Очень быстрые объединения, использующие оптимизированное однопроходное объединение многих таблиц.
    Полная поддержка операторов и функций в частях запроса SELECT и WHERE. Например:

    mysql> SELECT CONCAT(first_name, " ", last_name) FROM tbl_name
    WHERE income/dependents > 10000 AND age > 30;

    SQL-функции выполнены через хорошо оптимизированную библиотеку классов и должны выполняться с такой скоростью, с какой только возможно! Обычно не имеется никакого распределения памяти вообще после инициализации запроса.
    Полная поддержка предложений SQL GROUP BY и ORDER BY. Поддержка групповых функций (COUNT(), COUNT(DISTINCT ...), AVG(), STD(), SUM(), MAX() и MIN()).
    Поддержка LEFT OUTER JOIN и RIGHT OUTER JOIN с синтаксисами ANSI SQL и ODBC.
    Вы можете смешивать таблицы из разных баз данных в одном запросе.
    Привилегии и система паролей, которая является очень гибкой и безопасной, и позволяет проверку, основанную на имени хоста. Пароли безопасны потому, что вся передача пароля шифрована, когда Вы соединяетесь с сервером.
    ODBC (Open-DataBase-Connectivity) поддерживается для Win32 (с исходниками). Все функции ODBC 2.5 и многие другие реализованы. Например, Вы можете использовать MS Access для связи с сервером MySQL. Подробности в разделе "13 Поддержка MySQL ODBC".
    Очень быстрые дисковые таблицы B-tree с индексным сжатием.
    Можно иметь до 32 индексов на таблицу. Каждый индекс может состоять от 1 до 16 столбцов или частей столбцов. Максимальная индексная длина 500 байт (это может быть изменено при компиляции MySQL). Индекс может использовать префикс поля CHAR или VARCHAR.
    Записи фиксированной и переменной длины.
    Таблицы в памяти, которые используются как временные таблицы.
    Поддержка поистине огромных объемов данных. Известен случай использования MySQL на 60000 таблиц, хранящих около 5000000000 строк.
    Все столбцы имеют значения по умолчанию. Вы можете использовать вызов INSERT, чтобы вставить подмножество столбцов таблицы. Те столбцы, которым явно не заданы значения, будут автоматически установлены к их значениям по умолчанию.
    Для переносимости использованы GNU Automake, Autoconf и Libtool.
    Пакет написан на C и C++. Оттестирован на всех распространенных компиляторах этих языков.
    Очень быстрая поточно-безопасная система управления памятью.
    Никаких утечек памяти. MySQL тестировался с помощью Purify, коммерческого детектора утечек памяти.
    Есть myisamchk, очень быстрая утилита для проверки таблицы, оптимизации и ремонта. Все функциональные возможности myisamchk также доступны через интерфейс SQL.
    Полная поддержка для нескольких различных наборов символов, включая ISO-8859-1 (Latin1), german, big5, ujis и много других. Например, скандинавские символы `@ringaccent{a}', `@"a' и `@"o' позволяются в именах столбцов и таблиц.
    Все данные сохранены в выбранном наборе символов. Все сравнения для нормальных столбцов нечувствительны к регистру.
    Сортировка выполнена согласно выбранному набору символов (шведский по умолчанию). Возможно изменить это, когда сервер MySQL работает. Чтобы увидеть пример очень продвинутой сортировки, рассмотрите сортировочный код для Czech. MySQL поддерживает много различных наборов символов, которые могут быть определены при компиляции или во время выполнения.
    Псевдонимы на таблицах и именах столбцов доступны как в стандарте SQL92.
    DELETE, INSERT, REPLACE и UPDATE возвращают число строк, которые были изменены (обработаны). Можно взамен вернуть число согласованных строк, устанавливая флажок при соединении с сервером.
    Имена функции не сталкиваются с именами столбцов или таблиц. Например, ABS представляет собой имеющее силу имя столбца. Единственное ограничение: для обращения к функции никакие пробелы не позволяются между именем функции и символом скобки (`('), который следует за ним.
    Все программы пакета MySQL понимают параметры командной строки --help или -? для выдачи справки о параметрах запуска конкретной программы.
    Сервер умеет выдавать сообщения об ошибках и диагностику на разных языках.
    Клиенты могут соединяться с сервером MySQL, используя все мыслимые способы, допустимые в сегодняшних сетях: сокеты TCP/IP, сокеты Unix (под Unix) или даже именованные каналы (под NT).
    MySQL-специфичная команда SHOW может использоваться, чтобы получить информацию относительно баз данных, таблиц и индексов. Команда EXPLAIN может использоваться, чтобы определить, как именно оптимизатор решает запрос.

    1.1.5 Насколько стабилен MySQL?

    Этот раздел сводится к вопросам о том, насколько можно доверять пакету, и сколько шансов, что он разнесет на кусочки важный проект, зависящий от него. Строго говоря, MySQL очень надежен.

    Попробую разъяснить некоторые проблемы и ответить на некоторые из наиболее важных вопросов, которые, кажется, касаются многих. Этот раздел был собран из информации, собранной из списка рассылки (который является очень активным по части сообщений об ошибках и сбоях).

    В TcX MySQL работал без любых проблем в проектах, начиная с середины 1996. Когда MySQL был выпущен на публику, авторы отметили, что имелись некоторые части непроверенного кода, которые были быстро найдены новыми пользователями, делавшими запросы иными способами, чем авторы. Каждый новый выпуск имел меньшее количество проблем мобильности, чем предыдущий (даже при том, что каждый имел много новых свойств).

    Каждый выпуск MySQL был пригоден для использования, и имелись проблемы только, когда пользователи начинали использовать код из серых зон. Естественно, пользователи снаружи не видят то, чем являются серые зоны, этот раздел пытается указать, которые зоны в настоящее время известны. Описания имеют дело с MySQL Version 3.23. Все известные и сообщенные ошибки выправлены в последней версии, за исключением ошибок, перечисленных в отдельном разделе, которые являются проблемами, связанными с проектом. Подробности в разделе "1.2.7 Известные ошибки и проблемы".

    MySQL написан на нескольких уровнях и различных независимых модулях. Эти модули перечислены ниже с индикацией относительно того, как хорошо проверен каждый из них (сравните с MS SQL Server!):

    Драйвер ISAM-таблиц: стабилен.
    Это управляет хранением и поиском всех данных в MySQL Version 3.22 и ранее. Во всех выпусках MySQL не имелось сообщений об ошибках в этом коде. Единственный известный способ получить разрушенную таблицу состоит в том, чтобы уничтожить сервер в середине модификации. Даже это вряд ли уничтожит любые данные потому, что все данные сбрасываются на диск между запросами. Не было отчетов об ошибках относительно потерянных данных из-за ошибок в MySQL.
    Драйвер MyISAM-таблиц: стабилен.
    Это ноовведение MySQL Version 3.23. Это в значительной степени основано на коде ISAM-таблиц, но имеет много новых и очень полезных свойств.
    Лексический анализатор и обработчик команд: стабильны.
    Не было сообщений об ошибках в этой системе в течение длительного времени.
    Клиентский код на C: стабилен.
    Никаких известных проблем. До Version 3.20 имелись некоторые ограничения в размере буферов передачи/приема. Начиная с Version 3.21, буферный размер теперь динамически меняется до значения по умолчанию в 16M.
    Стандартные клиентские программы: стабильны.
    Это касается утилит mysql, mysqladmin, mysqlshow, mysqldump и mysqlimport.
    Поддержка SQL: стабильна.
    Базисная система функций SQL, классы строк и динамическая обработка памяти. Ни одной сообщенной ошибки в этой системе.
    Оптимизатор запросов: стабилен.
    Оптимизатор диапазонов: стабилен.
    Оптимизатор объединений: стабилен.
    Блокировки: пока Gamma.
    Это очень зависит от системы. На некоторых системах имеются большие проблемы при использовании стандарта блокировки OS (fcntl()). В этих случаях Вы должны выполнить MySQL с опцией --skip-locking. Проблемы, как известно, происходят на некоторых Linux-системах и на SunOS при использовании файловых систем по NFS.
    Linux threads: стабильно.
    Главная найденная проблема была с обращением fcntl(), которое исправлено, используя опцию --skip-locking для mysqld. Некоторые пользователи сообщали о проблемах тупика в Version 0.5. LinuxThreads должен быть перетранслирован, если Вы планируете использовать свыше 1000 параллельных подключений. Хотя можно выполнить много подключений с LinuxThreads по умолчанию (однако, Вы никогда не будете иметь более, чем 1021 подключение), заданный по умолчанию лимит стека в 2 МБ делает прикладную программу ненадежной, и она способна свалиться в дамп ядра после создания 1021 неактивных подключений.
    Solaris 2.5+ pthreads: стабильно.
    Мы используем это для всей нашей промышленной работы.
    MIT-pthreads (прочие системы): стабильно.
    Не имелось никаких сообщенных ошибок, начиная с Version 3.20.15, и никаких известных авторам (почувствуйте разницу!) ошибок, начиная с Version 3.20.16. На некоторых системах имеется сильное замедление операций (до 1/20 секунды бездействия между каждыми двумя запросами). Конечно, MIT-pthreads может все немного замедлять, но индексные инструкции SELECT обычно выполняются в одном пакете.
    Другие реализации потоков: Beta-Gamma.
    Версии для других систем все еще очень новые и могут иметь ошибки, возможно, в MySQL, но наиболее часто непосредственно в реализации потоков.
    LOAD DATA..., INSERT...SELECT: стабильно.
    Некоторые люди думали, что они нашли ошибки здесь, но они обычно просто не поняли ситуацию. Пожалуйста, внимательно проверьте руководство перед тем, как сообщать о возникших проблемах!
    ALTER TABLE: стабильно.
    Маленькие изменения в Version 3.22.12.
    DBD: стабильно.
    Сейчас поддерживает Jochen Wiedmann (wiedmann@neckar-alb.de). Спасибо!
    mysqlaccess: стабильно.
    Написан и поддерживается Yves Carlier (Yves.Carlier@rug.ac.be). Спасибо!
    GRANT: стабильно.
    Большие изменения внесены в MySQL Version 3.22.12.
    MyODBC (используется ODBC SDK 2.5): Gamma.
    Это, кажется, уже работает хорошо с некоторыми программами.
    Репликация: Beta/Gamma.
    Авторы все еще работают над репликацией, так что не ожидайте, что это будет твердой скалой. С другой стороны, некоторые пользователи MySQL уже вовсю применяют это свойство с очень хорошими результатами.
    Таблицы BDB: Beta.
    Код Berkeley DB сам по себе очень устойчив, но разработчики пакета все еще улучшают интерфейс между MySQL и таблицами BDB, так что будет требоваться некоторое время прежде, чем все будет надежно.
    Таблицы InnoDB: Beta.
    Это недавнее добавление к MySQL. Они работают хорошо и могут использоваться после начального тестирования.
    Автоматический ремонт таблиц MyISAM: Beta.
    Это воздействует только на новый код, который проверяет, была ли таблица закрыта правильно, и выполняет автоматическую проверку/ремонт таблицы, если это не так.
    Таблицы MERGE: Beta/Gamma.
    Использование ключей на таблицах MERGE все еще не оттестировано как следует. Другая часть кода MERGE проверена.
    FULLTEXT: Beta.
    Текстовый поиск работает, но все еще не используется широко.

    MySQL AB обеспечивает поддержку по электронной почте для покупателей соответствующей услуги, но список рассылки MySQL обычно обеспечивает ответы на общие вопросы. Ошибки обычно исправляются сразу же с помощью патча, для серьезных ошибок почти всегда имеется новый выпуск.
    1.1.6 Насколько большими могут быть таблицы MySQL?

    MySQL Version 3.22 имеет лимит в 4G на размер таблицы. С новым кодом MyISAM в MySQL Version 3.23 максимальный размер таблицы увеличен до 8 миллионов терабайт (2^63 байт).

    Обратите внимание, однако, что операционные системы имеют их собственные ограничения размера файла. Имеются некоторые примеры:
    Операционная система Ограничение размера файла
    Linux-Intel 32 bit 2G, 4G или больше, зависит от версии Linux
    Linux-Alpha 8T (?)
    Solaris 2.5.1 2G (возможно, до 4G с патчем)
    Solaris 2.6 4G
    Solaris 2.7 Intel 4G
    Solaris 2.7 ULTRA-SPARC 8T (?)

    В Linux 2.2 Вы можете получать таблицы больше, чем 2G, используя заплату LFS для файловой системы ext2. В Linux 2.4 существует также заплата для ReiserFS, чтобы получить поддержку для больших файлов.

    Это означает, что размер таблицы для MySQL обычно ограничивается операционной системой, а не самим пакетом.

    По умолчанию таблицы MySQL имеют максимальный размер около 4G. Вы можете проверять максимальный размер таблицы для каждой конкретной таблицы с помощью команды SHOW TABLE STATUS или утилитой myisamchk -dv table_name. Подробности приведены в разделе "4.10 Синтаксис вызова SHOW".

    Если Вы нуждаетесь в таблицах, больших, чем 4G (и Ваша операционная система поддерживает это), Вы должны установить параметры AVG_ROW_LENGTH и MAX_ROWS, когда Вы создаете Вашу таблицу. Подробности в разделе "7.3 Синтаксис CREATE TABLE". Вы можете установить их и позже с помощью ALTER TABLE. Подробности в разделе "7.4 Синтаксис ALTER TABLE ".

    Если Ваша большая таблица нужна только для чтения, Вы могли бы использовать myisampack, чтобы объединить и сжать много таблиц в одну. Утилита myisampack обычно сжимает таблицу по крайней мере на 50%, так что Вы можете иметь намного большие таблицы.

    Вы можете обойти ограничения размера файла операционной системы для файлов данных MyISAM, используя опцию RAID. Подробности в разделе "7.3 Синтаксис CREATE TABLE".

    Другое решение может быть реализовано с помощью библиотеки MERGE, которая позволяет Вам обрабатывать совокупность идентичных таблиц как одну.
    1.1.7 Совместимость с проблемой 2000

    MySQL непосредственно не имеет никаких трудностей с проблемой 2000 (Y2K):

    MySQL использует Unix-функции времени и не имеет никаких проблем с датами до 2069. Все годы с 2 цифрами расценены в интервале от 1970 до 2069, это означает, что, если Вы сохраняете 01 в столбце типа year, MySQL обрабатывает это как 2001.
    Все функции даты в MySQL сохранены в одном файле sql/time.cc и кодированы очень тщательно, чтобы быть абсолютно 2000-безопасными.
    В MySQL Version 3.22 и позже новый тип столбца YEAR может сохранять годы 0 и в интервале от 1901 до 2155 в 1 байте, а также отображать их, используя 2 или 4 цифры.

    Вы можете сталкиваться с проблемами в прикладных программах, которые используют MySQL, но сами несовместимы с проблемой Y2K. Например, много старых прикладных программ сохраняют или управляют значениями лет, используя числа с 2 цифрами (которые являются неоднозначными). Эта проблема также может быть составлена прикладными программами, которые используют 00 или 99 как значения для индикатора "пропустить". В свое время пришлось столкнуться с программой, которая помечала удаленные записи, выставляя им год 00...

    К сожалению, эти проблемы могут быть трудными в исправлении потому, что различные прикладные программы могут быть написаны различными программистами, каждый из которых может использовать различный набор соглашений и обрабатывающих даты функций.

    Имеется простой пример, иллюстрирующий, что MySQL не имеет любых проблем с датами до года 2030:

    mysql> DROP TABLE IF EXISTS y2k;
    Query OK, 0 rows affected (0.01 sec)

    mysql> CREATE TABLE y2k (date date, date_time datetime,
    time_stamp timestamp);
    Query OK, 0 rows affected (0.00 sec)

    mysql> INSERT INTO y2k VALUES
    -> ("1998-12-31","1998-12-31 23:59:59",19981231235959),
    -> ("1999-01-01","1999-01-01 00:00:00",19990101000000),
    -> ("1999-09-09","1999-09-09 23:59:59",19990909235959),
    -> ("2000-01-01","2000-01-01 00:00:00",20000101000000),
    -> ("2000-02-28","2000-02-28 00:00:00",20000228000000),
    -> ("2000-02-29","2000-02-29 00:00:00",20000229000000),
    -> ("2000-03-01","2000-03-01 00:00:00",20000301000000),
    -> ("2000-12-31","2000-12-31 23:59:59",20001231235959),
    -> ("2001-01-01","2001-01-01 00:00:00",20010101000000),
    -> ("2004-12-31","2004-12-31 23:59:59",20041231235959),
    -> ("2005-01-01","2005-01-01 00:00:00",20050101000000),
    -> ("2030-01-01","2030-01-01 00:00:00",20300101000000),
    -> ("2050-01-01","2050-01-01 00:00:00",20500101000000);
    Query OK, 13 rows affected (0.01 sec)
    Records: 13 Duplicates: 0 Warnings: 0

    mysql> SELECT * FROM y2k;
    +------------+---------------------+----------------+
    | date | date_time | time_stamp |
    +------------+---------------------+----------------+
    | 1998-12-31 | 1998-12-31 23:59:59 | 19981231235959 |
    | 1999-01-01 | 1999-01-01 00:00:00 | 19990101000000 |
    | 1999-09-09 | 1999-09-09 23:59:59 | 19990909235959 |
    | 2000-01-01 | 2000-01-01 00:00:00 | 20000101000000 |
    | 2000-02-28 | 2000-02-28 00:00:00 | 20000228000000 |
    | 2000-02-29 | 2000-02-29 00:00:00 | 20000229000000 |
    | 2000-03-01 | 2000-03-01 00:00:00 | 20000301000000 |
    | 2000-12-31 | 2000-12-31 23:59:59 | 20001231235959 |
    | 2001-01-01 | 2001-01-01 00:00:00 | 20010101000000 |
    | 2004-12-31 | 2004-12-31 23:59:59 | 20041231235959 |
    | 2005-01-01 | 2005-01-01 00:00:00 | 20050101000000 |
    | 2030-01-01 | 2030-01-01 00:00:00 | 20300101000000 |
    | 2050-01-01 | 2050-01-01 00:00:00 | 00000000000000 |
    +------------+---------------------+----------------+
    13 rows in set (0.00 sec)

    Это показывает, что типы DATE и DATETIME не будут давать никаких проблем с будущими датами (они легко обрабатывают даты вообще до 9999 года).

    Тип TIMESTAMP, который используется, чтобы сохранить текущее (актуальное) время, имеет диапазон только до 2030-01-01. TIMESTAMP имеет диапазон от 1970 до 2030 на 32-разрядных машинах (значение со знаком). На 64-разрядных машинах это обрабатывает времена до 2106 года (значение без знака).

    Даже при том, что MySQL Y2K-совместим, Вы отвечаете за то, чтобы обеспечить однозначный ввод. Подробности в разделе "5.2.1 Проблема Y2K и типы Date", там описаны правила MySQL для ввода дат с неоднозначными данными (данные, содержащие значения года с 2 цифрами).
    1.2 MySQL и стандарты

    Этот раздел описывает, как MySQL соответствует стандартам ANSI SQL. MySQL имеет много расширений для них, здесь Вы выясните, что они из себя представляют, и как использовать их. Вы также найдете информацию относительно функциональных возможностей, отсутствующих в MySQL, и как обойти проблемы.
    1.2.1 MySQL-расширения для стандарта ANSI SQL92

    MySQL включает некоторые расширения, которые Вы, вероятно, не будете находить в других базах данных SQL. Предупреждаю, что, если Вы используете их, Ваш код не будет переносимым на другие SQL-серверы. В некоторых случаях Вы можете писать код, который включает MySQL-расширения, но все же является переносимым за счет комментариев формы /*! ... */. В этом случае MySQL анализирует и выполнит код внутри комментария, но другие SQL-серверы игнорируют расширения. Например:

    SELECT /*! STRAIGHT_JOIN */ col_name FROM table1,table2 WHERE ...

    Если Вы добавляете номер версии после '!', синтаксис будет выполнен только, если версия MySQL равна или больше, чем этот номер версии:

    CREATE /*!32302 TEMPORARY */ TABLE (a int);

    Это означает, что, если Вы имеете Version 3.23.02 или более новую, MySQL использует ключевое слово TEMPORARY.

    MySQL-расширения перечислены ниже:

    Поля типов MEDIUMINT, SET, ENUM и разные типы BLOB и TEXT.
    Атрибуты полей AUTO_INCREMENT, BINARY, NULL, UNSIGNED и ZEROFILL.
    Все сравнения строк нечувствительны к регистру по умолчанию, сортировка зависит от текущего набора символов (по умолчанию ISO-8859-1 Latin1). Если Вы не находите это удобным, Вы должны объявить Ваши столбцы с атрибутом BINARY или использовать ключевое слово BINARY, которое заставляет сравнения быть выполненными согласно порядку ASCII, используемому на сервере MySQL.
    MySQL отображает каждую базу данных к каталогу под каталогом данных MySQL, а таблицы внутри базы данных к именам файлов в каталоге баз данных. Это имеет несколько значений:
    Имена баз данных и таблиц в MySQL чувствительны к регистру на операционных системах, которые имеют чувствительные к регистру имена файлов (подобно большинству Unix-систем).
    Имена баз данных, таблиц, индексов, столбцов или псевдонимы могут начинаться с цифр (но не могут состоять исключительно из цифр).
    Вы можете использовать стандартные команды системы, чтобы резервировать, переименовывать, перемещать, удалять или копировать таблицы. Например, чтобы переименовать таблицу, переименуйте файлы .MYD, .MYI и .frm, которым таблица соответствует.
    В инструкциях SQL Вы можете обращаться к таблицам из различных баз данных с помощью синтаксиса db_name.tbl_name. Некоторые SQL-серверы обеспечивают те же самые функциональные возможности, но называют это User space. MySQL не поддерживает пространство таблиц как in: create table ralph.my_table...IN my_tablespace.
    LIKE позволяется на числовых столбцах.
    Использование INTO OUTFILE и STRAIGHT_JOIN допустимо в инструкции SELECT.
    Опция SQL_SMALL_RESULT в инструкции SELECT.
    Есть инструкция EXPLAIN SELECT, чтобы получить описание того, как таблицы соединены.
    Использование индексных имен на префиксе поля и параметров INDEX или KEY в инструкции CREATE TABLE.
    Применение TEMPORARY или IF NOT EXISTS с CREATE TABLE.
    Применение COUNT(DISTINCT list), где 'list' включает больше, чем один элемент.
    Применение CHANGE col_name, DROP col_name или DROP INDEX, IGNORE или RENAME в вызове команды ALTER TABLE.
    Применение RENAME TABLE.
    Использование нескольких инструкций ADD, ALTER, DROP или CHANGE в одном вызове ALTER TABLE.
    Использование DROP TABLE с ключевым словом IF EXISTS .
    Вы можете удалять много таблиц одиночной инструкцией DROP TABLE.
    Предложение LIMIT в инструкции DELETE.
    Предложение DELAYED в инструкциях INSERT и REPLACE.
    Предложение LOW_PRIORITY в инструкциях INSERT, REPLACE, DELETE и UPDATE.
    Использование LOAD DATA INFILE. Во многих случаях этот синтаксис совместим с Oracle LOAD DATA INFILE.
    Инструкции ANALYZE TABLE, CHECK TABLE, OPTIMIZE TABLE и REPAIR TABLE.
    Инструкция SHOW.
    Строки могут быть обозначены с помощью `"' или `'', а не только `''.
    Использование Escape-символа `\'.
    Инструкция SET OPTION.
    Вы не должны назвать все выбранные столбцы в GROUP BY. Это дает лучшую эффективность для некоторых очень специфических, но совершенно нормальных запросов.
    Можно определять параметры ASC и DESC с вызовом GROUP BY. Очень полезно.
    Чтобы сделать проще для пользователей миграцию из других SQL-сред, MySQL поддерживает псевдонимы для многих функций. Например, все функции строк поддерживают синтаксисы ANSI SQL и ODBC.
    MySQL понимает операторы || и && в качестве OR и AND, как в языке программирования C. В MySQL || и OR синонимы, так же как && и AND. Из-за этого хорошего синтаксиса MySQL не поддерживает оператор ANSI SQL || для конкатенации строк, используйте вместо него CONCAT(). Поскольку CONCAT() берет любое число параметров, просто преобразовать использование || в MySQL.
    CREATE DATABASE или DROP DATABASE.
    Оператор % является синонимом для MOD(). То есть N%M равносильно MOD(N,M). % поддержан для C-программистов и для совместимости с PostgreSQL.
    Операторы =, <>, <=, <, >=,>, <<, >>, <=>, AND, OR или LIKE могут использоваться в сравнениях столбца слева от FROM в инструкции SELECT. Например, так:

    mysql> SELECT col1=1 AND col2=2 FROM tbl_name;

    Функция LAST_INSERT_ID().
    Регулярные выражения с расширениями REGEXP и NOT REGEXP в операторах.
    Вызов функций CONCAT() или CHAR() с одним параметром или больше, чем с двумя параметрами. В MySQL эти функции могут брать любое число параметров.
    Функции BIT_COUNT(), CASE, ELT(), FROM_DAYS(), FORMAT(), IF(), PASSWORD(), ENCRYPT(), md5(), ENCODE(), DECODE(), PERIOD_ADD(), PERIOD_DIFF(), TO_DAYS() и WEEKDAY().
    Использование TRIM() для подрезания подстрок. ANSI SQL поддерживает удаление только одиночных символов.
    В GROUP BY можно использовать STD(), BIT_OR() и BIT_AND().
    Применение REPLACE вместо связки DELETE+INSERT.
    Инструкция FLUSH flush_option.
    Возможность устанавливать переменные в инструкции через :=:

    SELECT @a:=SUM(total),@b=COUNT(*),@a/@b AS avg FROM test_table;
    SELECT @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3;

    1.2.2 Отличия MySQL от ANSI SQL92

    Авторы пробуют заставить MySQL следовать стандартам ANSI SQL и ODBC SQL, но в некоторых случаях MySQL обрабатывает некоторые дела по-другому:

    -- является комментарием, только если сопровождается незаполненным пространством. Подробности чуть ниже.
    Для столбцов VARCHAR конечные пробелы будут удалены, когда значение сохранено. Подробности в разделе "1.2.7 Известные ошибки и проблемы".
    В ряде случаев столбцы типа CHAR тихо меняются на столбцы типа VARCHAR.
    Привилегии для таблицы автоматически не отменяются, когда Вы удаляете таблицу. Вы должны явно выдать REVOKE, чтобы отменить все привилегии для таблицы.
    NULL AND FALSE вернет NULL вместо FALSE, чтобы не возиться долго с оценкой выражений.

    1.2.3 Запуск MySQL в режиме ANSI

    Если Вы запустили mysqld с опцией --ansi, поведение MySQL изменится следующим образом:

    || является конкатенацией строк, а не OR.
    Вы можете иметь любое число пробелов между именем функции и `('. Это вынуждает все имена функций обрабатываться как зарезервированные слова.
    `"' будет цитировать идентификаторы (аналогично MySQL ``'), но не строки.
    REAL превратится в синоним для FLOAT вместо синонима для DOUBLE.
    Заданный по умолчанию уровень изоляции транзакции: SERIALIZABLE. Подробности в разделе "9.2.3 Синтаксис SET TRANSACTION".

    Этого также можно достичь опцией --sql-mode=REAL_AS_FLOAT, PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,SERIALIZE,ONLY_FULL_GROUP_BY.
    1.2.4 Функциональные возможности, отсутствующие в MySQL

    Следующие функциональные возможности отсутствуют в текущей версии MySQL. Есть список, указывающий, когда новые расширения могут быть добавлены к MySQL (с их приоритетами), его можно посмотреть в Интернете по адресу mysql.com/documentation/manual.php?section=TODO.
    1.2.4.1 Вложенные операторы select (sub-selects)

    MySQL в настоящее время поддерживает sub-selects только в виде INSERT ... SELECT ... и REPLACE ... SELECT .... Вы можете, однако, использовать функцию IN() в других контекстах.

    Во многих случаях Вы можете переписать запрос без sub-select:

    SELECT * FROM table1 WHERE id IN (SELECT id FROM table2);

    Это может быть переделано так:

    SELECT table1.* FROM table1,table2 WHERE table1.id=table2.id;

    Запросы:

    SELECT * FROM table1 WHERE id NOT IN (SELECT id FROM table2);
    SELECT * FROM table1 WHERE NOT EXISTS (SELECT id FROM table2
    where table1.id=table2.id);

    Могут быть переделаны так:

    SELECT table1.* FROM table1 LEFT JOIN table2 ON table1.id=table2.id
    where table2.id IS NULL

    Для более сложных подзапросов Вы можете часто создавать временные таблицы, чтобы сохранить подзапрос. В некоторых случаях эта опция не будет работать. Наиболее часто это происходит с инструкциями DELETE, для которых стандарт SQL не поддерживает объединения (за исключением sub-selects). Для этой ситуации имеются два решения, доступные пока подзапросы не поддержаны.

    Первое должно использовать процедурный язык программирования (типа Perl или PHP) чтобы представить на рассмотрение такой запрос SELECT, чтобы получить первичные ключи для записей, которые будут удалены, и затем использовать эти значения, чтобы создать инструкцию DELETE (DELETE FROM ... WHERE ... IN (key1, key2, ...)).

    Второе решение должно использовать интерактивный SQL для автопостроения набора инструкций DELETE при использовании MySQL-расширения CONCAT() (вместо стандартного оператора ||):

    SELECT CONCAT('DELETE FROM tab1 WHERE pkid = ', tab1.pkid, ';')
    FROM tab1, tab2
    WHERE tab1.col1 = tab2.col2;

    Вы можете помещать этот запрос в файл скрипта и переназначать ввод на интерпретатор командных строк mysql, отправив вывод на его вторую копию клиента:

    prompt> mysql --skip-column-names mydb < myscript.sql|mysql mydb

    MySQL 4.0 поддерживает многотабличное удаление, которое может использоваться, чтобы эффективно удалить строки, основанные на информации из одной таблицы (или даже из многих таблиц) в то же самое время.
    1.2.4.2 SELECT INTO TABLE

    MySQL не поддерживает Oracle SQL-расширение SELECT ... INTO TABLE .... MySQL вместо него поддерживает синтаксис ANSI SQL INSERT INTO ... SELECT ..., который является в основном той же самой функциональностью. Подробности в разделе "8.3.1 Синтаксис INSERT ... SELECT ".

    INSERT INTO tblTemp2 (fldID) SELECT tblTemp1.fldOrder_ID
    FROM tblTemp1
    WHERE tblTemp1.fldOrder_ID > 100;

    Альтернативно, Вы можете использовать SELECT INTO OUTFILE... или CREATE TABLE ... SELECT, чтобы решить Вашу проблему.
    1.2.4.3 Транзации

    Поскольку MySQL в настоящее время поддерживает транзакции, следующее обсуждение имеет силу, только если Вы используете не транзакционно-безопасные типы таблицы. Подробности в разделе "9.2.1 Синтаксис BEGIN/COMMIT/ROLLBACK".

    Часто спрашивают, почему MySQL не транзационная база данных?

    MySQL сделал сознательное решение поддерживать другую парадигму для целостности данных: атомные операции. Дело в том, что атомные операции предлагают равную или даже лучшую целостность с намного лучшей эффективностью. Однако, авторы пакета тем не менее оценивают и понимают транзакционную парадигму базы данных и планируют в следующих версиях представить транзакционно-безопасные таблицы. Пользователям будет предоставлена возможность решить, нуждаются ли они в быстродействии атомных операций, или они должны использовать свойства транзакций в своих программах.

    Давайте разберемся в том, как MySQL поддержает строгую целостность, и сравним эти свойства с транзакциями.

    Перво-наперво в транзакционной системе, если Ваши программы в критических ситуациях вызывают rollback вместо commit, транзакционная схема удобней. Кроме того, транзакции гарантируют, что незаконченные модификации или разрушительные действия не будут применены к базе данных немедленно, сервер дает возможность сделать автоматическую обратную перемотку, и Ваша база данных будет сохранена.

    MySQL почти во всех случаях позволяет Вам обойти проблемы включением простых проверок перед модификациями и запуском простых скриптов, которые проверяют целостность базы данных, а также автоматически проводят ремонт. Обратите внимание, что только используя файл регистрации MySQL или даже добавляя один дополнительный файл регистрации, обычно можно востанавливать таблицы без потери целостности данных.

    Кроме того, фатальные модификац

    Посмотреть профиль http://forexsoft.gip-gip.com

    Предыдущая тема Следующая тема Вернуться к началу  Сообщение [Страница 1 из 1]

    Похожие темы

    -

    » Индикатор BINARY OPTIONS BUDDY

    Права доступа к этому форуму:
    Вы не можете отвечать на сообщения

     
    •  

    Создать форум | © PunBB | Бесплатный форум поддержки | Контакты | Сообщить о нарушении | Blog2x2.ru