Está en la página 1de 15

Bases de Datos II

[Introduccin]

Docente: Arturo Daz Pulido

Bases de Datos II
]
1.

CONECTARSE CON EL SERVIDOR MySQL

Para acceder a la cuenta de MySQL se ingresa con los siguientes datos


Username: bdxxxxxxx
Password: xxxxxxx

Donde xxxxxxx la contrasea suministrada.

2.

TIPOS DE DATOS

Los tipos de datos en MySQL se pueden clasificar en tres grupos:

Tipos Numricos
Tipos de Fecha
Tipos de Cadena

2.1 Tipos Numricos


En los tipos numricos podemos encontrar:

TinyInt: nmero entero que puede tener o no signo. Si lleva signo el rango de
valores es de -128 a 127 y sin signo 0 a 255. El tamao de almacenamiento es
de 1 byte.

Bit Bool: nmero entero: 0 1.

SmallInt: nmero entero que puede tener o no signo. Si tiene signo el rango es
de -32768 a 32767 y sin signo 0 a 65535. El tamao de almacenamiento es de
2 bytes.

MediumInt: nmero entero que puede tener o no signo. Si tiene signo el rango
es de -8.388.608 a 8.388.607 y sin signo 0 a16777215. El tamao de
almacenamiento es de 3 bytes.

Integer, Int: nmero entero que puede tener o no signo. Si tiene signo el rango
es de -2147483648 a 2147483647 y sin signo el 0 a 429.4967.295. El tamao
de almacenamiento es de 4 bytes.

Docente: Arturo Daz Pulido

Bases de Datos II

BigInt: nmero entero que puede tener o no signo. Si tiene signo el rango
es
de
-9.223.372.036.854.775.808
a
9.223.372.036.854.775.807
y
sin
signo 0
a
18.446.744.073.709.551.615. El tamao de almacenamiento es de 8 bytes.

Float: nmero pequeo en coma flotante de precisin simple. Los rangos estn
entre -3.402823466E+38 a -1.175494351E-38, 0 y desde 1.175494351E-38 a
3.402823466E+38. El tamao de almacenamiento es de 4 bytes.

Real, Double: nmero en coma flotante de precisin doble. Los rangos entan
entre -1.7976931348623157E+308 a 2.2250738585072014E-308, 0 y desde 2.2250738585072014E-308 a
1.7976931348623157E+308. El tamao de almacenamiento es de 8 bytes.

Decimal, Dec, Numeric: Nmero en coma flotante desempaquetado y es


almacenado como una cadena.

2.2 Tipos De Fecha


MySQL no prueba de una manera precisa si la fecha ingresada es o no vlida,
nicamente realiza las comparaciones lgicas como lo son que el mes este entre 0 y
12 y que el da entre 0 y 31.

Date: tipo fecha, almacena una fecha. El rango esta entre el 1 de enero del 1001
al 31 de diciembre de 9999. El formato de almacenamiento queda de la forma: aomes-da. El tamao de almacenamiento es de 3 bytes

DateTime: Es una combinacin de fecha y hora, donde los valores estn entre el 1
de enero del 1001 a las 0 horas, 0 minutos y 0 segundos al 31 de diciembre del
9999 a las 23 horas, 59 minutos y 59 segundos. El formato de almacenamiento
queda de la forma: ao-mes-da horas:minutos:segundo. El tamao de
almacenamiento es de 8 bytes

TimeStamp: Es una combinacin de fecha y hora y los valores estn desde el 1 de


enero de 1970 al ao 2037. El tamao de almacenamiento es de 4 bytes

Time: almacena una hora. El rango puede estar entre -838 horas, 59 minutos y 59
segundos a 838, 59 minutos y 59 segundos. El formato de almacenamiento es de
la forma: 'HH:MM:SS'. El tamao de almacenamiento es de 3 bytes.

Year: almacena un ao. El rango es desde el ao 1901 al ao 2155. El tamao de


