Sei sulla pagina 1di 20

Sistemas de Informacin 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

Pequeas variaciones de un sistema a otro


2

Seleccionarbasededatos
Un mismo sistema puede tener varias bases de datos
mysql> SHOW DATABASES; +----------+ | Database | +----------+ | test | +----------+ 1 row in set (0.00 sec) mysql> USE test;

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

);

Cmoelegireltipode columna?
Revisar bien el rango de datos
Puede ser lento cambiarse despus de tipo de dato, o costoso, o introducir errores

Evitar malgastar espacio


Nombres no tienen ms de 1000 caracteres

Ancho fijo es ms rpido, pero puede malgastar espacio Usar el tamao ms econmico en espacio para cada columna

Tiposdecolumna
Existen muchos tipos de datos distintos adems de TEXT e INTEGER Nmeros (rangos aprox.)
INTEGER (-2.000.000.000 a 2.000.000.000) BIGINT (nmeros de 18 cifras) FLOAT DOUBLE

Tiposdecolumna(cont.)
Texto
CHAR(n) VARCHAR(n) TEXT (hasta 65Kb) LONGTEXT (hasta 4Gb)

Alterartablas
En algunos casos es posible modificar una tabla despus 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

Seleccionardatos
Estructura bsica SELECT columnas FROM tablas WHERE condicin; SELECT telefono FROM agenda WHERE apellido='Gonzalez';
9

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

10

Descartarrepetidos
SELECT DISTINCT nombre FROM agenda;

11

Renombrarcolumnas
Se emplea cuando hay alguna condicin 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

Condicionesenstrings
Comparacin
LIKE
% = 0 o varios caracteres faltantes _ = 1 carcter faltante

= (igualdad)

Funciones
Reciben un string y lo transforman a un nmero LENGTH, CONCAT, LOWER, UPPER, RTRIM
13

Condicionesaritmticas
Operadores <, >, <=, >=, != y aritmticos SELECT nombre FROM paises WHERE poblacion > 10000000; SELECT poblacion/superficie FROM ciudades WHERE poblacion < 10000;
14

Ordenacindeelementos
Operador ORDER BY SELECT nombre FROM paises ORDER BY nombre; SELECT FROM WHERE ORDER nombre,superficie ciudades poblacion > 1000 BY superficie DESC;
15

Limitarelementosretornados
Operador LIMIT Ejemplo: los 5 pases ms poblados: SELECT FROM ORDER LIMIT nombre,poblacion paises BY poblacion DESC 5;

16

Buscarenmsdeunatabla
Las dos tablas deben poder ser unidas mediante algn 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

Funcionesdeagregacin
Permiten operar con varios elementos de una columna
AVG promedio SUM suma MIN, MAX mnimo y mximo COUNT contar

18

Funcionesdeagregacin
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

Msinformacin
http://www.desarrolloweb.com/manuales/9/ http://en.wikibooks.org/wiki/SQL

20

Potrebbero piacerti anche