Está en la página 1de 13

Desarrollo de aplicaciones web

para bases de datos


Almería 2005

mySQL

Manuel Torres Gil


mtorres@ual.es

Departamento de Lenguajes y Computación


Universidad de Almería

Desarrollo de aplicaciones web


para bases de datos
Almería 2005

mySQL

Contenidos

1. La consola de mySQL
2. Comandos de interés
3. Creación de bases de datos
4. Manipulación de bases de datos
5. mySQL Administrator

1
Desarrollo de aplicaciones web
para bases de datos
Almería 2005

mySQL

Contenidos

1. La consola de mySQL
2. Comandos de interés
3. Creación de bases de datos
4. Manipulación de bases de datos
5. mySQL Administrator

La consola de mySQL

Introducción
mySQL: SGBDR open source
Consola mySQL: mysql –u usuario [baseDeDatos] [-pPassword]

2
Desarrollo de aplicaciones web
para bases de datos
Almería 2005

mySQL

Contenidos

1. La consola de mySQL
2. Comandos de interés
3. Creación de bases de datos
4. Manipulación de bases de datos
5. mySQL Administrator

Comandos de interés

Resumen
SHOW DATABASES
USE baseDeDatos
SELECT DATABASE(): Nombre de la base de datos activa
SHOW TABLES
DESCRIBE tabla

3
Desarrollo de aplicaciones web
para bases de datos
Almería 2005

mySQL

Contenidos

1. La consola de mySQL
2. Comandos de interés
3. Creación de bases de datos
4. Manipulación de bases de datos
5. mySQL Administrator

Creación de bases de datos

Creación de tablas
CREATE DATABASE baseDeDatos
CREATE TABLE nombreTabla (
Columna1 Tipo1 [Restricciones] ,
...
ColumnaN TipoN [Restricciones] ,
PRIMARY KEY(Columna1, Columna2, ...)
FOREIGN KEY (col1, col2, ...) REFERENCES tabla(columna));
CREATE TABLE CURSOS (
CODIGO INT NOT NULL AUTO_INCREMENT,
CURSO VARCHAR(255) NOT NULL,
DURACION TINYINT NOT NULL,
LUGARTEORIA VARCHAR(255),
LUGARPRACTICAS VARCHAR(255),
PRECIO DOUBLE,
PRIMARY KEY(CODIGO));

4
Creación de bases de datos

Tipos de tablas en mySQL


Tablas orientadas a transacciones (TST)
•InnoDB
•BDB
Tablas no orientadas a transacciones (NTST)
•HEAP
•ISAM
•MERGE
•myISAM

El tipo se especifica opcionalmente al final de la definición


CREATE TABLE cursos (
...
) TYPE=InnoDB;

Creación de bases de datos

Modificación de tablas
ALTER TABLE nombreTabla [
ADD [COLUMN] columna [FIRST | AFTER columna ]
ADD PRIMARY KEY (columna1, …)
ADD FOREIGN KEY [reference_definition]
ALTER [COLUMN] columna {SET DEFAULT literal | DROP
DEFAULT}
DROP [COLUMN] columna
DROP PRIMARY KEY
RENAME [TO] nombreTabla]

ALTER TABLE CURSOS ADD DESCRIPCION TEXT;


ALTER TABLE CURSOS ALTER COLUMN LUGARPRACTICAS SET
DEFAULT ‘AULA 7 – CITE III’;

5
Creación de bases de datos

Eliminación de tablas. Indices


DROP TABLE nombreTabla
DROP TABLE cursos;

CREATE INDEX nombreIndice ON nombreTabla (col1, ...) ;


DROP INDEX nombreIndice ON nombreTabla ;

Creación de bases de datos

Carga masiva de datos


Desde la consola mySQL: LOAD DATA INFILE
LOAD DATA INFILE “archivo" [REPLACE|IGNORE] INTO
TABLE tabla

LOAD DATA INFILE “c:/temp/almacen.txt" INTO TABLE


almacen

Desde shell: mysqlimport

mysqlimport [opciones] BD textfile1 [textfile2 ...]

6
Creación de bases de datos

Base de datos de ventas