almacenamiento es de 1 bytes.

2.3 Tipos De Cadena

Docente: Arturo Daz Pulido

Bases de Datos II

Char(n): almacena una cadena de longitud fija y puede


caracteres. El tamao de almacenamiento es de n bytes.

VarChar(n): almacena una cadena de longitud variable y puede contener entre 0 y 255
caracteres. El tamao de almacenamiento es de n+1 bytes.
TinyText y TinyBlob: Columna con una longitud mxima de 255 caracteres, donde su
tamao de almacenamiento es de longitud + 1 bytes.

contener entre 0 y 255

Blob y Text: texto con un mximo de 65535 caracteres. Su tamao de almacenamiento


es de longitud + 2 bytes

MediumBlob y MediumText: texto con un mximo de 16.777.215 caracteres. Su


tamao de almacenamiento es de longitud + 3 bytes

LongBlob
y LongText: texto con
un mximo de caracteres
4.294.967.295. Su tamao de almacenamiento es de longitud + 4 bytes

Enum: campo que puede tener un nico valor de una lista que se especifica y admite
hasta 65535 valores distintos.

Set: un campo que puede contener cero, uno varios valores de una lista, la cual puede
tener un mximo de 64 valores.

3.

MANEJO DE BASES DE DATOS EN MySQL

Comandos para el manejo de Bases de Datos en MySQL:

CREATE [nombre]: Crea una base de datos con el nombre dado mysql> create
database miprueba;

SELECT: Es un comando utilizado para traer informacin desde una tabla


SELECT seleccionar_Esto
FROM desde_tabla
WHERE condiciones;

Docente: Arturo Daz Pulido

Bases de Datos II

SHOW: Lista las bases de datos que hay en el servidor MySQL o las tablas de la base
de datos mysql> show databases; mysql> show tables;

DESCRIBE permite obtener informacin sobre una tabla, para saber qu campos
tiene y de qu tipo, mysql> describe prueba;

USE db_nombre: indica a MySQL que use la base de datos db_nombre como la
base de datos por defecto.
mysql> use miprueba;

DROP DATABASE: elimina todas las tablas de la base de datos, juntamente con la
base de datos.

QUIT permite salir de la lnea de comandos de MySQL.


mysql> quit

MYSQLACCESS: verifica los permisos de acceso para una combinacin de mquina.


base de datos y usuario.

MYSQLADMIN: Es el cliente que realiza tareas administrativas, a su vez es un


comando con el cual consultar la versin, informacin de procesos, e informacin de
estado del servidor.

PERROR: Comando que muestra el significado de los errores de sistema de MySQL.


mysql> perror [opciones] cdigo_de_error ...

CREATE TABLE: Sentencia para especificar la estructura de una tabla donde se


especifica los tipos de variable para cada tem de la tabla.

mysql> CREATE TABLE pet (name VARCHAR(20), owner


VARCHAR(20), species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);

SHOW TABLES: Comando que permite ver cuales tablas hay en la base de datos.

UPDATE: Comando que modifica solo el registro en cuestin y no requiere que se


vuelva a llenar la tabla.

Docente: Arturo Daz Pulido

Bases de Datos II
mysql> UPDATE pet SET birth = '1989-08-31' WHERE name = 'Bowser';

3.1 Manejo De Usuarios En MySQL

En MySQL existen cinco niveles distintos de privilegios:

Globales: se aplican al conjunto de todas las bases de datos en un servidor. Este es


el nivel ms alto de privilegio.

De base de datos: se refieren a bases de datos individuales y a su contenido.

De tabla: se aplican a tablas individuales y sus respectivas columnas.

De columna: se aplican a una columna en una tabla concreta.

De rutina: se aplican a los procedimientos almacenados.

Estos son algunos comandos en cuanto al manejo de Usuarios:

CREATE USER: crea nuevas cuentas MySQL

DROP USER: elimina una o ms cuentas MySQL

CURRENT_USER: Devuelve el nombre de usuario y el del host para el que est


