Desarrollo Web en Entorno Servidor

Documentos relacionados
DESARROLLO WEB EN ENTORNO SERVIDOR

El SQL es un lenguaje estándar de programación para el acceso a bases de datos.

GUÍA DE TRABAJO N 5 GRADO 11 Programación y Diseño de Articulación SENA Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6

GUÍA DE TRABAJO N 7 GRADO 11. Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6 GUIA N 7 COMANDOS MYSQL II. CREAR UNA TABLA

Manejo de Tablas y Llaves Foráneas

Introducción 1 Recuperación de Datos mediante la Sentencia SQL SELECT

Tipos de datos en SQL. SQL. DDL (Data Definition Language) CREATE DOMAIN CREATE TABLE CREATE TABLE. CREATE TABLE con restricciones de atributo

Manual de Sentencias Básicas en SQL

ÍNDICE. Introducción... Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1

INTRODUCCIÓN A LAS BASES DE DATOS. L.I Gerardo Benavides Pérez

Introducción a SQL (DDL)

Tema 5. Lenguaje de Definición de Datos

GESTORES GESTORES DE BASES DE DATOS

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón

Create Database ClaseAutos. Use ClaseAutos

Tema 1. Introducción a MySQL. José Muñoz Jimeno Octubre 2015

ADMINISTRACION DE ORACLE 9i Guía de estudio (OCA) TEMA 1

Ambos conjuntos son completamente distintos: propósito, acciones,... L M D. datos

SQL: Lenguaje de definición de datos (DDL) (*) DBMS: DATA BASE MANAGEMENT SYSTEM. SGBD: SISTEMAS GESTOR DE BASE DE DATOS

INFORMÁTICA MÉDICA. Profesor: MsC. Liz Armenteros Chávez

6.1. Introducción. Guía 5. SQL.

Modulo I: Introducción Gestores de Bases De Datos

Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig

Un proyecto de IBM llamado Sistem/R construye un prototipo simple llamado SQUARE que después se transformó en SQL.

En este curso se presenta un análisis profundo de la base de datos MySQL para los sistemas operativos Windows y Linux.

Taller de Herramientas de Software : ST 213 Secc: V y W

Access SQL: DDL y DML. Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos.

RESUMEN DEL LENGUAJE SQL

Práctica 3: El lenguaje SQL (2ª parte). (6ª sesión).

Modelamiento y Gestión de Base de Datos

Catedra de Base de Datos

Uso de sentencias para el envió y extracción de datos

Clase 4: SQL DDL DML Consultas Simples y Multitablas. BASE DE DATOS FAC.DE INGENIERIA - UNJu

Tutorial MySql - 1 -

Anexo 3 COMPONENTES DE SQL SERVER. Los DDL (Data Definition Languaje) que permiten crear y definir nuevas

Una tabla está en 5ta. Forma normal (5FN) o Forma Normal de Proyección-unión si está en 4FN y las únicas dependencias que existen son las

GBD Diseño físico de DDBB

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos

Sistemas y Aplicaciones Informáticas

SQL. Structured Query Language

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008

Integridad Referencial. Restricciones (constraints)

Lenguaje de manipulación de datos

Práctica 3: Lenguaje SQL 2ª Parte: Definición de datos. Objetivos

ÍNDICE. Introducción... Capítulo 1. Novedades de Access

FUNDAMENTOS ORACLE 12C

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL)

8 SQL SERVER 2008 RA-MA

Bases de Datos 1. Teórico: Structured Query Language

Unidad. Lenguaje SQL. (Structured Query Language)

Oracle Fundamentos. Programa de Estudio.

Oracle Fundamentos. Programa de Estudio.

Introducción SQL. Ges2ón y Modelación de Datos María Constanza Pabón

Máster en Data Analytics SQL

SQL Oracle 12c. Este curso le permitira saber y conocer:

CERTIFICADO DE PROFESIONALIDAD IFCD0112

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

EJERCICIOS DE CONSULTAS SQL

