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. Conectarse al DBMS (esto se hace desde la línea de comandos o cliente PostgreSQL) -- psql -U usuario -- 2. Crear la base de datos CREATE DATABASE venta_online; -- 3. Conectarse a la base de datos creada -- \c venta_online -- 4. Crear la relación con todas las restricciones mencionadas CREATE TABLE usuarios ( id_usuario SERIAL PRIMARY KEY, nombre_usuario VARCHAR(50) NOT NULL UNIQUE, contrasena VARCHAR(150) NOT NULL CHECK (LENGTH(contrasena) BETWEEN 8 AND 150), correo_electronico VARCHAR(100) NOT NULL UNIQUE, correo_adicional VARCHAR(100) CHECK (correo_adicional IS NULL OR correo_adicional <> correo_electronico), nombre VARCHAR(50) NOT NULL CHECK (LENGTH(TRIM(nombre)) >= 3), apellido_paterno VARCHAR(50) NOT NULL CHECK (LENGTH(TRIM(apellido_paterno)) >= 3), apellido_materno VARCHAR(50) CHECK (apellido_materno IS NULL OR LENGTH(TRIM(apellido_materno)) >= 3), fecha_nacimiento DATE NOT NULL, sexo VARCHAR(15) NOT NULL CHECK (sexo IN ('masculino', 'femenino', 'no especificado')), telefono_celular VARCHAR(15) NOT NULL, telefono_adicional VARCHAR(15), tipo_cuenta VARCHAR(20) NOT NULL CHECK (tipo_cuenta IN ('gratuito', 'básico', 'intermedio', 'profesional')), fecha_creacion TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, fecha_ultimo_acceso TIMESTAMP ); -- 5. Agregar 5 registros nuevos INSERT INTO usuarios ( nombre_usuario, contrasena, correo_electronico, nombre, apellido_paterno, apellido_materno, fecha_nacimiento, sexo, telefono_celular, tipo_cuenta ) VALUES ('user1', 'password123', 'user1@example.com', 'Juan', 'Perez', 'Gomez', '1990-05-15', 'masculino', '5512345678', 'gratuito'), ('user2', 'password456', 'user2@example.com', 'Maria', 'Lopez', 'Garcia', '1985-08-20', 'femenino', '5512345679', 'básico'), ('user3', 'password789', 'user3@example.com', 'Pedro', 'Gonzalez', NULL, '1995-11-30', 'masculino', '5512345680', 'intermedio'), ('user4', 'passwordabc', 'user4@example.com', 'Ana', 'Martinez', 'Sanchez', '1988-03-25', 'femenino', '5512345681', 'profesional'), ('user5', 'passworddef', 'user5@example.com', 'Carlos', 'Rodriguez', 'Fernandez', '1992-07-10', 'masculino', '5512345682', 'gratuito'); -- 6. Agregar registros específicos INSERT INTO usuarios ( nombre_usuario, contrasena, correo_electronico, nombre, apellido_paterno, apellido_materno, fecha_nacimiento, sexo, telefono_celular, tipo_cuenta ) VALUES ('martin.hernanez', 'martinhdez', 'martin.hernanez@mujex.com', 'Martín', 'Hernandez', NULL, '1990-01-15', 'masculino', '5511111111', 'gratuito'), ('alejandra.perez.sanchez', 'alendrapesa', 'alejandra.perez.sanchez@mujex.com', 'Alejandra', 'Perez', 'Sanchez', '1990-02-12', 'femenino', '5522222222', 'básico'), ('jhon.breakfast', 'jhon.breakfast', 'jhon.breakfast@wwc.com', 'Juan', 'Desayuno', NULL, '1985-05-20', 'masculino', '5533333333', 'profesional'); -- 7. Actualizar fecha de nacimiento de Alejandra Pérez Sánchez UPDATE usuarios SET fecha_nacimiento = '1995-02-12' WHERE nombre_usuario = 'alejandra.perez.sanchez'; -- 8. Agregar opción no binario en el campo sexo ALTER TABLE usuarios DROP CONSTRAINT usuarios_sexo_check; ALTER TABLE usuarios ADD CONSTRAINT usuarios_sexo_check CHECK (sexo IN ('masculino', 'femenino', 'no especificado', 'no binario')); -- 9. Agregar opciones silver, gold y platinum en tipos de usuario ALTER TABLE usuarios DROP CONSTRAINT usuarios_tipo_cuenta_check; ALTER TABLE usuarios ADD CONSTRAINT usuarios_tipo_cuenta_check CHECK (tipo_cuenta IN ('gratuito', 'básico', 'intermedio', 'profesional', 'silver', 'gold', 'platinum')); -- 10. Eliminar 3 registros y agregar 8 más DELETE FROM usuarios WHERE id_usuario IN (1, 3, 5); INSERT INTO usuarios ( nombre_usuario, contrasena, correo_electronico, correo_adicional, nombre, apellido_paterno, apellido_materno, fecha_nacimiento, sexo, telefono_celular, telefono_adicional, tipo_cuenta ) VALUES ('user6', 'passwordghi', 'user6@example.com', 'user6.alt@example.com', 'Laura', 'Diaz', 'Ramirez', '1993-04-18', 'femenino', '5512345683', '5512345684', 'silver'), ('user7', 'passwordjkl', 'user7@example.com', NULL, 'Roberto', 'Sanchez', 'Mendez', '1987-09-22', 'masculino', '5512345685', NULL, 'gold'), ('user8', 'passwordmno', 'user8@example.com', 'user8.alt@example.com', 'Sofia', 'Castro', 'Vega', '1991-12-05', 'femenino', '5512345686', '5512345687', 'platinum'), ('user9', 'passwordpqr', 'user9@example.com', NULL, 'Jorge', 'Ruiz', 'Ortiz', '1989-06-30', 'masculino', '5512345688', NULL, 'básico'), ('user10', 'passwordstu', 'user10@example.com', 'user10.alt@example.com', 'Patricia', 'Mendoza', 'Rios', '1994-03-15', 'femenino', '5512345689', '5512345690', 'intermedio'), ('user11', 'passwordvwx', 'user11@example.com', NULL, 'Fernando', 'Herrera', 'Guzman', '1986-08-25', 'masculino', '5512345691', NULL, 'profesional'), ('user12', 'passwordyz1', 'user12@example.com', 'user12.alt@example.com', 'Gabriela', 'Flores', 'Morales', '1996-01-10', 'femenino', '5512345692', '5512345693', 'silver'), ('user13', 'password234', 'user13@example.com', NULL, 'Ricardo', 'Ortega', 'Pineda', '1997-07-20', 'masculino', '5512345694', NULL, 'gold'); -- 11. Agregar dos atributos nuevos ALTER TABLE usuarios ADD COLUMN pais VARCHAR(50) DEFAULT 'México'; ALTER TABLE usuarios ADD COLUMN verificado BOOLEAN DEFAULT FALSE; -- Actualizar algunos registros con los nuevos atributos UPDATE usuarios SET verificado = TRUE WHERE id_usuario IN (2, 4, 7, 10, 12); UPDATE usuarios SET pais = 'Estados Unidos' WHERE nombre_usuario = 'jhon.breakfast'; UPDATE usuarios SET pais = 'España' WHERE id_usuario = 8;

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

Copy Clear