autentificada la conexin actual.

3.2 Sintaxis permitida para los identificadores de MySQL


En esta tabla se presentan las longitudes mximas, para cada identificador y los caracteres
permitidos.

Docente: Arturo Daz Pulido

Bases de Datos II

4.

EXPRESIONES REGULARES

Las expresiones regulares permiten especificar un patrn para una bsqueda compleja. En
MySQL se presentan las siguientes:

EXPRESIN

DEFINICIN

Concuerda con el inicio de la cadena

Concuerda con el final de la cadena

Concuerda con cualquier carcter

a*

Concuerda con cualquier secuencia de cero o ms caracteres a.

a+

Concuerda con cualquier secuencia de uno o ms caracteres a.

a?

Concuerda con cero o un carcter a.

de | abc
(abc)*

{1},{2,3}

Concuerda tanto con la secuencia de como con abc.


Concuerda con cero o ms instancias de la secuencia abc.
La notacin {n} o {m,n} provee una manera ms general de escribir
expresiones regulares que concuerden con varias instancias del
tomo anterior (o pieza) del patrn. m y n son enteros.

Docente: Arturo Daz Pulido

Bases de Datos II

Practica Nro. 1:
Practicar las diferentes sentencias que son utilizadas en la creacin y manipulacin de una base
de datos en MySql, mediante la realizacin de una serie de ejercicios en el laboratorio. Adems
se efectuarn tambin diferentes operaciones con tablas y columnas.

Creando y usando una base de datos


Supongamos que tenemos diversas mascotas en casa (nuestro pequeo zoolgico) y deseamos
tener registros de los datos acerca de ellas. Podemos hacer esto al crear tablas que guarden esta
informacin, para que posteriormente la consulta de estos datos sea bastante fcil y de manera
muy prctica. Esta seccin muestra cmo crear una base de datos y una tabla.
La base de datos "zoolgico" ser muy simple (deliveradamente), pero no es difcil pensar en
situaciones del mundo real, en las cuales una base de datos similar puede ser usada.
Primeramente usaremos la sentencia SHOW para ver cules son las bases de datos existentes
en el servidor al que estamos conectados:

mysql> SHOW DATABASES;


+----------+
| Database |
+----------+
| mysql |
| test

+----------+
2 rows in set (0.00 sec)
Es probable que la lista de bases de datos que veamos sea diferente en nuestro caso, pero
seguramente las bases de datos "mysql" y "test" estarn entre ellas. En particular, la base de
datos "mysql" es requerida, ya que sta tiene la informacin de los privilegios de los usuarios de

Docente: Arturo Daz Pulido

Bases de Datos II

MySQL. La base de datos "test" es creada durante la instalacin de MySQL con el propsito de
servir como rea de trabajo para los usuarios que inician en el aprendizaje de MySQL.
Se debe anotar tambin que es posible que no veamos todas las bases de datos si no se tiene
el privilegio SHOW DATABASES. Si este es tu caso comentaselo a tu tutor de laboratorio.
Si la base de datos "test" existe, hay que intentar accesar a ella:
mysql> USE
test
Database
changed
mysql>

Observar que USE, al igual que QUIT, no requieren el uso del punto y coma, aunque si se usa ste,
no hay ningn problema. El comando USE es especial tambin de otra manera: ste debe ser
usado en una sola lnea
Borrando una base de datos
Para borrar la base de datos utilizamos la
sentencia

mysql>Drop database

nombre_de_la_base_de_datos;
Creando y visualizando tablas
Crear la base de datos es la parte ms fcil, pero en este momento la base de datos est vaca,
como lo indica el comando SHOW TABLES FROM:
mysql>

SHOW

TABLES

FROM

nombre_de_la_base_de_datos;
Empty set (0.00 sec)

La parte un tanto complicada es decidir la estructura que debe tener nuestra base de datos:
qu tablas se necesitan y qu columnas estarn en cada tabla.En principio, necesitamos una tabla

