SQL 2(INS UPD DEL CRE TAB) z zadaniami

background image

Politechnika Poznańska,
Instytut Elektrotechniki i Elektroniki Przemysłowej

JĘZYK SQL
PRAC Z DANYMI

background image

2

Służy do dodawania wierszy do tabeli

INSERT [INTO] nazwa_tabeli

[(lista_kolumn)] VALUES

(lista_wartości)

Każda instrukcja INSERT może aktualizować

tylko pojedynczą tabelę

Jeżeli nie zostanie podana lista kolumn,

instrukcja INSERT musi zawierać wartości dla

wszystkich kolumn w takiej kolejności jak w

tabeli lub słowo kluczowe DEFAULT

Instrukcja INSERT

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

3

Instrukcja INSERT – przykłady

INSERT INTO etaty (etat_nazwa,
etat_placa_min, etat_placa_max) VALUES
('Instalator',700,1600)

INSERT INTO etaty

VALUES ('Sprzątacz',500,NULL)

INSERT INTO etaty

VALUES ('Sprzątaczka',DEFAULT,1300)

INSERT INTO etaty (etat_nazwa,etat_placa_max)

VALUES ('Monter',1600)

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

4

Ćwiczenie 1

W Szczecinie przy ulicy Marynarzy 6 oddano do

eksploatacji nowy zakład (Zakład Zapłonników). Dodaj

informacje o nowym zakładzie do bazy danych.

