Зайти в консоль рутом
#mysql -uroot -p
Посмотреть базы
mysql> show databases;
Выбрать нужную базу
mysql> use databasename;
Посмотреть список таблиц
SELECT * FROM person WHERE name LIKE 'Di%';
SELECT * FROM person WHERE name LIKE '%na' ORDER BY number ;
SELECT * from person where age in (12,15,18);
SELECT * FROM person WHERE name IS NULL; найти пустые значения?
SELECT * FROM person WHERE name BETWEEN x AND y OR z>max;
Выбрать уникальные значения в колонке
SELECT DISTINCT site FROM table_name;
пример: select distinct user_agent from location;
Максимально и мин значения
#mysql -uroot -p
Посмотреть базы
mysql> show databases;
Выбрать нужную базу
mysql> use databasename;
Посмотреть список таблиц
mysql> show tables;
Просмотреть таблицу
mysql> describe tablename;
Создать базу
Просмотреть таблицу
mysql> describe tablename;
Создать базу
mysql> CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
Удалить базу
mysql> DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
Добавить пользователя:Удалить базу
mysql> DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
mysql> CREATE USER jeffrey@localhost IDENTIFIED BY "mypass";
удалить пользователя:drop user opensips2@localhost;
Дать доступ пользователю
mysql> GRANT ALL ON db1.* TO 'jeffrey'@'localhost';
удалить пользователя:drop user opensips2@localhost;
Дать доступ пользователю
mysql> GRANT ALL ON db1.* TO 'jeffrey'@'localhost';
сменить пароль
SELECT * FROM person WHERE name='Дима';
Выбрать похожую строку
mysql> update user set password=PASSWORD("new_password_here") where User='root';
Обновить
mysql> flush privileges;
SELECT name, last_name FROM person;
Обновить
mysql> flush privileges;
Посмотреть колонки
mysql> select table_name,column_name,data_type from information_schema.columns where table_schema='sedberg' and table_name like 'elp%' order by column_name;
пример
mysql> select src,clid,dst,calldate from cdr where dst='121' and src='903';
Посмотреть колличесвто записей в таблице:
SELECT count(*) FROM table_name;
Все записи из таблицы
SELECT * FROM table_name;
Выбор нескольких полей из таблицыПосмотреть колличесвто записей в таблице:
SELECT count(*) FROM table_name;
Все записи из таблицы
SELECT * FROM table_name;
SELECT name, last_name FROM person;
Показать часть таблицы, 3 строки начиная с 2й
SELECT * FROM table_name LIMIT 2,3;
Упорядочить по одной из колонок:
SELECT * FROM person ORDER BY number;
где number - номер или имя столбца
упорядочить в обратном порядке
SELECT * FROM person ORDER BY number DESC;
выбрать строки со значениемSELECT * FROM person ORDER BY number;
где number - номер или имя столбца
упорядочить в обратном порядке
SELECT * FROM person ORDER BY number DESC;
SELECT * FROM person WHERE name='Дима';
SELECT * FROM person WHERE name LIKE 'Di%';
SELECT * FROM person WHERE name LIKE '%na' ORDER BY number ;
SELECT * from person where age in (12,15,18);
SELECT * FROM person WHERE name IS NULL; найти пустые значения?
SELECT * FROM person WHERE name BETWEEN x AND y OR z>max;
Выбрать уникальные значения в колонке
SELECT DISTINCT site FROM table_name;
пример: select distinct user_agent from location;
Максимально и мин значения
select max(age) from person;
select name, min(age) from person;
Создать таблицу с колонкой id
Создать таблицу с колонкой id
create table cdr (id int not null);
Добавить колонку к таблице
Добавить колонку к таблице
ALTER TABLE cdr ADD email VARCHAR(60); (cdr - таблица , email - имя колонки)
ALTER TABLE cdr ADD email VARCHAR(60) AFTER name;
ALTER TABLE cdr ADD email VARCHAR(60) FIRST;
Сменить ТИП данных в столбце
ALTER TABLE table_name MODIFY col_name new_type;
ALTER TABLE users MODIFY active_time1_stop varchar(128)
Удалить столбец
ALTER TABLE cdr ADD email VARCHAR(60) FIRST;
Сменить ТИП данных в столбце
ALTER TABLE table_name MODIFY col_name new_type;
ALTER TABLE users MODIFY active_time1_stop varchar(128)
Удалить столбец
ALTER TABLE x DROP COLUMN a;Изменить значение, "вставить" новые данные
INSERT INTO table_name(site, description) values ('sitename', 'our site-the best')
Изменить значение в нужном поле
UPDATE table_name set site = 'domain.com' where id = '3'
Удалить запись с определенным полем
DELETE from table_name where id = '3'Сложные запросы
INSERT INTO table_name(site, description) values ('sitename', 'our site-the best')
Изменить значение в нужном поле
UPDATE table_name set site = 'domain.com' where id = '3'
Удалить запись с определенным полем
DELETE from table_name where id = '3'Сложные запросы
SELECT DISTINCT last_name FROM person, address WHERE person.adress_no = address.address_no AND city LIKE 'L%';
или
SELECT DISTINCT last_name FROM person p, address adr WHERE p.adress_no = adr.address_no AND city LIKE 'L%';
SELECT heroes.char_name, heroes.count, char_templates.ClassName FROM char_templates, heroes WHERE char_templates.ClassId = heroes.class_id Order by char_templates.ClassName;или
SELECT char_name, count, ClassName FROM heroes left join char_templates on heroes.class_id=char_templates.ClassId;
SELECT DISTINCT last_name FROM person p, address adr WHERE p.adress_no = adr.address_no AND city LIKE 'L%';
SELECT heroes.char_name, heroes.count, char_templates.ClassName FROM char_templates, heroes WHERE char_templates.ClassId = heroes.class_id Order by char_templates.ClassName;или
SELECT char_name, count, ClassName FROM heroes left join char_templates on heroes.class_id=char_templates.ClassId;
Выборки по двум таблицам
select * from cdr,cdr2 where cdr.age=cdr2.age;
select * from cdr,cdr2 where cdr.age=cdr2.age;
SELECT * FROM `cdr` WHERE (`calldate` BETWEEN '2013-09-14 00:00:00' AND '2013-09-16 00:00:00') and (`dst`= "2330101" or `dst`= "2330102" or `dst`= "914" or `dst`= "915" or `dst`= "2330111" or `dst`= "2331122")
посчитать среднее по одному из столбцов
select calldate,clid,src,dst,uniqueid,billsec,duration,AVG(billsec) as sum from cdr where src=904;
сумма
select calldate,clid,src,dst,uniqueid,billsec,duration,SUM(billsec) as sum from cdr where src=904;
Показать колличество звонков за месяц в рабочее время прямо в консоль
mysql -u asterisk -pPassword -D cdr_pbx -e 'select COUNT(*) from cdr where calldate like "2014-08-%" AND (TIME(calldate) between "09:00:00" AND "18:00:00") AND clid like "%WNet%";'
The preceding sections provide password-resetting instructions for Windows and Unix systems. Alternatively, on any platform, you can set the new password using the mysql client (but this approach is less secure):
Stop mysqld and restart it with the --skip-grant-tables option. This enables anyone to connect without a password and with all privileges. Because this is insecure, you might want to use --skip-grant-tables in conjunction with --skip-networking to prevent remote clients from connecting.
Connect to the mysqld server with this command:shell> mysql
Issue the following statements in the mysql client. Replace the password with the password that you want to use.mysql> UPDATE mysql.user SET Password=PASSWORD('MyNewPass') -> WHERE User='root'; mysql> FLUSH PRIVILEGES;
The FLUSH statement tells the server to reload the grant tables into memory so that it notices the password change.
You should now be able to connect to the MySQL server as root using the new password. Stop the server, then restart it normally (without the --skip-grant-tables and --skip-networking options).
Посмотреть последние строки в таблице;
mysql> select * from CDR2 ORDER BY SETUP_TIME DESC limit 10;
select calldate,clid,src,dst,uniqueid,billsec,duration,AVG(billsec) as sum from cdr where src=904;
сумма
select calldate,clid,src,dst,uniqueid,billsec,duration,SUM(billsec) as sum from cdr where src=904;
Показать колличество звонков за месяц в рабочее время прямо в консоль
mysql -u asterisk -pPassword -D cdr_pbx -e 'select COUNT(*) from cdr where calldate like "2014-08-%" AND (TIME(calldate) between "09:00:00" AND "18:00:00") AND clid like "%WNet%";'
The preceding sections provide password-resetting instructions for Windows and Unix systems. Alternatively, on any platform, you can set the new password using the mysql client (but this approach is less secure):
Stop mysqld and restart it with the --skip-grant-tables option. This enables anyone to connect without a password and with all privileges. Because this is insecure, you might want to use --skip-grant-tables in conjunction with --skip-networking to prevent remote clients from connecting.
Connect to the mysqld server with this command:shell> mysql
Issue the following statements in the mysql client. Replace the password with the password that you want to use.mysql> UPDATE mysql.user SET Password=PASSWORD('MyNewPass') -> WHERE User='root'; mysql> FLUSH PRIVILEGES;
The FLUSH statement tells the server to reload the grant tables into memory so that it notices the password change.
You should now be able to connect to the MySQL server as root using the new password. Stop the server, then restart it normally (without the --skip-grant-tables and --skip-networking options).
Посмотреть последние строки в таблице;
mysql> select * from CDR2 ORDER BY SETUP_TIME DESC limit 10;
Показать размер базы в МБ
SELECT table_schema "cdr", sum( data_length + index_length ) / 1024 / 1024 "Data Base Size in MB" FROM information_schema.TABLES GROUP BY table_schema ;
SELECT table_schema "cdr", sum( data_length + index_length ) / 1024 / 1024 "Data Base Size in MB" FROM information_schema.TABLES GROUP BY table_schema ;
INSERT
Products(ProductName, Manufacturer, ProductCount, Price)
VALUES
(
'iPhone X'
,
'Apple'
, 5, 76000);