SQL

Sistemas de Información II Algunos comandos SQL Carlos Castillo UPF – 2007 1 SQL SQL = Structured query language Dos

Views 214 Downloads 4 File size 193KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Sistemas de Información II

Algunos comandos SQL

Carlos Castillo UPF – 2007 1

SQL SQL = Structured query language Dos objetivos Lenguaje para describir datos Lenguaje para manipular datos

Es implementado por varios sistemas Libres: PostgreSQL, MySQL Propietarios: Oracle, SQLServer

Pequeñas variaciones de un sistema a otro 2

Seleccionar base de datos Un mismo sistema puede tener varias bases de datos mysql> SHOW DATABASES; +----------+ | Database | +----------+ | test

|

+----------+ 1 row in set (0.00 sec) mysql> USE test;

3

Crear tablas Crear tablas en una base de datos, se especifica cada columna y su tipo de dato CREATE TABLE agenda ( nombre TEXT, apellido TEXT, telefono INTEGER, nacimiento INTEGER

);

4

¿Cómo elegir el tipo de  columna? Revisar bien el rango de datos Puede ser lento cambiarse después de tipo de dato, o costoso, o introducir errores

Evitar malgastar espacio Nombres no tienen más de 1000 caracteres

Ancho fijo es más rápido, pero puede malgastar espacio Usar el tamaño más “económico” en espacio para cada columna

5

Tipos de columna Existen muchos tipos de datos distintos además de TEXT e INTEGER Números (rangos aprox.) INTEGER (-2.000.000.000 a 2.000.000.000) BIGINT (números de 18 cifras) FLOAT DOUBLE

6

Tipos de columna (cont.) Texto CHAR(n) VARCHAR(n) TEXT (hasta 65Kb) LONGTEXT (hasta 4Gb)

7

Alterar tablas En algunos casos es posible modificar una tabla después de creada Los tipos de datos tienen que ser “compatibles” para que esto se pueda hacer ALTER TABLE agenda MODIFY nombre VARCHAR(30); ALTER TABLE agenda DROP COLUMN nacimiento; 8

Seleccionar datos Estructura básica SELECT columnas FROM tablas WHERE condición; SELECT telefono FROM agenda WHERE apellido='Gonzalez'; 9

Seleccionar todas las  columnas * significa todas las columnas SELECT * FROM agenda;

10

Descartar repetidos SELECT DISTINCT nombre FROM agenda;

11

Renombrar columnas Se emplea cuando hay alguna condición compleja y una columna que se llama igual en dos tablas SELECT telefono AS t FROM agenda; SELECT FROM WHERE ORDER

depto.nom AS m depto,persona depto.iddep=persona.iddep BY m; 12

Condiciones en strings Comparación LIKE % = 0 o varios caracteres faltantes _ = 1 carácter faltante

= (igualdad)

Funciones Reciben un string y lo transforman a un número LENGTH, CONCAT, LOWER, UPPER, RTRIM 13

Condiciones aritméticas Operadores , =, != y aritméticos SELECT nombre FROM paises WHERE poblacion > 10000000; SELECT poblacion/superficie FROM ciudades WHERE poblacion < 10000; 14

Ordenación de elementos Operador ORDER BY SELECT nombre FROM paises ORDER BY nombre; SELECT FROM WHERE ORDER

nombre,superficie ciudades poblacion > 1000 BY superficie DESC; 15

Limitar elementos retornados Operador LIMIT Ejemplo: los 5 países más poblados: SELECT FROM ORDER LIMIT

nombre,poblacion paises BY poblacion DESC 5;

16

Buscar en más de una tabla Las dos tablas deben poder ser unidas mediante algún atributo SELECT pais.nom,ciudad.nom FROM pais,ciudad WHERE pais.idpais=ciudad.idpais; SELECT FROM WHERE AND

DISTINCT pais.nom pais,ciudad pais.idpais=ciudad.idpais ciudad.poblacion > 10000000;

17

Funciones de agregación Permiten operar con varios elementos de una columna AVG – promedio SUM – suma MIN, MAX – mínimo y máximo COUNT – contar

18

Funciones de agregación Si una columna está agregada, las otras columnas mostradas deben estar agrupadas SELECT SUM(poblacion) FROM paises; SELECT COUNT(*) FROM paises; SELECT FROM WHERE GROUP

pais.nombre,SUM(poblacion) pais,ciudad pais.idpais=ciudad.idpais BY pais.nombre; 19

Más información http://www.desarrolloweb.com/manuales/9/ http://en.wikibooks.org/wiki/SQL

20