Zapytania 5

Transkrypt

Zapytania 5
Zapytania nr 5
Typy danych:
MS SQL Server: char, varchar, nchar, ntext, nvarchar, int, smallint, bigint, tinyint, float, real,
decimal, numeric, datetime, smalldatetime, date, time, binary, varbinary, money, smallmoney, text,
image, xml, bit
http://www.centrumxp.pl/dotNet/301,1,08_Co_to_jest_typ_danych_Jakie.aspx
http://www.microsoft.com/poland/technet/bazawiedzy/centrumrozwiazan/cr314_01.mspx
MySQL: char, varchar, tiny/-/medium/longtext, tiny/small/medium/-/bigint, float, double, decimal,
date, datetime, timestamp, time, enum, set, tiny/-/medium/longblob
http://compzone.org/art-Typy+danych+w+kolumnach+w+MySQL-21.html
SQLite: text, numeric, integer, real, none (null, integer, real, text, blob)
http://www.sqlite.org/datatype3.html
słowa kluczowe: CREATE (DATABASE|TABLE|VIEW), DROP (DATABASE|TABLE|VIEW),
ALTER TABLE ... ADD
INSERT INTO, UPDATE ... SET, DELETE FROM
UNIQUE, (NOT) NULL, DEFAULT, PRIMARY KEY
1. Wyświetl kod tworzący tabelę Piwa.
.schema Piwa
2. W drugim oknie linii komend utwórz nową bazę o nazwie dziekanat (SQLite: dziekanat.s3db)
3. W nowej bazie utwórz tabelę Studenci
CREATE TABLE Studenci(
imie varchar(20) NOT NULL,
nazwisko varchar(30) NOT NULL
);
4. Dodaj pole nr_albumu
ALTER TABLE Studenci ADD nr_albumu char(6);
5. Dodaj pole id
ALTER TABLE Studenci ADD id int;
6. Dodaj rekord 'Józef', 'Konopka', 120998, 1
INSERT INTO Studenci VALUES('Józef','Konopka',120998,1);
7. Dodaj rekord ' Marcin', 'Mlecz'
INSERT INTO Studenci VALUES('Marcin','Mlecz'); -- błąd
INSERT INTO Studenci VALUES('Marcin','Mlecz',NULL,NULL);
INSERT INTO Studenci(imie, nazwisko) VALUES('Marcin','Mlecz');
8. Wyświetl imiona i nazwiska studentów sortując wg imienia.
9. Dodaj rekord 'Karpińska', 120998.
INSERT INTO Studenci(nazwisko, nr_albumu) VALUES ('Karpińska',120998); -- błąd, bo brak
imienia
10. Dodaj rekord 'Iwona','Karpińska', 120998.
INSERT INTO Studenci(nazwisko,imie, nr_albumu) VALUES ('Karpińska','Iwona',120998);
11. Zmień numer albumu studentki o nazwisku Karpińska na 120999.
UPDATE ...
SET ...
WHERE
12. Usuń studenta o nazwisku Mlecz.
DELETE FROM ... WHERE...
13. Usuń tabelę Studenci
DROP TABLE Studenci;
14. Utwórz tabelę wydziały posiadającą dwie kolumny:
id - liczba całkowita, klucz główny, automatyczna numeracja
nazwa - tekst o maksymalnej długości 5 znaków, wymagany (niepusty)
CREATE TABLE Wydzialy(
id INTEGER PRIMARY KEY,
nazwa varchar(5) NOT NULL
);
15. Wstaw do tabeli wydziały następujące rekordy: rar, rau, rch, rmf, roz
INSERT INTO Wydzialy VALUES (null,'rar');
INSERT INTO Wydzialy VALUES (3,'rch');
INSERT INTO Wydzialy(nazwa) VALUES ('rmf');
INSERT INTO Wydzialy VALUES (2,'rau');
INSERT INTO Wydzialy VALUES (null,'roz');
16. Sprawdź co się stanie, jeśli spróbujesz wstawić do tabeli rekord o tej samej wartości pola id.
17. Utwórz tabelę Studenci posiadającą pięć kolumn:
id - liczba całkowita, klucz główny
imie - tekst o maks. długości 20 znaków, wymagany
nazwisko - tekst o maks. długości 30 znaków, wymagane
nr_albumu - tekst o stałej długości 6 znaków, wymagany, unikalny (UNIQUE)
id_wydzialu - liczba całkowita, wymagana, domyślnie 5 (DEFAULT 5)
18. Wstaw do tabeli Studenci następujące rekordy:
id
imie nazwisko
nr_albumu
id_wydzialu
1
Józef Konopka
120998
1
2
Marcin Mlecz
344228
3
3
Iwona Karpińska
667656
4
4
Barbara Nowacka
667554
5
Tomasz Koj
233465
3
6
Anna Kowalczyk 120942
1
INSERT INTO Studenci(id,imie,nazwisko,nr_albumu,id_wydzialu) values
(1,'Józef','Konopka','120998',1);
INSERT INTO Studenci values (2,'Marcin','Mlecz','344228',3);
INSERT INTO Studenci values (3,'Iwona','Karpińska','667656',4);
INSERT INTO Studenci(id,imie,nazwisko,nr_albumu) values (4,'Barbara','Nowacka','667554');
19. Utwórz widok (inaczej perspektywę) vw_studenci_wydzialy, który w pierwszej kolumnie
wypisuje imię i nazwisko studenta, a w drugiej nazwę jego wydziału.
CREATE VIEW vw_studenci_wydzialy AS
SELECT s.imie||' '||s.nazwisko 'student', w.nazwa 'nazwa wydziału'
FROM Studenci s JOIN Wydzialy w
ON (dokończ samodzielnie)
Po wykonaniu kaŜdego z poniŜszych poleceń sprawdzaj rezultat wyświetlając wszystkie kolumny z
widoku vw_studenci_wydzialy, tzn. wywołując zapytanie:
SELECT * FROM vw_studenci_wydzialy;
20. Marcin Mlecz zmienił wydział na matematyczno-fizyczny. Dokonaj aktualizacji tabeli Studenci.
21. Józef Konopka oblał pierwszy semestr i postanowił zrezygnować ze studiów. Dokonaj
aktualizacji tabeli Studenci.(DELETE)
22. Wszystkie dziewczyny przechodzą na wydział Organizacji i Zarządzania (roz). Dokonaj
aktualizacji tabeli Studenci.
UPDATE Studenci SET id_wydzialu = 5 WHERE imie LIKE '%a';

Podobne dokumenty