INSERT INTO zaklady VALUES (70,'Zakład

Zapłonników','Szczecin','Marynarzy 6')

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

5

Ćwiczenie 2

Wstaw do tabeli pracownicy informacje o zatrudnionym

właśnie w zakładzie nr 40 na stanowisko czeladnika

Marcinie Świętym (szef: 190, płaca: 850)

INSERT INTO pracownicy VALUES
(290,'Marcin','Święty','Czeladnik',190,

GETDATE(),850,DEFAULT,40)

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

6

Wstawianie WIELU WIERSZY

Zamiast listy VALUES występuje instrukcja

SELECT określająca wartości dla wiersza(-

y), który zostanie wstawiony

INSERT [INTO] nazwa_tabeli

[(lista_kolumn)]

SELECT (lista_kolumn) FROM

tabela [WHERE (warunek)]

Jeżeli nie występuje klauzula WHERE to

wszystkie wiersze tabeli podanej w klauzuli

FROM zostaną dołączone do tabeli

określonej w klauzuli INSERT

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

7

Wstawianie wielu wierszy - przykłady

INSERT INTO pracownicy_2
SELECT prac_id, prac_nazwisko, prac_imie,
prac_data_zatrud, prac_etat_nazwa,
prac_placa_pod, prac_placa_dod
FROM pracownicy

INSERT INTO pracownicy_40
SELECT prac_id, prac_nazwisko, prac_imie,
prac_data_zatrud, prac_etat_nazwa,
prac_placa_pod, prac_placa_dod
FROM pracownicy WHERE prac_zakl_id=40

INSERT INTO pracownicy_1

SELECT * FROM pracownicy

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

8

Instrukcja UPDATE

Umożliwia zmianę wartości w jednym lub kilku

wierszach tabeli

UPDATE nazwa_tabeli

SET lista_aktualizacji

[WHERE (warunek)]

Pojedyncza instrukcja UPDATE może

aktualizować tylko pojedynczą tabelę

Po słowie kluczowym SET umieszczana jest

lista nazw kolumn i ich nowych wartości

kolumna1=wartość1,kolumna2=wartość2,...

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

9

Instrukcja UPDATE - przykłady

UPDATE pracownicy SET prac_placa_dod=250,
prac_placa_pod=prac_placa_pod*1.1

UPDATE pracownicy SET prac_placa_pod=3000
WHERE prac_placa_pod
>3000

UPDATE pracownicy SET prac_placa_pod=5000
WHERE prac_etat_nazwa
='Dyrektor'

UPDATE pracownicy SET
prac_placa_pod
=prac_placa_pod*1.25
WHERE prac_zakl_id=(SELECT zakl_id FROM
zaklady WHERE zakl_nazwa='Administracja')

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

10

Ćwiczenie 3

Ustal wartość płacy dodatkowej wszystkim

pracownikom na kwotę równą 8% płacy podstawowej

UPDATE pracownicy

SET prac_placa_dod=prac_placa_pod*0.08

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

11

Ćwiczenie 4

Awansuj pracownika o nazwisku Mickiewicz na

stanowisko mistrza i podnieś mu płacę o 30%.

UPDATE pracownicy

SET prac_etat_nazwa='Mistrz',
prac_placa_pod=prac_placa_pod*1.3
WHERE prac_nazwisko='Mickiewicz'

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

12

Ćwiczenie 5

Przenieś Wojciecha Smyczka na stanowisko dyrektora,

zwiększ mu płacę o 1500 i wpisz mu id_zakl takie jak

posiada zakład Administracja

UPDATE pracownicy SET
prac_etat_nazwa='Dyrektor',
prac_placa_pod=prac_placa_pod+1500,
prac_zakl_id=(SELECT zakl_id FROM zaklady
WHERE zakl_nazwa='Administracja')
WHERE prac_nazwisko='Smyczek' AND
prac_imie='Wojciech'

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

13

Instrukcja DELETE

Pozwala usunąć wybrane wiersze tabeli

DELETE nazwa_tabeli

[WHERE (warunek)]

DELETE pracownicy

WHERE prac_id=250

Pominiecie klauzuli WHERE spowoduje

usunięcie wszystkich wierszy w tabeli (ale nie

tabeli)

DELETE pracownicy_1

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

14

Instrukcja TRUNCATE

Pozwala usunąć wszystkie wiersze tabeli

TRUNCATE TABLE nazwa_tabeli

TRUNCATE TABLE pracownicy

Nie używamy klauzuli WHERE

Instrukcja TRUNCATE jest szybsza od DELETE,

ponieważ nie zapisuje przebiegu operacji w

pliku logu

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

15

Ćwiczenie 6

Usuń informacje o Kamilu Baczyńskim

DELETE pracownicy

WHERE prac_nazwisko=’Baczyński’
AND prac_imie=’Kamil’

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

16

Ćwiczenie 7

Usuń informacje o pracownikach zarabiających
mniej niż 2000

DELETE pracownicy

WHERE prac_placa_pod<2000

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

17

Ćwiczenie 8

Usuń informacje o czeladnikach, których nazwisko
rozpoczyna się od litery M

DELETE pracownicy

WHERE prac_nazwisko like 'M%‘
AND prac_etat_nazwa='Czeladnik'

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

18

Ćwiczenie 9

Usuń informacje o pracownikach Zakładu Kloszy

DELETE pracownicy WHERE
prac_zakl_id=(SELECT zakl_id FROM
zaklady
WHERE zakl_nazwa='Zakład Kloszy')

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

19

Tworzenie tabel

Instrukcja CREATE TABLE

CREATE TABLE nazwa_tabeli

(
<nazwa_kolumny>

<typ_danych>

[NULL

|

NOT NULL]

[ [DEFAULT <wartość_domyślna>] |

[IDENTITY (<wartość_początkowa>,

wartość_inkrementacji)] ]

[CONSTRAINT <nazwa_ograniczenia>]

[ [PRIMARY KEY] | [FOREIGN KEY]

REFERENCES <tabela_odnośników>

nazwa_kolumny)] |

[CHECK (wyrażenie_logiczne)] ]

)

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

20

Usuwanie tabel

Instrukcja DROP TABLE

DROP TABLE nazwa_tabeli

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

21

Podstawowe typy danych

Całkowite:
bigint
int
smallint

od -2^63 do 2^63-1
od -2^31 do 2^31-1
od -2^15 do 2^15-1

Zmiennoprzecinkowe:
numeric
decimal

od -10^38+1 do 10^38-1

Znakowe:
char, varchar

do 8000 znaków

Data i Czas:

datetime

