La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Componentes sintácticos

Presentaciones similares


Presentación del tema: "Componentes sintácticos"— Transcripción de la presentación:

1 Componentes sintácticos
La mayoría de sentencias SQL tienen la misma estructura. Todas comienzan por un verbo (select, insert, update, create), a continuación le sigue una o más clausulas que nos dicen los datos con los que vamos a operar (from, where), algunas de estas son opcionales y otras obligatorias como es el caso del from.

2 Crear tablas a partir de sentencias SQL.
Para crear una tabla debemos especificar diversos datos: El nombre que le queremos asignar, los nombres de los campos y sus características. Además, puede ser necesario especificar cuáles de estos campos van a ser índices y de qué tipo van a ser. En general, la mayoría de las bases de datos poseen potentes editores de bases que permiten la creación rápida y sencilla de cualquier tipo de tabla con cualquier tipo de formato. Sin embargo, una vez la base de datos está alojada en el servidor, puede darse el caso de que queramos introducir una nueva tabla ya sea con carácter temporal (para gestionar un carrito de compra por ejemplo) o bien permanente por necesidades concretas de nuestra aplicación. En estos casos, podemos, a partir de una sentencia SQL, crear la tabla con el formato que deseemos lo cual nos puede ahorrar más de un dolor de cabeza. Este tipo de sentencias son especialmente útiles para bases de datos como Mysql, las cuales trabajan directamente con comandos SQL y no por medio de editores. La sintaxis de creación puede variar ligeramente de una base de datos a otra ya que los tipos de campo aceptados no están completamente estandarizados.

3 Sintaxis: Create Table nombre_tabla ( nombre_campo_1 tipo_1 nombre_campo_2 tipo_2 nombre_campo_n tipo_n )

4 CREATE TABLE Empleados ( Nombre TEXT (25), Apellidos TEXT (50) )
Ejercicio: Crear una nueva tabla llamada Empleados con dos campos, uno llamado Nombre de tipo texto y longitud 25 y otro llamado apellidos con longitud 50 SOLUCIÓN: CREATE TABLE    Empleados (    Nombre TEXT (25),    Apellidos TEXT (50)     )

5 Ejemplos. Ejecutar la siguiente sintaxis: Create Table articulos (id_articulo REAL, titulo VARCHAR(50), autor VARCHAR(25), editorial VARCHAR(25), precio REAL) PARA EL 2: En este caso creamos los campos id los cuales son considerados de tipo entero de una longitud especificada por el número entre paréntesis. Para id_pedido requerimos que dicho campo se incremente automáticamente (AUTO_INCREMENT) de una unidad a cada introducción de un nuevo registro para, de esta forma, automatizar su creación. Por otra parte, para evitar un mensaje de error, es necesario requerir que los campos que van a ser definidos como índices no puedan ser nulos (NOT NULL). El campo fecha es almacenado con formato de fecha (DATE) para permitir su correcta explotación a partir de las funciones previstas a tal efecto. Finalmente, definimos los índices enumerándolos entre paréntesis precedidos de la palabra KEY o INDEX PARA EL 3: En este caso puede verse que los campos alfanuméricos son introducidos de la misma forma que los numéricos. Volvemos a recordar que en tablas que tienen campos comunes es de vital importancia definir estos campos de la misma forma para el buen funcionamiento de la base

6 Una base de datos en un sistema relacional está compuesta por un conjunto de tablas, que corresponden a las relaciones del modelo relacional. En la terminología usada en SQL no se alude a las relaciones, del mismo modo no se usa el término atributo, pero sí la palabra columna, y no se habla de tupla, sino de línea.

7 Ejercicio: Crear una nueva tabla llamada Empleados con un campo Nombre de tipo texto y longitud 10, otro con llamado Apellidos de tipo texto y longitud predeterminada (50) y uno más llamado FechaNacimiento de tipo Fecha/Hora. CREATE TABLE    Empleados (    Nombre TEXT (10),    Apellidos TEXT(20),    FechaNacimiento DATE    ) SOLUCIÓN:

8 Ejercicio: Crear una tabla llamada Empleados con un campo Texto de longitud predeterminada (50) llamado Nombre y otro igual llamado Apellidos, crea otro campo llamado FechaNacimiento de tipo Fecha/Hora y el campo IdEmpleado de tipo entero SOLUCIÓN: CREATE TABLE     Empleados (    IdEmpleado INTEGER,     Nombre TEXT(50),    Apellidos TEXT(50),    FechaNacimiento DATE o TIME    )   