Oracle Básico PL/SQL

CREACIÓN, SUPRESIÓN Y MODIFICACIÓN DE TABLAS.

SQL JULIO CESAR CANO R

BASES DE DATOS ESPACIALES II:

INSTITUCIÓN EDUCATIVA GABRIEL GARCIA MÁRQUEZ BASE DE DATOS. DESARROLLO DE SOFTWARE Página 1 de 28 SQL SQL

Base de datos Lenguaje SQL

Insertar Datos en Tablas

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]

Bases de Datos Ejercicio Número 2 Bogotá, Diciembre 5 de 2013

Introducción a SQL 14/11/2012. Introducción a SQL

Catedra de Base de Datos

Tablas -SQL Curso Bases de Datos. Por Elizabeth León Guzmán, Ph.D. Profesora Ingeniería de Sistemas Grupo de Investigación MIDAS

ÍNDICE PRIMERA PARTE... 17

Lenguaje estructurado de consultas

ÍNDICE INTRODUCCIÓN...17

(LDD) VARCHAR2 (n) : alfanumérico (hasta 240) NUMBER (n,p) : números con signo y punto decimal

Base de datos Oracle: Arquitectura Oracle. Arquitectura. Marzo Luis Vinuesa Martínez

Grupo Kybele, Pág. 1

CC BASES DE DATOS PRIMAVERA Clase 7: SQL (II) Aidan Hogan

Examen de las unidades 2 y 3 IES Celia Viñas (Almería) /2018. Nombre y apellidos: Nota:

RESUMEN SQL. Tipo de coincidencia Modelo Planteado Coincide No coincide. Varios caracteres 'ab*' 'abcdefg', 'abc' 'cab', 'aab'

Bases de Datos 2. Teórico

SQL Básico. José Muñoz Jimeno Febrero 2015

TEMA 4.. CONSULTA DE DATOS I.

CONTROL DE ACCESO. curso 2008

Temario. Índices simples Árboles B Hashing

Capítulo 1. Instalación de MySQL y su software complementario... 1

SQL SERVER SQL Server 2005 permite tres tipos de operaciones con conjuntos: UNION, disponible en todas las versiones de SQL Server.

SQL Structured Query Language

Tema 33. El lenguaje SQL

SQL. Orígenes y Evolución

APÉNDICE SQL (Structures Query Language)

BASE DE DATOS - CURSO 02/03 PRÁCTICA 2: SQL: Lenguaje de definición de datos (DDL)

Sistemas de Bases de Datos II ITS / ITSB EMT CETP

ORACLE 10g. Descripción A QUIEN VA DIRIGIDO?

SQL Server FEMEPA SQL Server 2000

DISPARADORES EN SQL DISPARADORES EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999

Manual Práctico de SQL. ORIENTADO A SQL 7.0 Preparado por: Alvaro E. García

Lenguaje SQL para Novatos

MATERIAL SOBRE SENTENCIAS SQL

Transcripción:

Desarrollo Web en Entorno Servidor Tema 7. Apuntes sobre MySql y otros SGBD. 1. Conectar con la base de datos. 2. Sentencias de definición de datos (DDL): 3. Sentencias de control de trabajos (DCL). 4. Sentencias de manipulación de datos (DML). 1

