Архив

Публикации с меткой ‘MySQL’

Суммирование(конкатенация) строковых полей в MySQL

21 Сентябрь 2009 1 комментарий

Недавно понадобилось объединить в одну строку поле всех записей, возвращаемых запросом. Курсором по результату запроса проходить не хотелось, и я с радостью обнаружил существование такого оператора как

group_(). Его синтаксис:

GROUP_CONCAT([DISTINCT] expr [,expr ...]

[ORDER BY {unsigned_integer | col_name | expr}

[ASC | DESC] [,col_name ...]]

[SEPARATOR str_val])

DISTINCT позволяет отобрать только уникальные записи. ORDER BY     ASC и DESC задают порядок сортировки. С помощью  SEPARATOR str_val можно задать разделитель для записей.

Пример:

> SELECT student_name,

-> GROUP_CONCAT(DISTINCT test_score

-> ORDER BY test_score DESC SEPARATOR ‘ ‘)

-> FROM student

-> GROUP BY student_name;

mysql> SELECT student_name,
    ->     GROUP_CONCAT(DISTINCT test_score
    ->               ORDER BY test_score DESC SEPARATOR ' ')
    ->     FROM student
    ->     GROUP BY student_name;
VN:F [1.9.13_1145]
Rating: 10.0/10 (1 vote )
Categories: Общее Tags: , , ,

Пользуемся триггерами(trigger)

28 Август 2009 Нет комментариев

Ранее я писал об использовании Stored Procedures, теперь пришёл черёд триггеров. В отличие от хранимых процедур, триггера я принял сразу. Очень удобная и полезная штука. Если вы хотите отследить вставку, изменение или удаление записи, то триггеры именно для этих задач. Как вы знаете, триггеры можут быть 3 типов(DML): на delete, insert и update; то есть триггер сработает на указанное действие с данными в таблице БД delete, insert или update , в зависимости от его типа. Выполняться он может до(before) или после(after) того действия(delete, insert или update) которое его вызвало. Триггеры before полезны, например,  для того, чтобы вы могли предупредить какое либо недопустимое, или несогласованное с логикой бизнесс процесса действие с данными. Он выполняется до вызвавшего его действия, а значит с помощью него можно это действие отменить, проверив данные на валидность с помощью statements вашего тригера. Триггеры after, выполняютя после действия, которое его инициировало и полезны, например для логирования изменений данных.

Читать далее…

VN:F [1.9.13_1145]
Rating: 9.5/10 (2 votes )

Cast() и Convert().

24 Август 2009 Нет комментариев

Функции () и () дают возможность преобразовывать выражения одного типа в другой.

Для Server синтаксис:

CAST ( expression AS data_type [ (length ) ])

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

Для :

CAST(expr AS type)

CAST() функция принимает данные одного типа и возвращает результат другого типа, как и CONVERT().

CONVERT(expr,type), CONVERT(expr USING transcoding_name)

Подробнее MS http://msdn.microsoft.com/ru-ru/library/ms187928.aspx

и MySQL    http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
Categories: MySQL, SQL Server, T-SQL Tags: , , , ,

Имя базы данных в sql-командах MySqlDataAdapter

15 Август 2009 Нет комментариев

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

Но если Вы используете .NET connector и типизированный DataSet, то столкнетесь с неприятным фактом…
Читать далее…

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes )

Быстрый массовый insert данных.

10 Август 2009 1 комментарий

Одной из часто встречаемых проблем при работе с данными, является скорость вставки большого количества строк в таблицы баз данных. Можно использовать построчную вставку в цикле, но например для достаточно быстро выполнится insert с множественным указанием значений values, например :

insert into tablename(field1,field2) values(val11,val12) ,(val21,val22),(val31,val32),…

Читать далее…

VN:F [1.9.13_1145]
Rating: 10.0/10 (1 vote )

Аналог SQL Server Jobs в MySQL

Администраторы и программисты, имеющие дело с Server, хорошо знают и нередко пользуются Server Agent’а. Вот и начиная с версии 5.1 реализовал нечто подобное. Зовётся новая функция просто Event.
Рассмотрим же её более тщательно. Читать далее…

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes )
Categories: MySQL, SQL Server Tags: , ,

Устанавливаем SQL на PHP

Задались вопросом как установить и подключить MySQL или на PHP, тогда смотрите подробное руководство по установке SQL на PHP.

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes )
Categories: SQL Server Tags: , , ,