Mysql 02
Mysql 02
Recordemos
Mi Servidor
Dentro de mi computadora
Algunas definiciones
SABD
dase de datos
programas
usuarios finales
Consulta
SMBD
Informacion solicitada Datos a ser manipulados
Instalacin
Probando
Cambiando el password
set password for root@localhost=password('your password');
grant create, create temporary tables, delete, execute, index, insert, lock tables, select, show databases, update on *.* to username identified by 'password';
Estructura de Mysql
bin: MYSQL clientes y servidor entre otros programas compilados. data: Aqu son almacenados los datos. docs : Documentacin. sql-bench : Suite de prueba share: Mensajes de error examples: uso de DLL
Los ejecutables
mysqladmin: Funciones Administrativas myisamchk: Comprueba y repara tablas MyISAM mysqldump: Backup de base de datos. mysqlbinlog: Se usa para leer los logs de errores. mysqlshow: Informacin de bases y tablas. Usaremos:
l
mysqld y mysql
Mysql Monitor
status show databases; use {databasename}; show tables; describe {tablename;} exit
source filename;
Los comandos no sonCase Sensitive Los nombres de bases y tablas dependen del SO.
l
Identificadores
No puedes usar
l l
Quotes: /\.
REPASO
10 Septiembre 2004
10
Comandos bsicos
Mysql
l l l l
quit
Show databases;
l l l
Show tables;
l
use [database]; create database [database] drop database [database] Describe [table]
Status RECORDEMOS QUE ES NECESARIO SELECCIONAR UNA BASE DE DATOS PARA MANEJAR SUS TABLAS
11
Database
Database
Database
TABLE
TABLE
TABLE
Tuplas
Atributos
Trabajemos
use alumnos;
12
[NOT NULL | NULL] [DEFAULT default_value] CREATE TABLE [AUTO_INCREMENT] [PRIMARY KEY] [reference_definition]
l l l l
or PRIMARY KEY (index_col_name,...) or KEY [index_name] (index_col_name,...) or INDEX [index_name] (index_col_name,...) or UNIQUE [INDEX] [index_name] (index_col_name,...) or FULLTEXT [INDEX] [index_name] (index_col_name,...) or [CONSTRAINT symbol] FOREIGN KEY [index_name] (index_col_name,...) [reference_definition] or CHECK (expr)
13
l l l
PRIMARY KEY- Llave Primaria, identificador unico KEY, identificador no primario INDEX - INDICE UNIQUE [INDEX] ESTE INDICE ES UNICO, NO SE REPITE
Tabla Alumno
matricula name carrera
create table alumno ( matricula int not null auto_increment primary key, name varchar(80), carrera varchar(3) );
14
Tabla Alumno
matricula name carrera
create table alumno ( matricula int not null auto_increment, name varchar(80), carrera varchar(3) primary key(matricula) );
Datos numericos
15
Decimal
Integer
TINYINT 1 byte (28 posibles valores). : BIT BOO SMALLINT: 2 bytes (posibles valores). A MEDIUMINT : 3 bytes (posibles valores). A BIGINT: 8 bytes (posibles valores).
16
Strings
17
TEXTO
TINYTEXT o TINYBLOB 255 caracteres. TEXT o BLOB 65,535caracteres. (64KB). MEDIUMTEXT o MEDUIMBLOB 16,777,215 caracteres. (16MB). LONGTEXT o LONGBLOB 4,294,967,295 (232-1) caracteres. (4GB).
ENUM
18
Fecha y Tiempo
Date YYYY-MM-DD Time HH:MM:SS DATETIME YYYY-MM-DD HH:MM:SS TIMESTAMP YEAR(2) YEAR(4)
INDICES
19
Eliminando
drop database employee; drop table assignment; drop index part_name on employee; alter table employee add index name (name);
Por ejemplo
l l
Cliente(ClienteID,Nombre) Ordenes(ordenid,clienteid)
Clientes
Ordenes
ordenid 1 2
Clienteid 1 3
Clienteid 1 2 3
Nombre Csar
20
InnoDB
create table clientes ( clienteID int not null auto_increment primary key, nombre varchar(20), ) type = InnoDB; create table ordenes ( ordenID int not null auto_increment primary key, clienteID int not null references clientes(customerID) ) type = InnoDB;
Ejercicios
21
R=
order(orderID, orderDate, customerID)
item(itemID, itemName)
22
R=
order(orderID, orderDate, customerID)
item(itemID, itemName)
23