Bases de datos en la Web Conectar con una base de datos PHP: o MySQL 4.1 y posteriores: $conector=mysqli_connect($host, $user, $password [,dbname]; o MySQL 4.0 y anteriores: $conector=mysql_connect($host, $user, $password; mysql_select_db($dbname; 2

DDL Sentencias de definición de datos (DDL) Crear una BD: CREATE DATABASE nombre_db Borrar una BD: DROP DATABASE nombre_db Crear una tabla: CREATE TABLE nombre_tabla( nombre_columna1 tipo1, nombre_columna2 tipo2,... nombre_columnan tipon 3

Borrar una tabla: DROP TABLE nombre_tabla Borrar contenido de una tabla: TRUNCATE TABLE nombre_tabla Modificar una tabla: ALTER TABLE nombre_tabla opciones 4

Las opciones que se pueden añadir: o Añadir una columna a una tabla: ADD COLUMN nombre_columna tipo o Eliminar una columna de una tabla: DROP COLUMN nombre_columna o Modificar el tipo de una columna: ALTER COLUMN nombre_column tipo_nuevo 5

Añadir una restricción: o NOT NULL (campo obligatorio y que no puede contener un valor nulo): CREATE TABLE nombre_tabla( ) nombre_columna1 tipo1 NOT NULL, nombre_columna2 tipo2,... nombre_columnan tipon Desarrolloweb en entornoservidor M.López, J.M.Vara,J.Verde, D.M.Sánchez,J. J.Jiménez, V. de Castro 6

MySQL/SQL Server/Oracle/MS Access: CREATE TABLE nombre_tabla( ) nombre_columna1 tipo1 NOT NULL, nombre_columna2 tipo2,... nombre_columnan tipon, CONSTRAINT nombre_restricción UNIQUE(nombre_columna1,...) Otras: 1. ALTER TABLE nombre_tabla ADD UNIQUE(nombre_columna1) 2. ALTER TABLE nombre_tabla ADD CONSTRAINT nombre_restricción UNIQUE(nombre_columna1,...) Desarrolloweb en entornoservidor M.López, J.M.Vara,J.Verde, D.M.Sánchez,J. J.Jiménez, V. de Castro 7

o PRIMARY KEY(clave primaria de una tabla): MySQL: CREATE TABLE nombre_tabla( nombre_columna1 tipo1 NOT NULL, nombre_columna2 tipo2,... nombre_columnan tipon, PRIMARY KEY(nombre_columna1) ) SQL Server/Oracle/MS Access: CREATE TABLE nombre_tabla( nombre_columna1 tipo1 PRIMARY KEY, nombre_columna2 tipo2,... nombre_columnan tipon ) 8

MySQL/SQL Server/Oracle/MS Access: CREATE TABLE nombre_tabla( nombre_columna1 tipo1 NOT NULL, nombre_columna2 tipo2,... nombre_columnan tipon, CONSTRAINT nombre_restricción PRIMARY KEY (nombre_columna1,...) ) Otras: 1. ALTER TABLE nombre_tabla ADD PRIMARY KEY (nombre_columna1) 2. ALTER TABLE nombre_tabla ADD CONSTRAINT nombre_restricción PRIMARY KEY (nombre_columna1,...) 9

o FOREIGN KEY(clave ajena de una tabla): MySQL: CREATE TABLE nombre_tabla( nombre_columna1 tipo1, nombre_columna2 tipo2,... nombre_columnan tipon, FOREIGN KEY(nombre_columna) REFERENCES nombre_tabla2(pk_tabla2) ) SQL Server/Oracle/MS Access: CREATE TABLE nombre_tabla( nombre_columna1 tipo1, nombre_columna2 tipo2 FOREIGN KEY REFERENCES nombre_tabla2(pk_tabla2),... nombre_columnan tipon ) 10

MySQL/SQL Server/Oracle/MS Access: CREATE TABLE nombre_tabla( nombre_columna1 tipo1 NOT NULL, nombre_columna2 tipo2,... nombre_columnan tipon, CONSTRAINT nombre_restricción FOREIGN KEY (nombre_columna) REFERENCES nombre_tabla2(pk_tabla2,...)) Otras: 1. ALTER TABLE nombre_tabla1 ADD FOREIGN KEY(nombre_columna)REFERENCES nombre_tabla2(pk_tabla2) 2. ALTER TABLE nombre_tabla ADD CONSTRAINT nombre_restricción FOREIGN KEY(nombre_columna)REFERENCES nombre_tabla2(pk_tabla2,...) 11

o DEFAULT (campo con valor por defecto): CREATE TABLE nombre_tabla( nombre_columna1 tipo1, nombre_columna2 tipo2 DEFAULT valor,... nombre_columnan tipon ) Otras: MySQL: ALTER TABLE nombre_tabla ALTER nombre_columna SET DEFAULT valor SQL Server/Oracle/MS Access: ALTER TABLE nombre_tabla ALTER COLUMN nombre_columna SET DEFAULT valor 12

o CHECK (establece la condición que debe cumplir un campo): MySQL: CREATE TABLE nombre_tabla( nombre_columna1 tipo1, nombre_columna2 tipo2, )... nombre_columnan tipon, CHECK(condición) 13

SQL Server: CREATE TABLE nombre_tabla( nombre_columna1 tipo1 CHECK(condición), nombre_columna2 tipo2,... nombre_columnan tipon ) MySQL/SQL Server/Oracle/MS Access: ) CREATE TABLE nombre_tabla( nombre_columna1 tipo1, nombre_columna2 tipo2,... nombre_columnan tipon, CONSTRAINT nombre_restricción CHECK(condición1 AND...) 14

Otras: 1.ALTER TABLE nombre_tabla ADD CHECK(condición) 2.ALTER TABLE nombre_tabla ADD CONSTRAINT nombre_restricción CHECK(condición1 AND ) o AUTO_INCREMENT (crear índice que se autoincrementa): MySQL: CREATE TABLE nombre_tabla( nombre_columna1 tipo1 NOT NULL AUTO_INCREMENT, nombre_columna2 tipo2,... nombre_columnan tipon, PRIMARY KEY(nombre_columna1) ) Desarrolloweb en entornoservidor M.López, J.M.Vara,J.Verde, D.M.Sánchez,J. J.Jiménez, V. de Castro 15

SQL Server: CREATE TABLE nombre_tabla( nombre_columna1 tipo1 PRIMARY KEY IDENTITY, nombre_columna2 tipo2,... nombre_columnan tipon, ) MS Access: CREATE TABLE nombre_tabla( nombre_columna1 tipo1 PRIMARY KEY AUTOINCREMENT, nombre_columna2 tipo2,... nombre_columnan tipon, ) 16

Oracle: CREATE SEQUENCE nombre_seq MINVALUE 1 START WITH 1 INCREMENT BY 1 CACHE 10 INSERT INTO nombre_tabla (nombre_columna1,...)values (nombre_secuencia.nextval,valor2,...) 17

Eliminar una restricción: o UNIQUE: MySQL: ALTER TABLE nombre_tabla DROP INDEX nombre_columna SQL Server/Oracle/MS Access: ALTER TABLE nombre_tabla DROP CONSTRAINT nombre_columna o PRIMARY KEY: MySQL: ALTER TABLE nombre_tabla DROP PRIMARY KEY SQL Server/Oracle/MS Access: ALTER TABLE nombre_tabla DROP CONSTRAINT nombre_columna 18

o FOREIGN KEY: MySQL: ALTER TABLE nombre_tabla DROP FOREIGN KEY nombre_columna SQL Server/Oracle/MS Access: ALTER TABLE nombre_tabla DROP CONSTRAINT nombre_columna o DEFAULT: MySQL: ALTER TABLE nombre_tabla ALTER nombre_columna DROP DEFAULT SQL Server/Oracle/MS Access: ALTER TABLE nombre_tabla ALTER COLUMN nombre_columna DROP DEFAULT 27 19

o CHECK: SQL Server/Oracle/MS Access: ALTER TABLE nombre_tabla DROP CONSTRAINT nombre_restricción Crear una vista: CREATE VIEW nombre_vista AS SELECT nombre_columna1,... FROM nombre_tabla WHERE condición Eliminar una vista: DROP VIEW nombre_vista 28 20

Crear un índice en una tabla: 1. 2. CREATE INDEX nombre_índice ON TABLE nombre_tabla(nombre_columna) CREATE UNIQUE INDEX nombre_índice ON TABLE nombre_tabla(nombre_columna) Eliminar un índice en una tabla: o MS Access: DROP INDEX nombre_índice ON nombre_tabla o SQL Server: DROP INDEX nombre_tabla.nombre_índice o DB2/Oracle: DROP INDEX nombre_índice o MySQL: ALTER TABLE nombre_tabla DROP INDEX nombre_índice 29 21

Sentencias de control de datos (DCL) Añadir permisos: GRANT privilegio1,... [(nombre_columna,...)] ON nombre_objeto TO {nombre_usuario PUBLIC nombre_rol} Eliminar permisos: REVOKE privilegio1,... [(nombre_columna,...)] ON nombre_objeto FROM {nombre_usuario/s PUBLIC nombre_rol/es} Desarrolloweb en entornoservidor M.López,J.M.Vara,J.Verde,D.M.Sánchez,J.J.Jiménez,V. decastro 30 22

Sentencias de manipulación de datos (DML) Insertar datos en una tabla: 1. 2. INSERT INTO nombre_tabla VALUES(valor1, valor2,...) INSERT INTO nombre_tabla (nombre_columna1,nombre_columna2,...) VALUES(valor1, valor2,...) Borrar datos de una tabla: DELETE FROM nombre_tabla WHERE nombre_columna operador valor Borrar todos los datos de una tabla: 1. 2. DELETE FROM nombre_tabla DELETE * FROM nombre_tabla 31 23

Sentencias de manipulación de datos (DML) Actualizar campos de una tabla: UPDATE nombre_tabla SET nombre_columna1=valor1, nombre_columna2=valor2,... WHERE nombre_columna operador valor Consultas: o SELECT FROM: consulta el valor de determinadas columnas de una tabla. 1. SELECT nombre_columna1,... FROM nombre_tabla 2. SELECT * FROM nombre_tabla Capítulo6 Utilización de técnicas de acceso a datos 32 24

Sentencias de manipulación de datos (DML) o DISTINCT: consulta sólo los valores de las columnas especificadas de una tabla, cuyo valor no se repite. SELECT DISTINCT nombre_columna1,... FROM nombre_tabla o WHERE: consulta los campos de una columna que cumplan cierta condición. SELECT nombre_columna1,... FROM nombre_tabla WHERE nombre_columna operador valor o ORDER BY: consulta los campos especificados de una tabla devolviendo el resultado ordenado. SELECT nombre_columna1,... FROM nombre_tabla ORDER BY nombre_columna1,... [ASC DESC] Capítulo6 Utilización de técnicas de acceso a datos 33 25

Sentencias de manipulación de datos (DML) o UNION: une el resultado de realizar varias consultas de selección. SELECT nombre_columna1,... FROM nombre_tabla1 UNION SELECT nombre_columna1,... FROM nombre_tabla2 o INNER JOIN: devuelve las filas cuando al menos existe una coincidencia en ambas tablas. SELECT nombre_columna1,... FROM nombre_tabla1 INNER JOIN nombre_tabla2 ON nombre_tabla1.nombre_columna= nombre_tabla2.nombre_columna Capítulo6 Utilización de técnicas de acceso a datos 34 26

Sentencias de manipulación de datos (DML) o LEFT JOIN: devuelve todas las filas de la tabla de la izquierda (nombre_tabla1), e incluso cuando no coincide con la tabla de la derecha (nombre_tabla2). No se mostrarán las columnas de la derecha que no coincidan con las de la izquierda. SELECT nombre_columna1,... FROM nombre_tabla1 LEFT JOIN nombre_tabla2 ON nombre_tabla1.nombre_columna= nombre_tabla2.nombre_columna Capítulo6 Utilización de técnicas de acceso a datos 35 27

Sentencias de manipulación de datos (DML) o RIGHT JOIN: devuelve todas las filas de la tabla de la derecha (nombre_tabla2), e incluso cuando no coincide con la tabla de la izquierda (nombre_tabla1). No se mostrarán las columnas de la izquierda que no coincidan con las de la derecha. SELECT nombre_columna1,... FROM nombre_tabla1 RIGHT JOIN nombre_tabla2 ON nombre_tabla1.nombre_columna= nombre_tabla2.nombre_columna Capítulo6 Utilización de técnicas de acceso a datos 36 28

Sentencias de manipulación de datos (DML) o FULL JOIN: devuelve todas las filas de las dos tablas. SELECT nombre_columna1,... FROM nombre_tabla1 FULL JOIN nombre_tabla2 ON nombre_tabla1.nombre_columna= nombre_tabla2.nombre_columna o SELECT INTO: se utiliza para crear copias de seguridad (backup) de las tablas. SELECT nombre_columna1,... INTO nombre_tabla_copia [IN nombre_bd_externa] FROM nombre_tabla_original Capítulo6 Utilización de técnicas de acceso a datos 37 29

Sentencias de manipulación de datos (DML) o BETWEEN: se utilizan en la condición de las consultas de selección con la cláusula WHERE para seleccionar sólo aquellos campos que estén dentro de un rango de valores. SELECT nombre_columna1,... FROM nombre_tabla WHERE nombre_columna BETWEEN valor1 AND valor2 o IN: el operador IN se utiliza en la condición de las consultas de selección con la cláusula WHERE. Este operador hace que la consulta devuelva el resultado, sólo si la columna especificada en la condición toma un valor de los múltiples valores especificados con el operador IN. SELECT nombre_columna1,... FROM nombre_tabla WHERE nombre_columna IN (valor1, valor2,...) Capítulo6 Utilización de técnicas de acceso a datos 38 30

Sentencias de manipulación de datos (DML) o TOP: especifica el número de filas que debe devolver una consulta. SQL Server/MS Access: SELECT TOP número [PERCENT] nombre_columna1,... FROM nombre_tabla MySQL: SELECT nombre_columna1,... FROM nombre_tabla LIMIT número Oracle: SELECT nombre_columna1,... FROM nombre_tabla número WHERE ROWNUM <= 39 31

Sentencias de manipulación de datos (DML) o ALIAS: son nombres abreviados que se le pueden asignar a columnas o tablas para utilizarlos dentro de la misma consulta. SELECT nombre_columna...from nombre_tabla AS alias_tabla SELECT nombre_columna AS alias_columna FROM nombre_tabla o LIKE: este operador se utiliza para buscar determinados patrones en las columnas especificadas en una tabla. SELECT nombre_columna1,... FROM nombre_tabla WHERE nombre_columna LIKE patrón 40 32

Sentencias de manipulación de datos (DML) o PATRONES: se utilizan para sustituir uno o más caracteres cuando realizamos búsquedas dentro de la base de datos. Es decir, que se utilizan cuando queremos que una consulta nos devuelva sólo ciertas filas en las que el valor que toma un campo de una columna cumpla una cierta estructura. Capítulo6 Utilización de técnicas de acceso a datos 41 33

Sentencias de manipulación de datos (DML) Patrón Descripción Ejemplo % Sustituyeaceroomás caracteres. Camposqueempiecenpores: es%. _ Sustituyesóloauncarácter. Camposqueempiecenpor ho tenganuncarácterydespués a. Locumpliríalacadena hola ho_a. [lista_caracteres] Sólouncarácterdelosqueestén enlalista. %[nl]% locumpliríancadenas como mano o palo. [^lista_caracteres]o [ lista_caracteres] Sólouncarácterdelosqueno esténenlalista. %[^nl]% o %[!nl]% locumplen cadenascomo paso. Capítulo6 Utilización de técnicas de acceso adatos 42 34

Utilización del conjunto resultado Una vez ejecutadas las sentencias en la base de datos necesitamos obtener la información resultante. En PHP existen métodos para recorrer la estructura que devuelve la ejecución de una sentencia SQL. Destacar los siguientes: mysql_fetch_row(), mysql_fetch_array(), mysql_result() y my mysql_free_result(). Capítulo6 Utilización de técnicas de acceso a datos 44 35