среда, 28 февраля 2018 г.

SQL скрипты №1

1. Присвоение md5 хеша SUBSTR - обрезам хеш до первых 6 символов:

UPDATE fio SET hash=concat('32',SUBSTR(UPPER(md5(snils)),1,6)) where  snils is not null;
2. Удаление дубликатов:
ALTER IGNORE TABLE fio ADD UNIQUE INDEX(snils);
ALTER TABLE fio DROP INDEX snils; 
3. Очистка таблицы:
TRUNCATE TABLE temp_proverka; 
4. Некоторые варианты сравнения таблиц:
insert into temp_proverka_result select * from fio where  fio.hash in (select temp_proverka.hash from  temp_proverka);
insert into temp_proverka_result_not_data select * from temp_proverka where  temp_proverka.hash not in (select fio.hash from  fio); 
TRUNCATE TABLE temp_proverka_result;
insert into temp_proverka_result (id,hash) select temp_proverka.id,temp_proverka.hash
from fio inner JOIN temp_proverka using (hash); 
TRUNCATE TABLE temp_proverka_result_not_data;
insert into temp_proverka_result_not_data (id,hash)
select temp_proverka.id,temp_proverka.hash from temp_proverka
where hash not in (select hash from fio);
5. Поиск:
SELECT  title FROM  node_revisions WHERE  title  regexp  'тут искомая строка' 
6. Поиск и замена:
UPDATE таблица SET поле = REPLACE (поле, 'текст для замены', 'на что заменять'); 
7. Обновление данных таблицы данными из другой таблицы
update fio t1,temp_proverka t2 set t1.summa = t2.summa where t1.id=t2.id

8. Добавление префикса
UPDATE table SET  table.hash=concat('my_prefix',table.hash) WHERE  table.hash not like 'qwe%';
запрос обновит строки которые не начинаются на "qwe"  и добавит в начало строки my_prefix