Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 25.02.2020
- jezyk SQL
- USE S1231
- GO
- -- WPROWADZENIE
- CREATE TABLE t (id int, k1 VARCHAR(10))
- INSERT INTO t VALUES
- (1, 'Styczen'),
- (2, 'Luty')
- SELECT * FROM t;
- -- Zmiana nazwy kolumny w tabeli
- sp_rename 't.k1', 'k2', 'column'
- -- Zmiana nazwy tabeli
- sp_rename 't', 'tab'
- SELECT * FROM tab;
- -- Tworzenie kopii tabeli
- SELECT * INTO kopia FROM tab
- SELECT * FROM kopia
- -- Zmiana typu danych w kolumnie
- ALTER TABLE kopia ALTER COLUMN k2 CHAR(100)
- -- Dodawanie nowej kolumny
- ALTER TABLE kopia ADD k3 NUMERIC(2)
- SELECT * FROM kopia
- -- Usuwanie kolumny
- ALTER TABLE kopia DROP COLUMN k2
- SELECT * FROM kopia
- -- Dodawanie indeksu do kolumny
- CREATE INDEX t_index ON tab(k2)
- SELECT * FROM tab
- -- Usuwanie indeksu
- DROP INDEX t_index ON tab
- -- Usuwanie tabel
- DROP TABLE tab
- DROP TABLE kopia
- -- Zadanie 1.
- CREATE TABLE Pracownicy(
- idpracownika numeric(5) identity(1,1) primary key,
- imie VARCHAR(20),
- nazwisko VARCHAR(20),
- wiek NUMERIC(3),
- dzial CHAR(3)
- )
- SELECT * FROM Pracownicy
- INSERT INTO Pracownicy VALUES
- ('Jan', 'Nowak', 27, 'INF'),
- ('Adam', 'Kowalski', 26, 'MAN'),
- ('Anna', 'Nowak', 24, 'MGT'),
- ('Ewa', 'Kowalska', 23, 'ACC');
- SELECT * FROM Pracownicy;
- /* Zadanie 2: Na podstawie tabeli o nazwie Pracownicy, utworzyć jej kopię o nazwie Uzytkownicy,
- kopiując całą tabelę za wyjątkiem kolumny Dział i zmieniając nazwę kolumny idpracownika na iduzytkownika.
- Wyświetlić zawartość tabeli Uzytkownicy. */
- SELECT idpracownika AS iduzytkownika, imie, nazwisko, wiek
- INTO Uzytkownicy
- FROM Pracownicy
- SELECT * FROM Uzytkownicy
- /* 3. Na podstawie tabeli o nazwie Pracownicy,
- utworzyć jej dokładną kopię o nazwie Studenci,
- kopiując definicję oraz zawartość tej tabeli dla osób mających mniej niż 25 lat,
- jednocześnie zmieniając nazwę kolumny idpracownika na idstudenta. Wyświetlić zawartość tabeli Studenci. */
- SELECT idpracownika AS idstudenta, imie, nazwisko, wiek, dzial
- INTO studenci
- FROM Pracownicy
- WHERE wiek<25
- SELECT * FROM studenci
- -- 4. W tabeli Uzytkownicy usunąć wiersze dla osób, które mają mniej niż 25 lat i nazwisko rozpoczynające się od litery K. Zweryfikować poprawność.
- DELETE FROM Uzytkownicy WHERE wiek<25 AND nazwisko LIKE 'k%'
- -- 5. Usunąć tabelę Uzytkownicy i Studenci.
- DROP TABLE Uzytkownicy
- DROP TABLE studenci;
- -- 6. Utworzyć nową tabelę o nazwie Region według poniższych danych.
- CREATE TABLE region(
- idregionu NUMERIC(2) PRIMARY KEY,
- nazwa VARCHAR(20),
- idpracownika NUMERIC(5) FOREIGN KEY (idpracownika)
- references Pracownicy(idpracownika)
- )
- INSERT INTO region VALUES
- (1, 'pomorskie', 4),
- (2, 'zachodniopomorskie', 2),
- (3, 'warminsko-mazurskie', 3)
- SELECT * FROM region
- --weryfikacja
- SELECT * FROM pracownicy p, region r
- WHERE p.idpracownika = r.idpracownika
- /* 7. Utworzyc tabelę o nazwie Osoba */
- CREATE TABLE osoba(
- id numeric(5) primary key,
- imie VARCHAR(20),
- nazwisko VARCHAR(20),
- pesel VARCHAR(11) UNIQUE,
- data_urodzenia DATE
- )
- INSERT INTO osoba VALUES
- (1, 'Jan', 'Kowalski', '65121812434', '1965-12-18'),
- (2, 'Adam', 'Nowak', '54052314588', '1954-05-23'),
- (3, 'Ewa', 'Zielinska', '88111238273', '1988-11-12'),
- (4, 'Anna', 'Woźniak', '92012013728', '1992-01-12')
- SELECT * FROM osoba;
- -- 8. Zmienić nazwę tabeli Osoba na Pracownik.
- sp_rename 'osoba', 'pracownik'
- SELECT * FROM pracownik;
- -- 9. Dodać do tabeli Pracownik następujące kolumny: dzial, wyksztalcenie
- ALTER TABLE pracownik ADD dzial VARCHAR(20), wyksztalcenie VARCHAR(20)
- UPDATE pracownik SET dzial='Organizacyjny'
- UPDATE pracownik SET wyksztalcenie='wyzsze' WHERE id<3
- SELECT * FROM pracownik;
- -- 10. Skopiować zawartość tabeli Pracownik do tabeli Pracownik_kopia.
- SELECT * INTO pracownik_kopia FROM pracownik
- SELECT * FROM pracownik_kopia
- -- 11.Usunąć z tabeli Pracownik_kopia kolumnę o nazwie pesel.
- ALTER TABLE pracownik_kopia DROP column pesel
- SELECT * FROM pracownik_kopia
- -- 12. W tabeli Pracownik_kopia zmienić kolumnę nazwisko tak, aby pozwalała na wprowadzenie 40 znaków.
- ALTER TABLE pracownik_kopia ALTER COLUMN nazwisko VARCHAR(40)
- -- 13. W tabeli Pracownik_kopia zmienić nazwę kolumny id na id_pracownika.
- sp_rename 'pracownik_kopia.id', 'id_pracownika', 'column'
- SELECT * FROM pracownik_kopia;
- -- 14. Utworzyć indeks do tabeli Pracownik, indeksujący nazwisko i imię. Sprawdzić działanie.
- CREATE INDEX pracownik_imie_nazwisko ON pracownik(imie, nazwisko)
- SELECT * FROM pracownik WHERE nazwisko LIKE '%ska';
- -- 15. Usunąć indeks z tabeli Pracownik.
- DROP INDEX pracownik_imie_nazwisko;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement