SQL

Podstawy SQL




Czynność
Komenda
Logowanie                 
mysql -u NAZWA -p
Dodawanie użytkownika
create user 'NAZWA' identyfied by 'hasło' ;
Usuwanie użyszkodnika
drop user NAZWA;
Nadanie prawa użytkownikowi do bazy
GRANT ALL PRIVILEGES ON 'baza_danych’.* TO 'użytkownik';
Tworzenie bazy danych
create database NAZWA;
Usuwanie bazy danych
drop database NAZWA;
Wyświetlanie istniejących baz
show databases;
Wybranie bazy danych
use NAZWA;
Sprawdzenie, która baza jest wybrana
select database();
Wyświetlenie table w bazie danych
show tables;
Dodawanie tabeli
create table NAZWA (kolumna typ wartość, kolumna 1 typ wartość);

np.: create table ludziki ( lp int primary key, imię char(20) not null, nazwisko char(20));
Usuwanie tabeli
drop table NAZWA;
Wyświetlanie struktury tabeli
Describe nazwa_tabeli;
Dodawanie rekordów
insert into NazwaTabeli values(liczba, 'napis');

np. insert into ludziki values(1, 'Genek', 'Kowalski');
Usuwanie rekordów
delete from NazwaTabeli WHERE warunek;

np. delete from ludziki WHERE lp=1;
Modyfikowanie wartości tabeli
UPDATE NazwaTabeli SET NazwaKolumny='nowa_wartość' WHERE NazwaKolumny=wartość

np. UPDATE ludziki SET imie ='Jurek' WHERE id=1;
Zmiana nazwy tabeli
ALTER TABLE NazwaTabeli RENAME TO NowaNazwa;

np. ALTER TABLE ludziki RENAME TO czlowieki;
Zmiana typu i nazwy kolumny
ALTER TABLE nazwatabeli MODIFY nazwakolumny Typnaktóry zmieniamy;

np. ALTER TABLE ludziki MODIFY login int;
Usuwanie kolumny









Dodawanie kolumny
ALTER TABLE NazwaTabeli DROP COLUMN nazwakolumny;

np. ALTER TABLE Ludziki DROP COLUMN login;





ALTER TABLE nazwaTabeli ADD nazwaKolumny Typ;


ALTER TABLE ludziki ADD Login char(200

Wyświetlenie zawartości całej tabeli
select * FROM nazwatabeli;
Warunkowe wyświetlenie zawartości tabeli
< mniejsze
<= mniejsze lub równe
= równe
!= różne
>= większe lub równe
> większe
SELECT nazwa_kolumn FROM nazwatabeli WHERE warunek;

np. SELECT imię,nazwisko FROM nazwatabeli WHERE nazwisko='kowalski';
Lekcja 2.
Import danych z pliku do tabeli
(kolumny rozdzielone tab)
~$ mysqlimport --local -u użytkownik -p nazwa_bazy nazwa_pliku
-----------------------------------------------------------
~$ mysqlimport --local -u root -p testowa dane.txt
Warunkowe wyświetlenie zawartości tabeli z operatorem logicznym AND, OR, NOT
SELECT nazwa_kolumn FROM nazwatabeli WHERE warunek OR warunek1 AND warunek2 ;
-----------------------------------------------------------
SELECT imię, nazwisko, wiek FROM nazwatabeli WHERE nazwisko='kowalski' AND wiek =25';
Warunkowe wyświetlenie zawartości tabeli z wykonaniem działania arytm.
SELECT nazwa_kolumny działanie FROM nazwatabeli;
-----------------------------------------------------------
SELECT imię, nazwisko, pensja*2 FROM nazwatabeli WHERE nazwisko='kowalski' AND wiek =25';
Wyświetlanie zawartości tabeli ze zmianą nazw kolumn
AS
SELECT nazwa_kolumny AS nowa_nazwa FROM nazwatabeli;
-----------------------------------------------------------
SELECT imię, nazwisko, pensja*2 AS podwyzka FROM nazwatabeli;
Sortowanie wyników zapytania
ORDER BY [ASC, DESC]
SELECT nazwa_kolumn FROM nazwatabeli ORDER BY nazwa_kolumny [ASC (domyślnie), DESC];
----------------------------------------------------------
np. SELECT imię,nazwisko FROM nazwatabeli ORDER BY nazwisko DESC;
// sortowanie wg nazwiska w kolejności malejącej
Lekcja 3.
Ilościowe ograniczenie zapytania
LIMIT
SELECT nazwy_kolumn FROM nazwa_tabeli LIMIT wartość;
------------------------------------------------------------
np. SELECT imię, nazwisko FROM nazwa_tabeli LIMIT 3;
//wyświetli tylko 3 rekordy
-------------------------------------------------------------
np. SELECT imię, nazwisko FROM nazwa_tabeli LIMIT 2,5;
//wyświetli 5 rekordów począwszy od drugiego
Dopasowanie do wzorca
LIKE, NOT LIKE
SELECT nazwy_kolumn FROM nazwa_tabeli WHERE nazwa_kolumny LIKE 'wzorzec';
--------------------------------------------------------------
np. SELECT imię, nazwisko FROM nazwa_tabeli WHERE imię LIKE 'a%'
//wyświetli imiona rozpoczynające się na 'a' ('%a' – kończy się na 'a')
---------------------------------------------------------------
np. SELECT imię, nazwisko FROM nazwa_tabeli WHERE imię LIKE '_____'
//_ _ - oznacza ilość liter we wzorcu

Wyszukiwanie bez redundacji
DISTINCT
SELECT DISTINCT nazwy_kolumn FROM nazwa_tabeli ;
---------------------------------------------------------------
np. SELECT DISTINCT wieś FROM miejscowości ;


Polecane Linki zewnętrzne: