CODE CARROTS
SQL
edycja 1. Warszawa 2015

Link do prezentacji
http://goo.gl/YlSKTt
Polecenia DML
Data Manipulation Language
Przykładowe polecenia
--UPDATE aktualizuje istniejące dane
UPDATE nazwa_tabeli
SET nazwa_kolumny1=wartosc, nazwa_kolumny2=wartosc
-- INSERT dodaje nowe wpisy
INSERT INTO nazwa_tabeli
VALUES (wartosci)
-- DELETE usuwa wpisy
DELETE FROM nazwa_tabeliPolecenia - zadanie
1. ?
INSERT
Jak wstawić do tabeli rekord danych?
INSERT INTO `sakila`.`film`
(`film_id`,
`title`,
`description`,
`release_year`,
`language_id`,
`original_language_id`,
`rental_duration`,
`rental_rate`,
`length`,
`replacement_cost`,
`rating`,
`special_features`,
`last_update`)
VALUES
(<{film_id: }>,
<{title: }>,
<{description: }>,
<{release_year: }>,
<{language_id: }>,
<{original_language_id: }>,
<{rental_duration: 3}>,
<{rental_rate: 4.99}>,
<{length: }>,
<{replacement_cost: 19.99}>,
<{rating: G}>,
<{special_features: }>,
<{last_update: CURRENT_TIMESTAMP}>);
Jak wstawić do tabeli niepełny rekord danych?
INSERT INTO `sakila`.`film`
(`film_id`,
`title`,
`release_year`,
`rating`,
`special_features`,
`last_update`)
VALUES
(<{film_id: }>,
<{title: }>,
<{release_year: }>,
<{rating: G}>,
<{special_features: }>,
<{last_update: CURRENT_TIMESTAMP}>);
Uwaga! Pamiętamy o kolejności wpisywania
- Jeśli nie wstawiamy wartości w kolumnę (nie została ona wybrana) automatycznie uzupełnia się ona wpisem domyślnym (dość często jest to NULL)
- Musimy pamiętać, że niektóre kolumny nie mogą mieć w sobie wartości NULL, więc musimy podać tam dane
- Przed wstawianiem rekordów do tabeli sprawdzamy jakie pola są w danych kolumnach, np. nie wstawimy tekstu do kolumny liczbowej
Zadanie INSERT
Dodanie do tabeli city wpisu z id_city=601
UPDATE
Jak zmienić tylko niektóre rekordy w tabeli?
Edycja roku w filmie o tytule
| ACADEMY DINOSAUR |
UPDATE film
SET release_year=2015
WHERE title='ACADEMY DINOSAUR'Edycja wielu rekordów w tabeli
Brak podania warunku spowoduje zmodyfikowanie wszystkich rekordów w tabeli
UPDATE film
SET release_year = 2000UPDATE - Zadanie
2. Zmień wartość w tabeli film w kolumnie length na 130 we wszystkich filmach gdzie aktualnie ma ona wartość większą od 120 oraz rental_rate jest mniejsze od 4.99
DELETE
Jak usunąć niektóre wiersze z tabeli?
DELETE FROM city
WHERE city_id = 601Usunięcie wcześniej dodanego wpisu
DELETE FROM city
WHERE city_id = 1Dlaczego nie mamy możliwości usunięcia wpisu z city_id=1?
Zagrożenie wynikające z używania UPDATE oraz DELETE
Używanie warunków podczas pisania poleceń, jeśli o nich zapomnimy możemy stracić wielkie ilości danych.

SQL | Prezentacja 5 ROBOCZA
By code carrots
SQL | Prezentacja 5 ROBOCZA
SQL Code Carrots
- 763