CREATE TABLE movies (
id int CONSTRAINT firstkey PRIMARY KEY,
title varchar (50),
country varchar (50),
date_prod date,
director varchar(50),
type varchar(20)
);
--Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π°Π·Ρ Ρ ΡΠΈΠ»ΡΠΌΠ°ΠΌΠΈ
INSERT INTO movies VALUES (1, 'The Matrix', 'USA', '1999-03-24', 'The Wachowskis', 'science fiction');
INSERT INTO movies VALUES (2, 'Men In Black', 'USA', '1999-05-18', 'Barry Sonnenfeld', 'science fiction');
INSERT INTO movies VALUES (3, 'Men In Black', 'USA', '1998-05-18', 'Barry Sonnenfeld', 'science fiction');
INSERT INTO movies VALUES (4, 'Men In Black', 'USA', '1997-05-18', 'Barry Sonnenfeld', 'superhero film');
INSERT INTO movies VALUES (5, 'Batman', 'USA', '1996-05-18', 'Barry Sonnenfeld', 'SUPERHERO FILM');
UPDATE movies SET TYPE = 'SUPERHERO FILM' WHERE id=5; --ΡΡΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡ
UPDATE movies SET TYPE = 'superhero film' WHERE id=4; --Π±Π΅Π· ΡΡΠ΅ΡΠΏΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°, ΠΏΡΠΎΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΡΡΡΠΎΠΊΠΈ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌ ΡΠΈΠΏΠΎΠΌ
SELECT * FROM movies WHERE TYPE LIKE 'SUPERHERO%';
SELECT * FROM movies WHERE TYPE ILIKE 'SUPERHERO%';
--Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠΎΠ»Π±ΡΠ° Ρ ΠΏΠΎΡΡΠΎΠΉ ΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠΌ
ALTER TABLE movies ADD COLUMN email varchar (50);
ALTER TABLE movies ADD COLUMN phone varchar (50);
UPDATE movies SET email = 'truemail@bigcompany.com' where id=1;
UPDATE movies SET email = 'truemail@Π°falsecompany' where id=2;
UPDATE movies SET email = 'nomailsomecompany.com' where id=3;
UPDATE movies SET email = 'false@mail@smallcom#pany.com' where id=4;
UPDATE movies SET email = 'othermail@smallcompany.com' where id=5;
SELECT * FROM movies WHERE email LIKE '%@%'; --Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΏΠΎΠΈΡΠΊ email
SELECT * FROM movies WHERE email LIKE '%@%.%'; --Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΏΠΎΠΈΡΠΊ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ email
--Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ email
SELECT * FROM movies WHERE email ~ '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$';
UPDATE movies SET email = 'defaultmail@mail.com' WHERE email !~ '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$';
UPDATE movies SET phone = '+7123456789' where id =1;
UPDATE movies SET phone = '+7123456788' where id =2;
UPDATE movies SET phone = '+7123456777' where id =3;
UPDATE movies SET phone = '+7123455555' where id =4;
UPDATE movies SET phone = '+7123444444' where id =5;
--ΠΏΠΎΠΈΡΠΊ Π½ΠΎΠΌΠ΅ΡΠ° Π±Π΅Π· Π΄Π΅Π²ΡΡΠΎΠΊ Π΄Π»ΠΈΠ½ΠΎΠΉ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 8 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² (2 Π²Π°ΡΠΈΠ°Π½ΡΠ°)
SELECT * FROM movies WHERE phone ~ '^[^9]{8,}$';
SELECT * FROM movies WHERE phone ~ '^\+?[0-8]{8,}$';
--ΠΏΠΎΠΈΡΠΊ Π½ΠΎΠΌΠ΅ΡΠ° Π±Π΅Π· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² (Π±Π΅Π· 9, 8, 6)
SELECT * FROM movies WHERE phone ~ '^[^986]{8,}$';
--ΠΏΠΎΠΈΡΠΊ Π½ΠΎΠΌΠ΅ΡΠ° ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ:
SELECT * FROM movies WHERE phone ~ '^\+?[0-4,7]{8,}$';