· 5 years ago · Sep 24, 2020, 09:38 PM
1CREATE TABLE IF NOT EXISTS categorias (
2ID int(11) NOT NULL AUTO_INCREMENT,
3nombre text NOT NULL,
4id_categoria_padre int(11) NOT NULL,
5PRIMARY KEY (ID)
6)
7
8INSERT INTO categorias (ID, nombre, id_categoria_padre) VALUES
9 (1, 'Electrodomesticos', 0),
10 (2, 'Consolas y videojuegos', 0),
11 (3, 'Celulares', 0),
12 (4, 'Aires Acondicionados', 0),
13 (5, 'Informatica', 0),
14 (6, 'Comida', 0),
15 (7, 'Bebida', 0),
16 (8, 'Fruta', 6),
17 (9, 'Carnes', 6),
18 (10, 'Gaseosa', 7),
19 (11, 'Bebidas Alcoholicas', 7),
20 (12, 'Aguas saborizadas', 7),
21 (13, 'Aguas', 7),
22 (14, 'Portatiles', 2),
23 (15, 'Hornos', 1),
24 (16, 'Lavarropas', 1),
25 (17, 'Heladeras', 1),
26 (18, 'Microndas', 1),
27 (19, 'Aires Acondicionados frio', 4),
28 (20, 'Aires acondicionados frio/calor', 4),
29 (21, 'Computadoras', 5),
30 (22, 'Impresoras', 5),
31 (23, 'Notebooks', 5),
32 (24, 'Televisores', 0),
33 (25, 'Pasta', 6)
34
35SELECT * FROM categorias;
36
37CREATE TABLE IF NOT EXISTS clientes (
38 id int(11) NOT NULL AUTO_INCREMENT,
39 nombre tinytext,
40 apellido tinytext,
41 email tinytext,
42 telefono tinytext,
43 celular tinytext,
44 fecha_de_nacimiento datetime DEFAULT NULL,
45 id_producto_preferido int(11) NOT NULL,
46 PRIMARY KEY (id),
47 KEY producto (id_producto_preferido),
48 CONSTRAINT producto FOREIGN KEY (id_producto_preferido) REFERENCES productos (id) ON DELETE NO ACTION ON UPDATE NO ACTION
49)
50
51
52INSERT INTO clientes (id, nombre, apellido, email, telefono, celular, fecha_de_nacimiento, id_producto_preferido) VALUES
53 (1, 'Sacha', 'Lifszyc', 'sacha.lifzyc@gmail.com', '46319613', '1153980907', '1990-08-12 18:52:29', 27),
54 (4, 'Dario ', 'Ramirez', 'dario.Ramirez@gmail.com', '49968901', '1130315490', '1990-10-03 18:59:16', 22),
55 (7, 'Javier', 'Herrera', 'javier.herrera@gmail.com', '43562718', '1123657890', '1990-04-08 19:17:53', 24),
56 (9, 'Lucas', 'Croci', 'lucas.croci@gmail.com', '45672310', '1132567845', '1990-04-10 19:20:40', 8),
57 (11, 'Martina', 'Zapata', 'martina.zapata@gmail.com', '478902345', '1123450970', '1992-10-08 19:21:57', 17),
58 (14, 'Laura', 'Cortez', 'Laura.Cortez@gmail.com', '42678901', '1123657808', '1991-12-08 19:26:29', 21);
59
60 SELECT * FROM clientes ORDER BY nombre;
61 SELECT * FROM clientes ORDER BY nombre,apellido;
62 SELECT nombre,apellido,telefono,fecha_de_nacimiento FROM clientes WHERE telefono IS NOT NULL ORDER BY fecha_de_nacimiento;
63 SELECT nombre,||''||,apellido AS nombre_completo FROM clientes;
64
65
66CREATE TABLE IF NOT EXISTS marcas (
67 ID int(11) NOT NULL AUTO_INCREMENT,
68 nombre tinytext,
69 PRIMARY KEY (ID)
70)
71
72
73INSERT INTO marcas (ID, nombre) VALUES
74 (1, 'HP'),
75 (2, 'Samsung'),
76 (3, 'Toshiba'),
77 (4, 'TP Link'),
78 (5, 'Sony'),
79 (6, 'Nintendo'),
80 (7, 'Microsoft'),
81 (8, 'Apple'),
82 (9, 'Motorola'),
83 (10, 'Sanyo'),
84 (11, 'Phillips'),
85 (12, 'Philco'),
86 (13, 'LG'),
87 (14, 'Panasonic'),
88 (15, 'Coca-Cola'),
89 (16, 'Sprite'),
90 (17, 'Ser'),
91 (18, 'Quilmes'),
92 (19, 'Stella Artois'),
93 (20, 'Patagonia');
94
95CREATE TABLE IF NOT EXISTS productos (
96 id int(11) NOT NULL AUTO_INCREMENT,
97 nombre text,
98 modelo text,
99 descripcion text,
100 precio float DEFAULT NULL,
101 puntuacion float DEFAULT NULL,
102 id_categoria int(11) DEFAULT NULL,
103 id_marca int(11) DEFAULT NULL,
104 PRIMARY KEY (id),
105 KEY categoria (id_categoria),
106 KEY marca (id_marca),
107 CONSTRAINT categoria FOREIGN KEY (id_categoria) REFERENCES categorias (ID) ON DELETE NO ACTION ON UPDATE NO ACTION,
108 CONSTRAINT marca FOREIGN KEY (id_marca) REFERENCES marcas (ID) ON DELETE NO ACTION ON UPDATE NO ACTION
109)
110
111
112INSERT INTO productos (id, nombre, modelo, descripcion, precio, puntuacion, id_categoria, id_marca) VALUES
113 (1, 'TV LED 32', 'SY-XFJQLP', 'Este televisior tiene una pantalla grande', 8000, 3.1, 1, 10),
114 (2, 'Manzana roja', NULL, 'manzana roja orifen nacional', 5, 2.5, 8, NULL),
115 (3, 'Manzana verde', NULL, 'Manzana verde origen nacional', 5, 2.5, 8, NULL),
116 (4, '1kg de bife', NULL, NULL, 129, 3.4, 10, NULL),
117 (5, '1kg de lechuga de pollo', NULL, NULL, 105, 3, 10, NULL),
118 (6, 'fideos tricolor', NULL, 'fideos de zapallo zanahoria y acelga', 40, 1.9, 6, NULL),
119 (7, 'caja de ravioles de verdura', NULL, 'los mejores ravioles de argentina', 64, 2.4, 6, NULL),
120 (8, 'caracolitos', NULL, 'rica pasta', 38, 0.9, 6, NULL),
121 (9, 'Playsation 3', 'slim', 'con 2 jostick', 7000, 3.6, 2, 5),
122 (10, 'Playstation 4', NULL, 'con 1 solo jostick', 8000, 4.1, 2, 5),
123 (11, 'Playstation 4 Slim', 'slim', 'ultimo modelo, mas finita', 8500, 4.3, 2, 5),
124 (12, 'Wii', 'blanca 250gb', 'Nintendo Wii excelente para jugar en familia', 7000, 3.2, 2, 6),
125 (13, 'wii-U', 'con mando externo tipo iPad', 'buena wii', 8000, 3.6, 2, 6),
126 (14, 'Nintendo Switch', 'la ultima consola de Nintendo', 'mama mia', 12000, 4.6, 2, 14),
127 (15, 'TV Samsung 3D ', 'smg-3d', 'alta tele', 25000, 3.7, 24, 14),
128 (16, 'Smart TV Panasonic', 'PNSC-SMJ', 'excelente para mirar futbol', 26000, 4, 24, 8),
129 (17, 'iphone 6s', '64gb negro', 'nice', 14000, 4, 14, 8),
130 (18, 'iphone 6s', '128 gb negro', 'buena capacidad', 17000, 4.5, 14, 8),
131 (19, 'iphone 7', '128 gb negro', 'buena capacidad', 24000, 4.8, 14, 15),
132 (20, 'Coca-cola', '1.5lts', 'coca', 75, 4.2, 7, 15),
133 (21, 'Coca-cola', '2.25lts', 'coca grande', 100, 3.8, 7, 16),
134 (22, 'Sprite', '1.5lts', 'sprite', 100, 3.6, 7, 17),
135 (23, 'Agua sabor pomelo', '1.5lts', 'agua copada', 75, 3.4, 12, 17),
136 (24, 'agua sabor naranja', '1.5lts', 'agua saborizada', 75, 3.5, 12, 17),
137 (25, 'Cerveza quilmes', '1lt', 'el sabor del encuentro', 65, 2.2, 11, 18),
138 (26, 'Cerveza stella artois', '1lt', 'ella es unica', 85, 3.2, 11, 19),
139 (27, 'Cerveza artesanal patagonia', '750cc', 'la mas rica', 100, 4.3, 11, 20);
140
141 SELECT nombre, precio/puntuacion AS resultado FROM productos;
142 SELECT nombre, precio FROM productos WHERE precio < 1000;
143 SELECT nombre FROM productos WHERE nombre = 'Wii';
144 SELECT nombre, precio FROM productos WHERE precio < 10000 AND precio > 1000;
145 SELECT nombre, precio, puntuacion FROM productos WHERE precio BETWEEN 1000 AND 10000 OR puntuacion > 4;
146 SELECT * FROM productos ORDER BY puntuacion DESC LIMIT 5;
147 SELECT * FROM productos ORDER BY puntuacion DESC LIMIT 6,5;
148 SELECT * FROM productos WHERE nombre LIKE '%iphone%';
149 SELECT * FROM productos WHERE nombre LIKE '%p%';
150 SELECT * FROM productos WHERE nombre LIKE '%p%a%';
151
152
153CREATE TABLE IF NOT EXISTS ventas (
154 ID int(11) NOT NULL AUTO_INCREMENT,
155 id_cliente int(11) NOT NULL,
156 id_producto int(11) NOT NULL,
157 PRIMARY KEY (ID),
158 KEY cliente (id_cliente),
159 KEY productos (id_producto),
160 CONSTRAINT cliente FOREIGN KEY (id_cliente) REFERENCES clientes (id) ON DELETE NO ACTION ON UPDATE NO ACTION,
161 CONSTRAINT productos FOREIGN KEY (id_producto) REFERENCES productos (id) ON DELETE NO ACTION ON UPDATE NO ACTION
162)
163
164
165INSERT INTO ventas (ID, id_cliente, id_producto) VALUES
166 (1, 14, 7),
167 (2, 14, 21),
168 (3, 1, 6),
169 (4, 4, 26),
170 (6, 9, 4),
171 (7, 11, 2),
172 (8, 14, 10),
173 (9, 11, 16),
174 (10, 7, 6),
175 (11, 1, 7),
176 (12, 9, 23),
177 (13, 7, 6);