mysql -h HOSTNAME -uUSERNAME -pPASSWD -DDATABASE ;
Просмотр доступных баз:
show databases;
Переключение на работу с нужной базой:
use DATABASE;
Просмотр таблиц:
show tables;
Просмотр структуры интересующей таблицы:
show columns from TABLENAME;
Выборка данных:
select КАКИЕ ПОЛЯ ПОКАЗАТЬ from ИМЯ_ТАБЛИЦЫ where УСЛОВИЯ;
Полезные штуки:
select count(*) ...
посчитает кол-во строк удовлетворяющих условиям
... group by КОЛОНКА
сгрупирует записи у которых если повторяющиеся значения в каком-то поле
... order by КОЛОНКА
отсортирует по полю
select date_format(time, '%Y-%m-%d')
форматирует поле с датой в нужном нам формате
limit 0, 30
ограничивает кол-во строк для вывода в формате: номер строки с которой начинать выборку, кол-во строк которые надо вывести
select sum(КОЛОНКА)
ссумирует значения в колонке
Примеры из жизни:
select date_format(TIME, '%Y-%m-%d'), count(url) from ERRORS where code=504 or code=502 group by to_days(TIME) order by TIME; +-------------------------------+------------+ | date_format(TIME, '%Y-%m-%d') | count(URL) | +-------------------------------+------------+ | 2009-11-06 | 814 | | 2009-11-07 | 1591 | | 2009-11-08 | 761 | | 2009-11-09 | 1145 | | 2009-11-10 | 1917 | | 2009-11-11 | 1438 | +-------------------------------+------------+ mysql> select count(*) from errors where code=504 and time between '2009-11-09 00:00:27' and now(); +----------+ | count(*) | +----------+ | 4467 | +----------+ 1 row in set (0.02 sec) mysql> select sum(BYTESCOUNT) from CONTENTTRAFFIC where DATE = date_format(NOW(), '%Y-%m-%d'); mysql> select * from SITECALLSTATDETAILED group by REQUESTURL order by CNT desc limit 10 ; mysql> select sum(BYTESCOUNT) from CONTENTTRAFFIC where DATE between '2009-10-10 00:00:00' and '2009-10-10 23:59:59'; mysql> select ROUND(sum(BYTESCOUNT)/1024/1024/1024), DATE from CONTENTTRAFFIC group by DATE order by DATE;
Комментариев нет:
Отправка комментария