9 ¿Cómo Agregar Datos a la Base de Datos?
Entidad Debil ¿Cómo agrego nuevos datos a una tabla? Notas de Instructor Usando el comando INSERT, se podria agregar datos en una tabla. La sintaxis es la siguiente: INSERT into tablename (column1, column2 ) VALUES (value1, value2) ; Frase de Transición En la siguiente lamina se describe como insertar datos en un tabla INSERT INTO nombre_tabla (columna1, columna2) VALUES (valor1,valor2)

10 Agregar Datos Una tabla de datos contiene una lista de columnas ordenadas y una lista correspondiente de valores ordenados La sentencia INSERT se puede escribir como sigue: INSERT INTO juguetes (id_comprador,id_vendedor, producto, precio) VALUES (21,01, 'Barbie',200.00); Nombre de Relación Notas de Instructor INSERT INTO juguetes (id_comprador,id_vendedor, producto, precio) VALUES (21,01, 'Barbie',200.00); Esta sentencia incluye los nombre de las columnas de la tabla, cuando se indica el nombre de las columnas el orden como estos (campos) aparecen no necesariamente debe ser el mismo que cuando se creo la tabla. Esta sentencia cuando es ejecuta ingresa un registro en la tabla juguetes. Frase de Transición En la siguiente lamina se muestran otras formas como insertar datos en la tabla juguetes.

11 Agregar Datos Otra forma de escribir la sentencia INSERT: Correcto:
INSERT INTO juguetes VALUES (21, 'Barbie', , 01); Incorrecto: INSERT INTO juguetes VALUES (21, 01, 'Barbie', ); Nombre de Relación Notas de Instructor La sentencia INSERT INTO juguetes VALUES (21,‘Barbie', , 01) no incluye los nombres de columnas. Si los nombres de columnas no son listados en la sentencia INSERT, entonces para cada una de las columnas deberia existir un valor en la clausula VALUES, en el mismo orden cuando se especifico la sentencia CREATE. El orden en cual las columnas son creadas en una tabla es dependiente del orden en el cual la columna aparece listada en la sentencia CREATE, cuando la tabla fue creada. La ultima sentencia SQL de la lamina incluye todas las columnas pero el orden de los valores hace que falle y resulte en un error Frase de Transición En la siguiente lamina se explica la sentencia DELETE.

12 Eliminar Datos DELETE FROM nombre_tabla
Quiero eliminar alguna fila en una tabla DELETE FROM nombre_tabla Una fila puede ser eliminada de la base de datos. Por ejemplo: DELETE FROM juguetes WHERE producto = 'Barbie'; Si la CONDICIÓN no es especificada, todas las filas serán eliminadas. Notas de Instructor El comando DELETE permite eliminar filas (registros) de una tabla. Frase de Transición Veamos otro ejemplo de DELETE.

13 Eliminar Datos - Se pueden eliminar filas que contienen datos específicos DELETE FROM juguetes WHERE producto = 'Barbie' AND id_comprador = 02 AND id_vendedor = 22; Notas de Instructor Usando la clausula WHERE, se puede eliminar filas especificas. DELETE FROM tablename WHERE CONDITION donde CONDITION es opcional. Si la CONDITION no es especificada, todas las filas son eliminadas, de otro modo solo las filas que satisfacen CONDITION son eliminadas. Frase de Transición Ahora veamos la sentencia UPDATE.

14 Actualizar Datos Mujer Se pueden asignar datos a campos:
También puedo modificar datos existentes en una fila de una tabla UPDATE nombre_tabla SET Col1=valor1, Col2=Valor2 Notas de Instructor Con la sentencia UPDATE se actualizan valores de columnas para un(varios) registro(s), la sintaxis de la sentencia UPDATE es la siguiente UPDATE nombre_tabla SET columna1=valor1, columna2=valor2, columna3=valor3……. <WHERE CONDITION> La sentencia mostrada en la diapositiva actualiza el precio del juguete Silla a 500, en la tabla juguetes Frase de Transición El DQL es la parte mas importante del SQL, el SELECT forma parte del DQL, a continuación discutiremos sobre el SELECT. Se pueden asignar datos a campos: UPDATE juguetes SET precio = WHERE producto = 'Silla';


Descargar ppt "Componentes sintácticos"

Presentaciones similares


Anuncios Google