Sistemas de Informaci´on II – Pr´actica 1: SQL B´asico
Carlos Castillo / Victor Pascual –
[email protected]
El objetivo de esta pr´actica es aprender a usar un
sistema gestor de bases de datos utilizando el lenguaje
SQL. SQL es un est´andar internacional para trabajar
con bases de datos, que consta de dos partes: una
parte para manipular datos y una parte para definir
tipos de datos.
El sistema gestor que usaremos ser´a MySQL. Nos
conectaremos a este sistema usando la interfaz m´as
sencilla posible, que es un int´erprete de comandos
SQL. En un entorno real de aplicaciones, es usual
utilizar herramientas de m´as alto nivel, pero comen-
zaremos con lo m´as b´asico que es interactuar direc-
tamente con la base de datos.
1. Para comenzar
Necesitaremos usar el comando MySQL, que es un
int´erprete de comandos SQL que permite “conversar”
directamente con la base de datos.
Nos conectaremos primero a otro servidor. Abre un
terminal en Linux y ejecuta:
ssh 193.145.45.40 -l XXXXXXX
[email protected]’s password: YYYYYYY
XXXXXXX e YYYYYYY ser´an entregados du-
rante la clase de pr´acticas. A continuaci´on nos
conectaremos a la base de datos, usando:
mysql si2_NN -u si2_NN -p
Enter password: si2_NNbec
NN ser´a entregado durante la clase de pr´acticas.
A continuaci´on debes cambiar tu password:
mysql> set password=password(’.....’);
Debes asegurarte de que no olvidar´as tu password
porque la necesitar´as durante todo el trimestre.
Consejo: abre dos ventanas, una con un editor de
texto y otra con el int´erprete SQL; es muy complicado
editar directamente en el int´erprete al comienzo, lo
m´as f´acil es escribir los comandos en un editor de
texto y luego copiarlos y pegarlos en la ventana de
MySQL.
2. Com´andos del int´erprete
Una vez dentro del int´erprete, existen algunos co-
mandos ´utiles:
\q Salir
\h Ayuda
Dentro de MySQL pueden existir varias bases de
datos. Cada base de datos es un espacio independi-
ente con sus propios objetos de datos. Para ver la
lista de bases de datos disponibles se usa:
SHOW DATABASES;
Para entrar a una base de datos se entrega el nom-
bre de la base de datos al iniciar el mysql (en nuestro
caso es si2 NN), o se selecciona usando:
USE database;
La base de datos (database) que usar´a cada uno
tiene el mismo nombre que el nombre de usuario
(si2 NN). Para probar que el int´erprete est´a bien, usa:
SELECT 2+2;
3. Crear tablas de datos
Consejo: para poder entender bien el c´odigo de las
pr´acticas, todas las palabras clave: SELECT, UP-
DATE, INSERT, etc. se recomienda escribirlas en
may´uscula. En cambio, los identificadores como nom-
bres de las tablas o las columnas, se recomienda es-
cribirlas en min´usculas. Al int´erprete de MySQL no
le importa si son en may´usculas o no, pero hace m´as
f´acil leer el c´odigo y encontrar y arreglar errores.
Vamos a crear tablas para almacenar datos. Para
eso, usamos el siguiente comando:
CREATE TABLE agenda (
nombre
apellido TEXT,
telefono INTEGER,
TEXT,
1
nacimiento INTEGER,
estatura FLOAT
);
En este ejemplo, “TEXT” e “INTEGER” son dos
tipos de datos que existen en MySQL. Para ver si la
tabla fue creada exitosamente, usamos:
SHOW TABLES;
Y para ver los datos de la tabla:
SHOW COLUMNS FROM agenda;
Y para borrar la tabla:
DROP TABLE agenda;
6. Consultando los datos de la
tabla
Ejemplos de comandos que ejecutan consultas en
la tabla de datos:
SELECT * FROM agenda;
SELECT nombre,apellido FROM agenda;
SELECT telefono FROM agenda
WHERE apellido=’Gonzalez’;
SELECT nombre FROM agenda
WHERE nacimiento > 1984;
Actividad: crea una tabla agenda en tu base de
datos.
SELECT DISTINCT nombre FROM agenda;
4.
Insertando datos en la tabla
Una tabla vac´ıa no sirve de mucho, para agregar
datos usamos:
INSERT INTO agenda
(nombre,apellido,telefono,
nacimiento,estatura)
VALUES (’Juan’,’Perez’,60123,1983,1.70);
SELECT nombre FROM agenda
WHERE apellido=’Gonzalez’
OR apellido=’Perez’;
SELECT nombre FROM agenda
WHERE apellido=’Perez’
AND nacimiento < 1984;
SELECT apellido FROM agenda
WHERE apellido LIKE ’P%’;
INSERT INTO agenda
(nombre,apellido,telefono,
nacimiento,estatura)
VALUES (’Pedro’,’Diaz’,93120,1985,1.65);
Actividad: escribe 5 consultas cualquiera sobre tu
agenda. Escribe 5 consultas cualquiera sobre la tabla
creada en la actividad marcada con un “*”.
En la jerga de SQL, se dice que hemos insertado 2
filas en la tabla agenda.
Actividad: inserta 5 filas en la agenda, al menos
2 con el mismo nombre, pero distinto apellido y al
menos 2 con el mismo a˜no de nacimiento.
5. Creaci´on de tablas
Actividad: crear una tabla de datos conteniendo
los 7 edificios m´as altos del mundo. Para cada edificio
se debe guardar el nombre, el nombre del pa´ıs en que
se encuentra, y la altura del edificio en metros. Se
debe entregar los comandos CREATE TABLE ... y
los comandos INSERT para la creaci´on de esta tabla.
Actividad: crear una tabla de datos con 5 colum-
nas o m´as (el tema es de libre elecci´on, puede ser
cualquier cosa, usa campos TEXT, INTEGER y
FLOAT por ahora), insertar 10 filas en la tabla. (*)
2
7. RESULTADO
Lo que se debe entregar es un fichero de texto
p1 NNNN MMMM.txt (copiar y pegar en el Aula Global)
con comandos SQL que ejecuten todas las actividades
de esta sesi´on, NNNN y MMMM son los n´umeros de
NIA de los alumnos del grupo. Este archivo debe
poder ejecutarse sin problemas en MySQL. Incluye
en este archivo de texto comentarios explicando lo
que hace cada parte:
-- A continuaci´on creo la tabla XXX
Todas las l´ıneas que comienzan con -- son igno-
radas por MySQL.
El resultado de esta pr´actica debe entregarse
hoy v´ıa Campus Global.
Comentarios de: Sistemas de Información II - Práctica 1: SQL Básico (0)
No hay comentarios