gbd82

13
Base de datos (MySQL) Implementación de base de datos en MySQL, DML (Lenguaje de manipulación de datos) Ing. Linda Masias Morales

Upload: linda-masias

Post on 13-Jun-2015

1.012 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Gbd82

Base de datos (MySQL)

Implementación de base de datos en MySQL, DML (Lenguaje de

manipulación de datos)

Ing. Linda Masias Morales

Page 2: Gbd82

FOREIGN KEY

CREATE TABLE product ( category INT NOT NULL, id INT NOT NULL, price DECIMAL, PRIMARY KEY(category, id) ) ENGINE=INNODB;CREATE TABLE customer ( id INT NOT NULL, PRIMARY KEY (id) )ENGINE=INNODB;

Page 3: Gbd82

FOREIGN KEY CREATE TABLE product_order (no INT NOT NULL AUTO_INCREMENT, product_category INT NOT NULL, product_id INT NOT NULL, customer_id INT NOT NULL, PRIMARY KEY(no), INDEX (product_category, product_id), FOREIGN KEY (product_category, product_id) REFERENCES product(category, id) ON UPDATE CASCADE ON DELETE RESTRICT, INDEX (customer_id), FOREIGN KEY (customer_id) REFERENCES customer(id) ) ENGINE=INNODB;

Page 4: Gbd82

Implementación de base de datos en MySQL, DML

• Select-> Permite hacer consultas en la BD, obteniendo una nueva “tabla” con los resultados de la consulta

• Insert-> Permite añadir registros en la BD (filas de una tabla)

• Update-> Permite modificar registros en la BD (filas de una tabla)

• Delete-> Permite borrar registros en la BD (filas de una tabla)

Page 5: Gbd82

Seleccionar datos

NoticiasIdtitulotexto categoríafecha

Utilizaremos una tabla noticias con cinco campos: Un identificador único de la noticia, el título de la noticia, el texto de la noticia, la categoría de la Noticia la fecha de publicación de la noticia.

Page 6: Gbd82

Insertar datos

• Sintaxis: INSERT [INTO] nombre_tabla [(nombre_columna,...)] VALUES ((expresión | DEFAULT),...), (...),... INSERT [INTO] nombre_tabla SET nombre_columna=(expresión | DEFAULT), ...

Page 7: Gbd82

Insertar datos Ejemplo: Inserta una noticia con los valores indicados.

INSERT INTO noticias (id, titulo, texto, categoria, fecha) VALUES (37, ‘Nueva promoción en Nervión’, ‘145 viviendas de lujo en urbanización ajardinada situadas en un entorno privilegiado’, ‘promociones’, CURDATE()) , (38, ‘Nueva promoción en Nervión’, ‘145 viviendas de lujo en urbanización ajardinada situadas en un entorno privilegiado’, ‘promociones’, CURDATE()) ;

Page 8: Gbd82

Seleccionar datos

• Sintaxis: SELECT expresión FROM tabla [WHERE condición] [ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC] ,...] [LIMIT [offset,] row_count | row_count OFFSET offset]

Page 9: Gbd82

Seleccionar datos

Ejemplo: Obtiene las noticias del día con un tope máximo de 10, ordenadas de la más reciente a la más antiguaSELECT * from noticias WHERE id=37SELECT * from noticias WHERE categoria =‘categoria’

Page 10: Gbd82

Actualizar datos

• Sintaxis: UPDATE nombre_tabla SET nombre_columna1=expr1 [, nombre_columna2=expr2 ...] [WHERE condición] [ORDER BY ...] [LIMIT row_count]

Page 11: Gbd82

Actualizar datos

Ejemplo: Modifica la categoría de la noticia con id=37 de la tabla.

UPDATE noticias SET categoria = “ofertas” WHERE id=38;

Page 12: Gbd82

Eliminar datos

Sintaxis: DELETE FROM nombre_tabla [WHERE condición] [ORDER BY ...] [LIMIT row_count]

Page 13: Gbd82

Eliminar datos

Ejemplo: Borra las noticias con más de 10 días de antigüedad.

DELETE FROM noticias WHERE fecha < CURDATE()-10;