Docente: Arturo Daz Pulido

Bases de Datos II

que contenga un registro para cada una de nuestras mascotas. sta puede ser una tabla llamada
mascotas, y debe contener por lo menos el nombre de cada uno de nuestros animalitos. Ya que
el nombre en s no es muy interesante, la tabla debe contener alguna otra informacin. Por
ejemplo, si ms de una persona en nuestra familia tiene una mascota, es probable que tengamos
que guardar la informacin acerca de quin es el dueo de cada mascota. As mismo, tambin
sera interesante contar con alguna informacin ms descriptiva tal como la especie, y el sexo de
cada mascota.
Al almacenar la fecha de nacimiento en lugar de la edad tenemos algunas otras ventajas:
Podemos usar la base de datos para tareas tales como generar recordatorios para cada
cumpleaos prximo de nuestras mascotas. Podemos calcular la edad en relacin a otras fechas
que la fecha actual. Por ejemplo, si almacenamos la fecha en que muri nuestra mascota en la
base de datos, es fcil calcular que edad tena nuestro animalito cuando falleci. Es probable que
estemos pensando en otro tipo de informacin que sera igualmente til en la tabla "mascotas",
pero para nosotros ser suficiente por ahora contar con informacin de nombre, propietario,
especie, nacimiento y fallecimiento.
Usaremos la sentencia CREATE TABLE para indicar como estarn conformados los registros de
nuestras mascotas.
mysql> CREATE TABLE mascotas(
-> nombre VARCHAR(20), propietario VARCHAR(20),
-> especie VARCHAR(20), sexo CHAR(1), nacimiento DATE,
-> fallecimento DATE);
Query OK, 0 rows affected (0.02 sec) mysql>

Para verificar que la tabla fu creada como nosotros esperabamos, usaremos la sentencia
DESCRIBE:

Docente: Arturo Daz Pulido

Bases de Datos II

mysql> DESCRIBE mascotas;


+--------------+----------------+-----------+-------+-----------+---------+
| Field

| Type

| Null

| Key | Default | Extra |

+--------------+----------------+-----------+-------+-----------+---------+
| nombre

| varchar(20) | YES |

| NULL |

| propietario | varchar(20) | YES |

| NULL |

|
|

| especie

| varchar(20) | YES |

| NULL |

| sexo

| char(1)

| NULL |

| YES |

| nacimiento | date

| YES |

| NULL |

| fallecimento| date

| YES |

| NULL |

+--------------+-----------------+------ ---+--------+-----------+-------+
6 rows in set (0.01 sec)
mysql>

Podemos hacer uso de la sentencia DESCRIBE en cualquier momento, por ejemplo, si olvidamos
los nombres o el tipo de las columnas en la tabla.
Alterando tablas
MySQL nos provee del comando ALTER TABLE para realizar modificaciones a la estructura de una
tabla.Con este comando nosotros podemos:

add (agregar) o bien delete (borrar) columnas "ADD y DROP"

change (cambiar) la definicin de tablas existentes "ALTER,

CHANGE, MODIFY". - rename (renombrar) columnas "CHANGE" o


aun en si "RENAME AS".
Para agregar una columna a una tabla utilizamos la sentencia
ALTER TABLE nombre_de_la_tabla ADD nombre_de_la_columna tipo;
Ejemplo 1:
En el sig. Ejemplo se agrega a la tabla
Tablita un index en la columna d

y la columna

Docente: Arturo Daz Pulido

Bases de Datos II

se

agrega

como

llave

primaria.

mysql>AlLTER TABLE Tablita ADD index(d), ADD PRIMARY


KEY (a);
Ejemplo 2:
En el sig. Ejemplo se agrega una columna llamada C de tipo entero que se
autoincrementa
mysql>AlLTER TABLE Tablita ADD

INT UNSIGNED NOT NULL

AUTO_INCREMENT, ADD INDEX(c);


