Samnick Posted February 22, 2023 Share Posted February 22, 2023 Pokračování návodu SQL - Práce s daty 1 Vrátíme se k založeným tabulkám CREATE TABLE Customers ( CustomerID INT NOT NULL PRIMARY KEY, FirstName VARCHAR(50), LastName VARCHAR(50), Address VARCHAR(100), City VARCHAR(50), Country VARCHAR(50) ); CREATE TABLE Orders ( OrderID INT NOT NULL PRIMARY KEY, CustomerID INT NOT NULL, OrderDate DATE, TotalAmount DECIMAL(10, 2), FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID) ); INSERT INTO Customers (CustomerID, FirstName, LastName, Address, City, Country) VALUES (1, 'Pepa', 'Novak', '123 Main St', 'Anytown', 'USA'), (2, 'Jane', 'Smith', '456 Oak Ave', 'Othertown', 'USA'), (3, 'Bob', 'Johnson', '789 Elm St', 'Somewhere', 'CR'); INSERT INTO Orders (OrderID, CustomerID, OrderDate, TotalAmount) VALUES (1, 1, '2022-02-15', 100.00), (2, 1, '2022-02-17', 50.00), (3, 2, '2022-02-18', 200.00), (4, 3, '2022-02-20', 75.00); UPDATE V ukázce provedeme změnu obsahu daných tabulkek. K tomu slouží příkaz UPDATE Příkaz UPDATE slouží k aktualizaci stávajících záznamů v databázové tabulce. Jeho syntaxe vypadá následovně: UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; Jednotlivé parametry tohoto příkazu: table_name: Název tabulky, kterou chcete aktualizovat. column1, column2, ...: Názvy sloupců v tabulce, které chcete aktualizovat. value1, value2, ...: Nové hodnoty, které chcete přiřadit k jednotlivým sloupcům. condition: Podmínka, která určuje, které řádky v tabulce budou aktualizovány. Pokud tuto podmínku neuvedete, příkaz UPDATE aktualizuje všechny řádky v tabulce. Například: UPDATE Customers SET Address = 'Nova Adresa 123' WHERE CustomerID = 1; UPDATE Customers SET FirstName = 'Alice' WHERE CustomerID = 3; Je důležité kontrolovat to, aby podmínka byla dostatečně specifická, aby nedošlo k aktualizaci nechtěných řádků. Příklad pro update více hodnot v jednom příkazu: UPDATE Customers SET Address = 'Adresa 123', City = 'Mesto', Country = 'CZ' WHERE CustomerID = 1; Příklad pro update více řádků a hodnot v jednom příkazu: UPDATE Orders SET TotalAmount = 150.00; Tento příkaz změní u všech řádků hodnotu sloupce TotalAmount na hodnotu 150.00 DELETE Příkaz DELETE slouží ke smazání záznamů z databázové tabulky. Příkaz DELETE může mít nevratné dopady, pokud není správně použit. Pokud smažete řádky z tabulky, "nelze je obnovit" Je důležité dbát na to, aby podmínka byla dostatečně specifická, aby neodstranila nechtěné řádky v tabulce. DELETE FROM table_name WHERE condition; Jednotlivé parametry tohoto příkazu: table_name: Název tabulky, ze které chcete smazat záznamy. condition: Podmínka, která určuje, které řádky v tabulce budou smazány. Pokud tuto podmínku neuvedete, příkaz DELETE smaže všechny záznamy v tabulce. Příklady: Smazání zákazníka s ID 1 z tabulky Customers DELETE FROM Customers WHERE CustomerID = 1; Smazání všech objednávek s datem objednání starším než "2022-02-19" DELETE FROM Orders WHERE OrderDate < '2022-02-19'; !!Smazání všech dat z dané tabulky!! DELETE FROM Orders; ALTER Příkaz ALTER v SQL slouží ke změně struktury existující tabulky. Jeho syntaxe se liší v závislosti na tom, co chcete změnit. Zde jsou vysvětleny jednotlivé parametry, které můžete použít v příkazu ALTER TABLE: Určuje název tabulky, kterou chcete změnit. ADD: Používá se ke přidání nového sloupce do tabulky. Například: TABLE: Určuje název tabulky, kterou chcete změnit. ADD: Používá se ke přidání nového sloupce do tabulky. ALTER TABLE table_name ADD column_name data_type; DROP: Používá se ke smazání sloupce z tabulky. ALTER TABLE table_name DROP COLUMN column_name; MODIFY: Používá se ke změně datového typu existujícího sloupce. ALTER TABLE table_name MODIFY COLUMN column_name new_data_type; RENAME: Používá se ke změně názvu tabulky nebo sloupce. ALTER TABLE table_name RENAME TO new_table_name; ALTER TABLE table_name RENAME COLUMN column_name TO new_column_name; Reálné příkazy pro naše tabulky: Přidání sloupce Phone do tabulky Customers ALTER TABLE Customers ADD Phone VARCHAR(20); Odstranění sloupce TotalAmount z tabulky Orders ALTER TABLE Orders DROP COLUMN TotalAmount; Změna datového typu sloupce Address v tabulce Customers z VARCHAR(100) na VARCHAR(200) ALTER TABLE Customers MODIFY COLUMN Address VARCHAR(200); Přejmenování tabulky Customers na Clients ALTER TABLE Customers RENAME TO Clients; Přejmenování sloupce City v tabulce Customers na Location ALTER TABLE Customers RENAME COLUMN City TO Location; 1 2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.