MySQL – PODSTAWY

advertisement
MySQL – PODSTAWY
LOGOWANIE
mysql --user login --password=haslo_do_bazy
WYLOGOWANIE
mysql> \q
ZMIANA HASŁA
set password for 'login'@'localhost' = password('nowehaslo');
POŁĄCZENIE Z WYBRANĄ BAZĄ UŻYTKOWNIKA
connect login;
UWAGA: W poleceniach nie jest istotna wielkość liter. Dalej wielkie litery są użyte w celu
wyróżnienia słów kluczowych. Instrukcję należy zakończyć średnikiem.
PRZYKŁADOWE TWORZENIE TABELI
mysql> CREATE TABLE studenci( id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
imie VARCHAR(30) NOT NULL,
imie_drugie VARCHAR(30),
nazwisko VARCHAR(30) NOT NULL,
data_ur DATE NOT NULL,
plec CHAR(1) NOT NULL,
liczba_ocen int(10));
LISTOWANIE TABEL BAZY
mysql> SHOW TABLES;
+------------------+
| Tables_in_login |
+------------------+
| studenci
|
+------------------+
DOKŁADNY OPIS WYBRANEJ TABELI
mysql> DESCRIBE studenci;
+-------------+-------------+------+-----+---------+----------------+
| Field
| Type
| Null | Key | Default | Extra
|
+-------------+-------------+------+-----+---------+----------------+
| id
| int(11)
| NO
| PRI | NULL
| auto_increment |
| imie
| varchar(30) | NO
|
| NULL
|
|
| imie_drugie | varchar(30) | YES |
| NULL
|
|
| nazwisko
| varchar(30) | NO
|
| NULL
|
|
| data_ur
| date
| NO
|
| NULL
|
|
| plec
| char(1)
| NO
|
| NULL
|
|
| liczba_ocen | int(10)
| NO
|
| NULL
|
|
+-------------+-------------+------+-----+---------+----------------+
DODAWANIE DANYCH DO TABELI
mysql> INSERT INTO studenci(imie,imie_drugie,nazwisko,data_ur,plec,
liczba_ocen) VALUES('Karol','','Nida','1976-12-23','M',22);
WYLISTOWANIE WSZYSTKICH DANYCH Z TABELI
mysql> SELECT * FROM studenci;
+----+---------+-------------+----------+------------+------+-------------+
| id | imie
| imie_drugie | nazwisko | data_ur
| plec | liczba_ocen |
+----+---------+-------------+----------+------------+------+-------------+
| 1 | Karol
|
| Nida
| 1976-12-23 | M
|
22 |
| 2 | Anna
| Marianna
| Kurowska | 1975-01-02 | k
|
5 |
| 3 | Jan
|
| Gawlik
| 1972-01-04 | m
|
10 |
| 4 | Cezary | Adam
| Nawrocki | 1990-09-03 | M
|
2 |
| 5 | Justyna |
| Klimek
| 1992-02-20 | K
|
4 |
+----+---------+-------------+----------+------------+------+-------------+
UWAGA: Nie można powtórzyć istniejącego id (PRIMARY KEY).
mysql> INSERT INTO studenci(id,imie,imie_drugie,nazwisko,data_ur,plec,
liczba_ocen) VALUES(1,'Monika','Justyna','Kaniowska','1980-02-04','K',29);
ERROR 1062 (23000): Duplicate entry '1' for key 1
USUWANIE DANYCH Z TABELI
mysql> DELETE FROM studenci WHERE id=1;
ZMIANA DANYCH W TABELI
mysql> UPDATE studenci SET data_ur='1981-03-04',wiek=28 WHERE id=2;
WYLISTOWANIE WYBRANYCH PÓL DANYCH DLA WSZYSTKICH REKORDÓW
mysql> SELECT imie, nazwisko FROM studenci;
+-----------+---------------+
| imie
| nazwisko
|
+-----------+---------------+
| Monika
| Karolak
|
| Anna
| Kurowska
|
| Jan
| Gawlik
|
| Cezary
| Nawrocki
|
| Justyna
| Klimek
|
+-----------+---------------+
WYLISTOWANIE WYBRANYCH PÓL REKORDÓW SPEŁNIAJĄCYCH PEWNE
WARUNKI (ZAPYTANIE)
mysql> SELECT id, nazwisko, liczba_ocen FROM studenci WHERE liczba_ocen<10;
+----+----------+-------------+
| id | nazwisko | liczba_ocen |
+----+----------+-------------+
| 2 | Kurowska |
5 |
| 4 | Nawrocki |
2 |
| 5 | Klimek
|
4 |
+----+----------+-------------+
ZLICZENIE REKORDÓW POGRUPOWANYCH WEDŁUG USTALONEGO POLA
mysql> SELECT plec,
+------+----------+
| plec | count(*) |
+------+----------+
| k
|
2 |
| m
|
3 |
+------+----------+
COUNT(*) from studenci GROUP BY plec;
WYKONYWANIE SKRYPTÓW ZAPISANYCH W PLIKU
Instrukcje (np. INSERT ...) mogą zostać umieszczone w pliku z rozszerzeniem sql. Wykonanie
instrukcji zawartych w pliku realizuje instrukcja:
mysql> \. ~/sciezka_i_nazwa_pliku
Jeśli we własnym katalogu domowym utworzymy katalog o nazwie mysql, a w nim w pliku
dane_studenci.sql umieścimy instrukcje wprowadzenia do tabeli studenci danych kilku osób, to
dane te zostaną wprowadzone przez wykonanie instrukcji
mysql> \. ~/mysql/dane_studenci.sql
USUWANIE TABELI Z BAZY DANYCH
mysql> DROP TABLE nazwa_tabeli;
Download