Ejemplo 3:
En el sig. Ejemplo agregamos en la tabla user un campo llamado yahoo de tipo varchar
con longitud de 50

mysql>ALTER TABLE user ADD yahoo VARCHAR(50) NOT NULL;


Se puede utilizar la palabra AFTER para especificar la posicin en donde se desea colocar el
nuevo campo

Ejemplo 4:
En el sig. Ejemplo para la tabla user agregamos el campo yahoo exactamente despus del
campo userid.

mysql>ALTER TABLE user ADD yahoo VARCHAR(50) NOT NULL AFTER userid;

Para cambiar el tipo de dato de una columna utilizamos la sentencia


ALTER TABLE nombre_de_la_tabla MODIFY nombre_de_la_columna nuevo_tipo;
Para cambiar una columna de nombre utilizamos la sentencia
ALTER TABLE

nombre_de_la_tabla

CHANGE

nombre_actual_de_la_columna

nombre_nuevo tipo: Parra borrar una columna de una tabla utilizamos la sentencia
ALTER TABLE nombre_de_la_tabla DROP nombre_de_la_columna;
Para renombrar una tabla utilizamos la sentencia

Docente: Arturo Daz Pulido

Bases de Datos II

ALTER TABLE nombre_de_la_tabla RENAME nombre_nuevo;

o bien

RENAME Table nombre_de_la_tabla TO nuevo_nombre;

Para borrar una tabla utilizamos la siguiente sentencia


DROP TABLE nombre_de_la_tabla;

Docente: Arturo Daz Pulido

Bases de Datos II

DESARROLLO DE LA PRCTICA
1.-Introduce tu login y password para acceder al servidor de MySQL.
2.-Crear una base de datos llamada ZooXXXX donde XXXX es el nmero de tu matrcula.
3.-Nuestra base de datos contendr la sig. Tablas
Tabla Animales
Id_Animal (llave)

Tabla Zoologicos
Id_Zoologico(llave)

Tabla Veterinarios
Id_Veterinario

Especie

Id_Animal

Id_Zoologico

Hbitat

Nombre_Zoo

Nombre_Vete

Nombre

Tel_Zoo

FechaNaci
Pasdeorigen
Id_Veterinario

Cedula
Dire_Vete
Tel_Vete

4.- Lista las BD existentes


5.- Ahora Lista las tablas que contiene la BD ZooXXXX
6.- Muestre en pantalla las columnas que contiene la Tabla Animales
7.- Liste las columnas que contiene Zoologicos y por ltimo las de Veterinarios
8.- Sustituya el nombre de la tabla animales por el de Mascotas
9.-Para la tabla Mascotas, cambie el nombre de la columna Paisdeorigen por Origen
10.-Agregar una columna nueva a la tabla Mascotas y pongale como nombre Alimentacion
11.-Liste las columnas de la Tabla Mascotas
12.-Borre la Tabla Veterinarios
13.-Liste las tablas existentes en la BD ZooXXXX
14.-Cambie la longitud del tipo de dato de la columna Nombre de la tabla Mascotas. Es decir
aumntelo tres caracteres
15.-Borre la columna Origen de la tabla Mascotas

Docente: Arturo Daz Pulido

Bases de Datos II

16.-Usted se ha equivocado y realmente no deseaba borrar la columna Origen, por lo tanto agregela
de nuevo
17.-Para la tabla Mascotas, coloque la columna Id_Veterinario como ndice
18.-Agregar en la tabla Zoolgicos la columna Pas justo despus de la columna Nombre_Zoo
19.- Utilizando las sentencias necesarias de Mysql, elabore una BD que tenga mnimo 3 tablas y cada
tabla tendr como mnimo 3 columnas.
20.-Liste las bases de datos existentes
21.- Muestre en pantalla las tablas de la BD creada en el punto 19.
22.- Borre la base de datos creada en el punto 19
23.- Liste las bases de datos existentes

Docente: Arturo Daz Pulido

También podría gustarte