smalldatetime

od 1753 do 9999
od 1900 do 2079

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

22

Tworzenie tabel (1)

CREATE TABLE mpracownicy
(
nazwisko varchar(20)
)

CREATE TABLE mpracownicy
(
id int,
nazwisko varchar(20)
)

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

23

Tworzenie tabel (2)

CREATE TABLE mpracownicy
(
id int,
imie varchar(15),
nazwisko varchar(20),
placa_pod numeric(8,2),
placa_dod numeric(6,2)
)

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

24

Tworzenie tabel (3)

CREATE TABLE mpracownicy
(
id int IDENTITY(5,10),
imie varchar(15),
nazwisko varchar(20),
placa_pod numeric(8,2),
placa_dod numeric(6,2) DEFAULT 200
)

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

25

Tworzenie tabel (4)

CREATE TABLE mpracownicy
(
id int CONSTRAINT PK_id PRIMARY KEY,
imie varchar(15),
nazwisko varchar(20),
placa_pod numeric(8,2)

CONSTRAINT CK_placa_powyzej_min

CHECK (placa_pod>1000),

placa_dod numeric(6,2) DEFAULT 200
)

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

26

Tworzenie tabel (5)

CREATE TABLE mzaklady
(
nr int CONSTRAINT PK_nr PRIMARY KEY,
nazwa varchar(15),
miasto varchar(15),
ulica varchar(20),
)

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

27

Tworzenie tabel (6)

CREATE TABLE mpracownicy
(
id int CONSTRAINT PK_id PRIMARY KEY,
imie varchar(15),
nazwisko varchar(20),
placa_pod numeric(8,2)

CONSTRAINT CK_placa_powyzej_min

CHECK (placa_pod>1000),

placa_dod numeric(6,2) DEFAULT 200,
id_zakl int CONSTRAINT FK_nr_zakladu

FOREIGN KEY REFERENCES mzaklady(nr)

)

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

28

Tworzenie tabel (7)

CREATE TABLE mpracownicy (
id int CONSTRAINT PK_id PRIMARY KEY,
imie varchar(15),
nazwisko varchar(20),
placa_pod numeric(8,2)

CONSTRAINT CK_placa_powyzej_min

CHECK (placa_pod>1000),

placa_dod numeric(6,2) DEFAULT 200,
zatrudniony

datetime

DEFAULT

GETDATE(),

id_zakl int CONSTRAINT FK_nr_zakladu

FOREIGN KEY REFERENCES mzaklady(nr)

)

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej

background image

29

Ćwiczenie 10

Utwórz relacje o podanych poniżej schematach

atrybut

typ

rozmiar

własność

id_proj

int

autonumerowanie

opis_proj varchar

30

data_roz datetime

data systemowa

data_zak datetime

większa od data_roz

fundusz

numeric 10

większy od zera

atrybut

typ

rozmiar

własność

id_proj

int

klucz obcy

id_prac

numeric 4

klucz obcy

od

datetime

data systemowa

do

datetime

większa od od

stawka

numeric 8,2

większa od zera

rola

varchar

15

z listy: Kierownik, Mistrz, Czeladnik

Relacja: projekty

Relacja: przydzialy

J. Jajczyk, Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej


Wyszukiwarka

Podobne podstrony:
sql zadania
Zadania, sql1b, Zadania Bazy Danych 1 - ćwiczenie SQL 1
O Reilly Oracle PL SQL Built ins Pocket Reference
ZADANIE NA TAB
SQL 3(DDL modyf tab view index)
Zadania z treścia
Prezentacja 2 analiza akcji zadania dla studentow
Przedmiot i zadania dydaktyki 4
zadanie 1 v 002
transakcyjny SQL
Przedmiot dzialy i zadania kryminologii oraz metody badan kr
06 podstawy SQL 3id 6524 ppt
KOLOKWIUM 2 zadanie wg Adamczewskiego na porownawczą 97
CELE I ZADANIA EDUKACJI MEDIALNEJ(1)
ochrona atmosfery zadania

więcej podobnych podstron