Полезные команды для вебразработчика
MySQL:
1. Массовая замена/добавление текста в столбце в MySQL (Замена слова 'sex' на 'love' в поле data таблицы mylife:)
Если встала необходимость заменить какой-либо текст в таблице MySQL, это можно сделать очень просто
UPDATE mylife SET Field_name = REPLACE(Field_name, 'sex', 'love'); UPDATE lessons SET place='office'; //заполнение столбца значением
2. Дать права другому пользователю в базе MySQL
например вам нужна возможность скриптом на другом сервере подключиться к базе данных, находящейся на этом сервере
GRANT ALL PRIVILEGES ON ee.* TO eeuser@hostname IDENTIFIED BY `password` WITH GRANT OPTION;
3. Перенос строки из одной таблицы БД в другую таблицу
например при модерации записей, одобренные переносим в основную таблицу, удаляя из временной
INSERT INTO table_to (table1.title, table1.date, table1.text) SELECT table_from.title, table_from.date, table_from.text FROM table_from WHERE id = $id; DELETE FROM table_from WHERE id = $id;
4. Импорт в MySQL из файла переведенного в .txt
LOAD DATA INFILE 'path/file.txt' INTO TABLE your_table;
5. Узнать максимальный занятый id
SELECT MAX(id) FROM users
6. Обнуление автоинкремента (ну или установка счёта с какого-то конкретного элемента)
ALTER TABLE users AUTO_INCREMENT = 25
7. Заполнение одного столбца значениями другого (копирование значений из столбца в столбец)
Например когда добавляете новый столбец, и надо в него перенести все значения из соседноего столбца таблицы
UPDATE table_name SET column_new=column_old;
UPDATE t1,t2 SET t1.a=t2.a WHERE t1.id=t2.id;
9. Заменить кусок текста в поле записи в нескольких записях
UPDATE infoforum_mailer_mails SET body = REPLACE(body, '<a href="http://loveyouloveyou/conference/2">http://loveyouloveyou/conference/2</a>', '<a href="http://city.infoforum.ru/organy-gosudarstvennoj-vlasti-regionov-rossii-na-infoforume-evraziyasiti/">http://city.infoforum.ru/organy-gosudarstvennoj-vlasti-regionov-rossii-na-infoforume-evraziyasiti/</a>') WHERE id >= 20381 AND id <= 20400;
10. Обновить несколько строчек в MySQL, добавляя к тексту фрагмент ещё текста. Приписать в хвост существующего начиная с id N и заканчивая id M:
UPDATE table t SET t.body=CONCAT(t.body,'<br /><br /><i><small> Если Вы не заинтересованы получать приглашения от Оргкомитета Инфофорума, просим сообщить нам об этом по электронному адресу <a href="mailto:info@domain.ru?subject=Отписаться%20от%20рассылки%20Инфофорума&body=отписаться">info@domain.ru</a> или по тел. (495)111-11-11</small></i>') WHERE t.id>=20391 AND t.id<=20400;
11. Добавить в таблицу записи из другой таблицы (может неидентичная, но содержит одинаковые столбцы):
INSERT INTO table_site (column1, column2, column3) SELECT column1, column2, column3 FROM table_site2 INSERT INTO table_site1 (category_id, email, name,surname,middle_name,sex,company) SELECT category_id, email, name,surname,middle_name,sex,company FROM table_site2
12. Поменять в таблице два поля местами:
ALTER TABLE `carstock`.`changes` CHANGE COLUMN `name` `name` VARCHAR(45) NOT NULL AFTER `date`;
13. Удалить записи, у которых в столбце NULL
DELETE FROM tbl_album WHERE album IS NULL
14. Удалить дубликаты строк
1) Наиболее действенный (a,b,c - столбцы, которые не должны быть одинаковыми, id - уникальный идентификатор)
DELETE t1 FROM vasya AS t1, vasya AS t2 WHERE t1.a = t2.a AND t1.b = t2.b AND t1.c = t2.c ... AND t1.id > t2.id
2) с созданием ключа из столбцов, которые попарно не должны дублироваться
ALTER IGNORE TABLE tbl_album ADD UNIQUE KEY(artist_id, album(50))
15. Дополнить таблицу значениями другой таблицы, причём, чтобы уже имеющиеся значения не добавлялись (проверка на дублирование)
INSERT INTO ASS ( Nomer_testa, Whole_ass, Gr20, Gr21, Gr22, Kod_tov, Tovar ) SELECT ASS2.Nomer_testa, ASS2.Whole_ass, ASS2.Gr20, ASS2.Gr21, ASS2.Gr22, ASS2.Kod_tov, ASS2.Tovar FROM ASS2 WHERE ass2.Nomer_testa&ass2.Whole_ass&ass2.Gr20&ass2.Gr21&ass2.Gr22&ass2.Kod_tov&ass2.Tovar not in (select ass.Nomer_testa&ass.Whole_ass&ass.Gr20&ass.Gr21&ass.Gr22&ass.Kod_tov&ass.Tovar from ass); // мой вариант INSERT INTO tbl_artist ( name, image, lang ) SELECT artist.name, artist.image, artist.lang FROM artist WHERE artist.name not in (select tbl_artist.name from tbl_artist);
PHP:
1. Обрезать строку до определенного символа
$string = 12345\45;
Нужно отрезать 12345\ что бы осталось 45
end(explode('\\', $string)); или
$a = substr($string, strrpos($string, '\\')+1);
SSH:
Создание архива tar.gz
Создание архива
tar czf loco.tar.gz loco (или tar -czvf loco.tar.gz loco)
Разархивация происходит при помощи команды:
tar -xzvf name.tar.gz
Создание архива zip
zip -r log.zip /var/log
Разархивировать .zip на сервере
unzip mantis.zip либо запустить mc и там тоже набрать unzip mantis.zip
Рекурсивная установка прав на файлы в каталоге, пример: chmod -R <права> <каталог>
chmod -R 777 /home/iuser/files
Установка прав на перечисленные файлы, пример: chmod права файл1 файл2 ... файлN
chmod 777 file1.txt file2.txt ffile3.txt
Для всех битов (a = all) убрать флаги r и w (т.е. запретить чтение и запись)
chmod a-rw /home/user2/folder1/file2.txt
Для группы (g = group) и для других (o = others) добавить флаг чтения (r)
chmod go+r /home/user2/folder1/file9.txt
Информацию о команде chmod можно прочесть в мануале:
man chmod
•• Водяной знак на одно фото
composite -gravity southeast watermark.png 001.jpg dst.jpg
•• водяной знак на все фотки
For f in *.jpg ; do composite -gravity southeast watermark.png "$f" "${f%.jpg}-w.jpg"; done
•• сжатие png
pngcrush -rem alla -brute -reduce arc.png dest.png
•• сжатие jpg
jpegtran -copy none -optimize sec.jpg (>) dest.jpg
** очистка кэша роутов и маршрутов
Windows - ipconfig /flushdns route -f Mac - dscacheutil -flushcache
** трассировка маршрутов
traceroute loco.ru
запуск sh скрипта
sh github.sh
чтобы редактировать открытый в vi файл
s
сохранить
esc +:w + return
выйти без сохранения правок
esc + :q! + return
Просмотр процессов
top - просмотр собственных процессов в реальном времени.
ps auxwj - показывает много полезной информации по текущим процессам, их id, приложения, их вызывающие и тд.
ps aux | grep -i ssh-a
Убить процесс
kill 32301
Команды файловой системы(df и du)
** Информация о использовании жесткого диска
df - (покажет столько места у нас свободно в процентах и килобайтах)
** Список файлов и директорий с указанием размеров (du)
du - (список файлов с размерами в текущей директории. Если вы находитесь в большой директории, то это займет побольше времени. Да и смысл в этом?)
du -sh - (размер текущей папки)
rm -rf folder/ - удалить папку и все файлы в ней
Photoshop:
•• вырезание объекта из фона в Photoshop
1. Открываем картинку и кнопка Q 2. Мягкая кисть 3-10 px 3. Обводим объект 4. Заливаем этот контур 5. Выходим из режима Q 6. Новый слой через вырезание ctrl+J
almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.
Вы можете почитать все статьи от almix'а.
- 1 Git для начинающих. (12.04.2013)
- 0 Лишь этот голос. Наталья Ром – Хочу говорить крaсиво! Техники речи. Техники общения (23.07.2014)
- 0 Путешественнику на заметку: Необходимые выражения на разных языках (28.11.2014)
- 0 Synology и VPN подключение удалённого компьютера. (31.05.2014)
- 0 MySQL и PHP: Вычисление возраста (количество лет) по дате рождения (20.06.2017)
- 0 MySQL: проверить содержится ли значение в поле столбца (в столбце хранится строка значений через запятую) (22.05.2014)
- 0 Браузер не открывает страницы, а скайп и icq работают. Что делать? (12.05.2014)
- 0 Если на флешке пропали файлы (07.02.2014)
- 0 Ошибка при выполнении команды grunt после обновления OS X 10.9: Bus error: 10. Перестал работать grunt (07.11.2013)
- 0 Регулярные выражения в PHP (12.04.2014)
- 0 MySQL: выбираем данные за период времени (за текущий месяц, за эту неделю..) (30.10.2013)
- 0 Как сделать потоковое видео на сайте. (24.10.2013)
- 0 Php функция implode внутри запроса SELECT к MySQL. (02.09.2013)
- 0 Защитить сайт или определённую папку паролем с помощью .htaccess (27.05.2013)
- 0 Удаление папок subversion (.svn) из проекта в Windows (22.03.2013)
- 0 Устанавливаем и настраиваем WampServer (аналог MAMP в Mac и возможная замена Denwer'у) на Windows (22.03.2013)
- 0 Гугл закрывает Google Reader (17.03.2013)
- 0 Сброс пароля для root в mysql установленном через Denwer в Windows (14.03.2013)
- 0 Создание нового репозитория на Github, перенос локального репозитория и обновление удалённого через командную строку (30.03.2013)
- 0 Git "command not found" после обновления OS X до Mountain Lion (20.03.2013)
- 0 Использование веток (branches) в Github при разработке и доработке кода. Как делать pull request автору репозитория. (20.03.2013)
- 0 Полезные команды для вебразработчика (20.11.2017) ← вы тут
- 0 Склейка URL c www, 301 редирект с WWW и без WWW. Один ли сайт? Унифицированный Root (04.09.2013)
- Как включить SSL и сделать редирект на HTTPS. На примере Opencart 2 (03.12.2017)
- Для владельцев барбершопов (01.11.2017)