mySQL Contenidos mySQL - Universidad de Almería

Anuncio
Desarrollo de aplicaciones web
para bases de datos
Almería 2005
mySQL
Manuel Torres Gil
[email protected]
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
Codigo
1
1
VENTAS
Numero
CodigoProducto
Direccion
Condado
Estado
Zip
Distrito
Codigo
Descripcion
Nombre
Ciudad
PRODUCTO
M
CodigoPromocion
CodigoBarras
M
Presentacion
M
Marca
CodigoAlmacen
Subcategoria
Fecha
Departamento
Ventas
Envase
UnidadesVendidas
1
Region
PROMOCION
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
MONTHNAME
YEAR
HOUR
MINUTE
SECOND
NOW()
CURDATE()
CURTIME()
Select subcategoria, sum(ventas),
sum(unidadesVendidas)
From producto P, ventas V
Where P.codigo = V.codigoProducto and
Year(Fecha) = “1995” and
Month(Fecha) = “12”
Group by subcategoria;
Creación de bases de datos
Volcado de resultados a un archivo
Desde la consola:
tee archivo
notee
(Iniciar volcado en el archivo especificado)
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
[email protected]
Departamento de Lenguajes y Computación
Universidad de Almería
13
Descargar