Oct 7 2009

MySQL tradycyjnie

Z oczywistych wzgledow nie udostepniamy polaczenia z baza danych poza maszyne lokalna, w zwiazku z tym manipulacja danymi, backup czy restore, “musi” odbywac sie z terminala.

Laczenie z baza

czlowiek@maszyna:~$ mysql --user=czlowiek --password=haslo baza_danych

Utworzenie bazy

mysql> create database baza1;

Zmiana aktywnej bazy danych

mysql> use baza1;

Utworzenie tabeli

mysql> create table osoba (
    -> id bigint auto_increment,
    -> imie varchar(255),
    -> nazwisko varchar(255),
    -> primary key (id)
    -> );

Wykonywanie standardowych zapytan

mysql> insert into osoba (imie, nazwisko) values ('Imie', 'Nazwisko');
mysql> select * from osoba;

Lista polecen

mysql> help

Utworzenie kopii zapasowej

czlowiek@maszyna:~$ mysqldump --user=czlowiek --password=haslo --databases baza1 --add-drop-table --add-drop-database > /tmp/backup_baza1.sql
czlowiek@maszyna:~$ mysqldump --user=czlowiek --password=haslo --databases baza1 --add-drop-table --add-drop-database | bzip2 -c > /tmp/backup_baza1.sql.bz2

Odtworzenie kopii zapasowej

czlowiek@maszyna:~$ cat /tmp/backup_baza1.sql | mysql --user=czlowiek --password=haslo baza1
czlowiek@maszyna:~$ bzcat /tmp/backup_baza1.sql.bz2 | mysql --user=czlowiek --password=haslo baza1

Jul 23 2009

SQL – funkcje grupujace

- COUNT – zlicza wartosci rozne od NULL na podstawie zadanej kolumny, badz wszystkie rekordy jezeli uzyjemy *,

SELECT COUNT(*) AS article_groups FROM article;
-- 16
SELECT COUNT(article_price) FROM article;
-- 12

- SUM – sumuje wartosci na podstawie zadanej kolumny,

SELECT SUM(quantity) FROM article;
-- 256

- AVG – wylicza srednia zadanej kolumny,

SELECT AVG(article_price) FROM article;
-- 286.32

- MIN – wyszukuje najmniejsza wartosc na podstawie zadanej kolumny,

SELECT MIN(sell_date) FROM order_info;
-- 2006-03-05 09:46:21

- MAX – jest odwrotnoscia MIN, wyszukuje najwieksza wartosc,

SELECT MAX(sell_date) FROM order_info;
-- 2009-07-22 15:24:03

- GROUP_CONCAT – listuje wartosc rekordu,

SELECT GROUP_CONCAT(aname ORDER BY aname) FROM order_info;
-- monitor,mysza,klawiatura