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_tabeli

Polecenia - 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 = 2000

UPDATE - 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 = 601

Usunięcie wcześniej dodanego wpisu

DELETE FROM city
WHERE city_id = 1

Dlaczego 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