Hi! Could we please enable some services and cookies to improve your experience and our website?

SQLize | PHPize | SQLtest

Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code

A A A
Login    Share code      Blog   FAQ
Copy Format Clear
-- 1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ users с Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠ΅ΠΉ CREATE TABLE users ( id SERIAL PRIMARY KEY, username VARCHAR(50) NOT NULL, email VARCHAR(255) NOT NULL UNIQUE, password_hash VARCHAR(255) NOT NULL, is_active BOOLEAN DEFAULT TRUE, created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, -- Валидация email (рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅) CONSTRAINT valid_email CHECK ( email ~* '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$' ), -- Валидация Π΄Π»ΠΈΠ½Ρ‹ ΠΈΠΌΠ΅Π½ΠΈ (ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 3 символа) CONSTRAINT valid_username CHECK ( LENGTH(username) >= 3 ), -- Валидация пароля (ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 8 символов) CONSTRAINT valid_password CHECK ( LENGTH(password_hash) >= 8 ) ); -- 2. Π’Ρ€ΠΈΠ³Π³Π΅Ρ€ для автоматичСского обновлСния updated_at CREATE OR REPLACE FUNCTION update_modified_column() RETURNS TRIGGER AS $$ BEGIN NEW.updated_at = CURRENT_TIMESTAMP; RETURN NEW; END; $$ LANGUAGE plpgsql; CREATE TRIGGER update_users_updated_at BEFORE UPDATE ON users FOR EACH ROW EXECUTE FUNCTION update_modified_column(); -- 3. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ добавлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ -- Π£ΡΠΏΠ΅ΡˆΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: INSERT INTO users (username, email, password_hash) VALUES ('alex_ivanov', 'alex@example.com', 'secure12345'); INSERT INTO users (username, email, password_hash, is_active) VALUES ('maria_petrova', 'maria@test.org', 'qwerty123', FALSE); -- ΠžΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ (раскоммСнтируйтС для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ): -- ❌ ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ email -- INSERT INTO users (username, email, password_hash) -- VALUES ('alex2', 'alex@example.com', '12345678'); -- ❌ НСвСрный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ email -- INSERT INTO users (username, email, password_hash) -- VALUES ('test', 'invalid-email', 'password123'); -- ❌ Блишком ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ username -- INSERT INTO users (username, email, password_hash) -- VALUES ('ab', 'ab@test.com', 'password123'); -- 4. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… SELECT * FROM users;

Stuck with a problem? Got Error? Ask AI support!

Copy Clear