Часто используемые запросы

Автор: Aport Суббота, Январь 31st, 2015 Нет комментариев

Рубрика: MySQL

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

SELECT DISTINCT * FROM nametable — При выводе скроет те строки которые в точности схожи

SELECT DATE_FORMAT( tn.odate, ‘%d.%m.%Y’ ) AS data FROM tablename tn  - Выведем поле odate с именем data и изменим формат отображения времени.

SELECT * FROM phpbb_users WHERE user_email IN (‘my-email@test.ru’,'no-my-email@test.ru’);  - выборка из таблицы phpbb_users, где в одной из строк поля phpbb_users присутствует запись my-email@test.ru и/или есть no-my-email@test.ru, то есть проверка на существование. Главный момент здесь — IN с помощью которого и происходит выборка значений, которые указаны в скобках через запятую.

DESCRIBE host — Показать колонки(устанавливаемые правила) таблицы host.

ALTER TABLE forums ADD test int(10) AFTER name — Добавим в таблицу forums новый столбец test, разместив его после столбца name.

ALTER TABLE forums CHANGE man women text — Переименуем созданный столбец man в текстовый столбец women. При изменении только типа столбца, а не его имени происходит тоже самое.

ALTER TABLE forums DROP test — Удалим столбец test

DELETE FROM db WHERE User = ‘ra’ — Удалим из таблицы db стрку где в столбце User есть ячейка со словом ra

DROP TABLE tablename - Удаляем таблицу с именем tablename

DROP DATABASE dbname - Удаляем таблицу с именем dbname

UPDATE forums SET name=’PHP’, hide=1 WHERE id=2 — Обновляем в строке таблицы forums в поле name и поле hide где id этой строки = 2

UPDATE ИМЯ_ТАБЛИЦЫ SET ИМЯ_ПОЛЯ=REPLACE(ИМЯ_ПОЛЯ, ‘ЭТО ЗАМЕНИТЬ’, ‘НА ЭТО’)// замена чего-то во всех ячейках заданного столбца

Для удаления одинаковых записей, можно применять такой запрос:

DELETE my_table
FROM my_table AS table1,
my_table AS table2
WHERE table1.my_field = table2.my_field AND table1.id > table2.id

Добавляем новую строчку:

SET @block_id := (SELECT id FROM menu WHERE title = ‘Каталог’ LIMIT 1);
INSERT INTO admin_menu VALUES (‘Подменю’, @block_id);

SET @id := LAST_INSERT_ID();
INSERT INTO permissions VALUES (1, @id);

Пронумеровать поле таблицы «по-порядку»:

update my_table set
field1 =(select @a:= @a + 1 from (select @a:= 0) s)
order by field2, field3 …

Создание функции:

 

CREATE FUNCTION sphinx_transliteration (doc TEXT) \
RETURNS TEXT DETERMINISTIC \
RETURN replace(replace(replace(‘ю’,'ju’),’я’,'ja’),’»‘,’ ‘)

DROP FUNCTION IF EXISTS sphinx_transliteration

Удачки!

 

Источник: yapro.ru

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты