Jump to content

SQL - Práce s daty 2


Samnick

Recommended Posts

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);

image.png.8e2e8e8c30f8b1edc377e4eb24c2a5e7.png

image.png.844bb5c6cbc4e0b9f7b2407311e442bc.png

 

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;

 

 

  • Like 1
  • Thanks 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...