Rozkazy SQL zarządzające tabelami

Tworzenie bazy danych i tabeli

create database nazwabazy; - utworzenie nowej bazy danych

show databases; - pokazuje utworone bazy danych (również tą, która została utworzona)

use nazwabazy; - nakazuje użyć konkretnej bazy danych;

drop database nazwabazy; - usuwanie bazy danych

create table ... ; - utworzenie tabeli

CREATE TABLE nazwatabeli (
lp INT NOT NULL AUTO_INCREMENT,
imie VARCHAR(15) NULL,
nazwisko VARCHAR(20) NULL,
wiek INT(3) NULL,
PRIMARY KEY (lp) );
- utwórz tabelę w bazie
- pierwsz kolumna 'lp' typu liczby całkowite komórki nie puste
- druga kolumna 'imie' typu znakowego o zmiennej liczbie znaków
- trzecia kolumna 'nazwisko' typu znakowego o zmiennej liczbie znaków
- czwart kolumna 'wiek' typu ineger o stałej długości trzech liczb
- deklaracja klucza głównego i zakończenie zapytania znakiem ";"

Poznawanaie struktury tabeli:
DESCRIBE `nazwatabeli`;
Uzyskany efekt:

fotka


Uzupełnienie tabeli - pierwszy rekord:
INSERT INTO `nazwatabeli` (lp , imie , nazwisko, wiek) VALUES (NULL , 'Adam' , 'Kowalski' , '42'); - wstaw do nazwa tabeli (jako atrybuty) dane (Adam Kowalski 42) gdzie NULL oznacza, że w kolumnę kluczy nie trzeba nic wstawiać


Sprwdzenie zawartości tabeli:
SELECT * FROM `nazwatabeli`


Uzupełnienie kolejnych krotek:
INSERT INTO `nazwatabeli` (lp , imie , nazwisko, wiek) VALUES (NULL , 'Grzegorz' , 'Rosa' , '65');
INSERT INTO `nazwatabeli` (lp , imie , nazwisko, wiek) VALUES (NULL , 'Jan' , 'Nowak' , '17');

Uzyskany efekt sprawdzamy za pomocą polecenia:
SELECT * FROM `nazwatabeli`
fotka


Wybieranie z tabeli konkretnych informacji. Załużmy że chcemy dowiedzieć się kto jest pełnoletni. Wówczas trzeba wykonać zapytanie z warunkiem WHERE:
SELECT * FROM `nazwatabeli` WHERE wiek >= 18;
Uzyskany efekt:

fotka


Wybieranie z tabeli informacje o imionach. Wówczas trzeba wykonać zapytanie wstawiając zamiast gwiazdki nazwę kolumny:
SELECT imie FROM `nazwatabeli`;
Uzyskany efekt:

fotka


Wybieranie z tabeli informacje o imionach i wieku. Wówczas trzeba wykonać zapytanie wstawiając zamiast gwiazdki nazwę kolumny:
SELECT imie, wiek FROM `nazwatabeli`;
Uzyskany efekt:

fotka


Zmiana danych w utworzonej tabeli. Załużmy że chcemy odmłodzić Grzegorza o trzy lata. Musimy wykonać zapytanie:
UPDATE `nazwatabeli` SET `wiek` = 62 WHERE `wiek` = 65;
Uzyskany efekt:
fotka


Usuwanie rekordów tabeli spełniających określone warunki. Może to być rekord nr 1 lub rekored w którym są osby pełnoletnie
DELETE FROM nazwatabeli WHERE `wiek` >= 18;
Uzyskany efekt:
fotka


Usuwanie tabeli:
DROP TABLE `nazwatabeli`;


Tworzenie tabeli powiązanej z kluczem obcym:

Tworzymy tabelę pojazdów:
CREATE TABLE `pojazdy` (
lp INT NOT NULL AUTO_INCREMENT,
VIN CHAR(17) NULL,
PRIMARY KEY (lp) );

Tworzymy tabelę użytkowników pojazdów:
CREATE TABLE `uzytkownicy` (
id_uzytkownika VARCHAR(10) PRIMARY KEY,
auto VARCHAR(6) REFERENCES pojazdy(lp) );

Słowo kluczowe REFERENCES deklaruje kolumnę jako klucz obcy odwołujący się do innej tabeli


Wypełmniamy tabelę pojazdy przykładowymi danymi dla 3 pojazdów:
INSERT INTO `pojazdy` (lp , VIN) VALUES (NULL , 'SSS12345678901234');
INSERT INTO `pojazdy` (lp , VIN) VALUES (NULL , 'AAA45678901234567');
INSERT INTO `pojazdy` (lp , VIN) VALUES (NULL , 'KKK78901234567890');

Wypełmniamy tabelę uzytkownicy przykładowymi danymi dla 3 pojazdów:
INSERT INTO `uzytkownicy` (id_uzytkownika , auto) VALUES ('1' , '1');
INSERT INTO `uzytkownicy` (id_uzytkownika , auto) VALUES ('2' , '3');
INSERT INTO `uzytkownicy` (id_uzytkownika , auto) VALUES ('3' , '2');
INSERT INTO `uzytkownicy` (id_uzytkownika , auto) VALUES ('4' , '1');

Uzystany efekt:
fotka fotka


⇒ Spis treści ⇐

⇐ PREV NEXT ⇒