ALMACEN PRODUCTO
1
1 Codigo
Codigo
Nombre Descripcion
VENTAS CodigoBarras
Numero M
CodigoProducto Presentacion
Direccion M
M CodigoPromocion Marca
Ciudad
CodigoAlmacen Subcategoria
Condado
Fecha Departamento
Estado
Ventas Envase
Zip
UnidadesVendidas
Distrito
1 PROMOCION
Region
Codigo
Responsable
Descripcion
Telefono
Coste
Fax
Superficie

Creación de bases de datos

Consulta de datos
SELECT columnas
FROM tablas
WHERE condiciones
[GROUP BY columnas [HAVING condiciones]]
[ORDER BY columas]
[LIMIT [desde,] n];

select descripcion
from producto
where departamento = "Food"
order by descripcion
limit 20, 10;

7
Creación de bases de datos

Funciones habituales
DAYOFWEEK
DAYNAME
MONTH Select subcategoria, sum(ventas),
MONTHNAME sum(unidadesVendidas)
YEAR From producto P, ventas V
HOUR Where P.codigo = V.codigoProducto and
MINUTE Year(Fecha) = “1995” and
SECOND Month(Fecha) = “12”
NOW() Group by subcategoria;
CURDATE()
CURTIME()

Creación de bases de datos

Volcado de resultados a un archivo


Desde la consola:
tee archivo (Iniciar volcado en el archivo especificado)
notee
Desde la shell:
mysql [BD] [ < archivoEntrada] [ > archivoSalida]

Desde el SELECT
SELECT columnas INTO OUTFILE archivo
FROM ...

Resultados en HTML o XML


mysql [BD] [ > archivoSalida] [-H | --html] [-X | --xml]

8
Creación de bases de datos

Búsqueda bruta (full-text)


Usada con tablas myISAM
Los índices full-text se crean sobre columnas CHAR, VARCHAR o
TEXT
Create table publicaciones (
Id tinyint not null,
Titulo varchar(200),
Autores varchar(250),
PublicadoEn varchar(250),
Anio varchar(4),
Primary key(Id),
FULLTEXT(Titulo, Autores, PublicadoEn, Anio))
TYPE = myISAM;

Creación de bases de datos

Búsqueda bruta (full-text)


Búsqueda con MATCH y AGAINST
MATCH incluye los campos del índice full-text sobre los que se realiza
la búsqueda
AGAINST especifica la cadena de búsqueda
select titulo
from publicaciones
where match(titulo,autores,publicadoen,anio) against
(‘”esquemas externos” ”external schemas”’)

select titulo
from publicaciones
where match(titulo,autores,publicadoen,anio) against
(‘+ODMG +2001’ in boolean mode);

9
Desarrollo de aplicaciones web
para bases de datos
Almería 2005

mySQL

Contenidos

1. La consola de mySQL
2. Comandos de interés
3. Creación de bases de datos
4. Manipulación de bases de datos
5. mySQL Administrator

Manipulación de bases de datos

Resumen
INSERT INTO tabla VALUES (valores)
INSERT INTO tabla(columnas) VALUES (valores)
UPDATE tabla SET columna = valor WHERE condición
DELETE FROM tabla [WHERE condición]

Validación y cancelación de cambios


Sólo en tablas transaccionales
COMMIT
ROLLBACK

10
Desarrollo de aplicaciones web
para bases de datos
Almería 2005

mySQL

Contenidos

1. La consola de mySQL
2. Comandos de interés
3. Creación de bases de datos
4. Manipulación de bases de datos
5. mySQL Administrator

mySQL Administrator

Descripción
Interfaz gráfica para la administración de bases de datos mySQL
Gestión de:
•Parámetros de seguridad del servidor
•Cuentas de usuario
•Conexiones activas del servidor
•Analizar archivos de registro
•Copias de seguridad
•Esquemas, tablas e índices
...

11
mySQL Administrator

Descripción (2)

Información del servidor Información del servicio

mySQL Administrator

Descripción (3)

Definición de tablas Tablas de un esquema

12
Desarrollo de aplicaciones web
para bases de datos
Almería 2005

mySQL

Manuel Torres Gil


mtorres@ual.es

Departamento de Lenguajes y Computación


Universidad de Almería

13

También podría gustarte