Вы находитесь на странице: 1из 13

EJEMPLOS PRACTICOS DE MYSQL SQL, Structure Query Language (Lenguaje de Consulta Estructurado) es un lenguaje de programacion para trabajar con

base de datos relacionales como MySQL, Oracle, etc. MySQL es un interpretador de SQL, es un servidor de base de datos. MySQL permite crear base de datos y tablas, insertar datos, modificarlos, eliminarlos, ordenarlos, hacer consultas y realizar muchas operaciones, etc., resumiendo: administrar bases de datos. Ingresando instrucciones en la linea de comandos o embebidas en un lenguaje como PHP nos comunicamos con el servidor. Cada sentencia debe acabar con punto y coma (;). La sensibilidad a maysculas y minsculas, es decir, si hace diferencia entre ellas, depende del sistema operativo, Windows no es sensible, pero Linux si. Por ejemplo Windows interpreta igualmente las siguientes sentencias: create database administracion; Create DataBase administracion; Pero Linux interpretar como un error la segunda. Problema: Mostrar las bases de datos existentes en el servidor de base de datos show databases; 1. Creacin de una tabla y mostrar sus campos (create table - show tables - describe - drop table) Problema:Crear la tabla usuarios con los campos nombre y clave. Previamente borrar la tabla usuarios si ya existe en el servidor. Finalmente mostrar la estructura de la tabla usuarios que acabamos de crear. drop table if exists usuarios; create table usuarios ( nombre varchar(30), clave varchar(10) ); describe usuarios; 2. Carga de registros a una tabla y su recuperacin (insert into - select) Problema: Insertar tres registros en la tabla usuarios y luego mostrar todos los registros de la tabla. Primeramente eliminamos la tabla, si existe: drop table if exists usuarios; create table usuarios ( nombre varchar(30), clave varchar(10)

); insert into usuarios(nombre,clave) values ('MarioPerez','Marito'); insert into usuarios(nombre,clave) values ('MariaGarcia','Mary'); insert into usuarios(nombre,clave) values ('DiegoRodriguez','z8080'); select nombre,clave from usuarios;

3. Tpos de datos bsicos de un campo de una tabla. Problema: Para almacenar informacin de los libros de una librera necesitamos los siguientes campos: -titulo, cadena de caracteres de 40 de longitud, -autor, cadena de caracteres de 30 de longitud, -editorial, caracteres de 15 de longitud, -precio, valor numrico con decimales y -cantidad, valor numrico entero. drop table if exists libros; create table libros ( codigo integer, titulo varchar (20), autor varchar (30), precio float ); insert into libros(codigo,titulo,autor,precio) values (1,'MySQL a fondo','Rodriguez Pablo',70.52); insert into libros(codigo,titulo,autor,precio) values (2,'PHP 5','Rios Juan',20); insert into libros(codigo,titulo,autor,precio) values (3,'JSP 1.1','Rosales Ana',27.75); select * from libros; 4. Recuperacin de algunos campos (select) Problema: Trabajamos con la tabla "libros" que almacena los datos de los libros de una librera. drop table if exists libros; create table libros( titulo varchar(20), autor varchar(30), editorial varchar(15), precio float, cantidad integer ); insert into libros (titulo,autor,editorial,precio,cantidad) values ('El aleph','Borges','Emece',45.50,100);

insert into libros (titulo,autor,editorial,precio,cantidad) values ('Alicia en el pais de las maravillas','Lewis Carroll','Planeta',25,200); insert into libros (titulo,autor,editorial,precio,cantidad) values ('Matematica estas ahi','Paenza','Planeta',15.8,200); select * from libros; select titulo,autor,editorial from libros; select titulo,precio from libros; select editorial,cantidad from libros;

5. Recuperacin de registros especficos (select - where) Problema: drop table if exists usuarios; create table usuarios ( nombre varchar(30), clave varchar(10) ); describe usuarios; insert into usuarios (nombre, clave) values ('Leonardo','payaso'); insert into usuarios (nombre, clave) values ('MarioPerez','Marito'); insert into usuarios (nombre, clave) values ('Marcelo','bocajunior'); insert into usuarios (nombre, clave) values ('Gustavo','bocajunior'); select nombre, clave from usuarios; select nombre, clave from usuarios where nombre='Leonardo'; select nombre, clave from usuarios where clave='bocajunior'; select nombre, clave from usuarios where clave='river'; 6. Operadores Relacionales = <> < <= > >= drop table if exists libros; create table libros( titulo varchar(20), autor varchar(30), editorial varchar(15), precio float ); insert into libros (titulo,autor,editorial,precio) values ('El aleph','Borges','Planeta',12.50); insert into libros (titulo,autor,editorial,precio) values ('Martin Fierro','Jose Hernandez','Emece',16.00); insert into libros (titulo,autor,editorial,precio) values ('Aprenda PHP','Mario Molina','Emece',35.40); insert into libros (titulo,autor,editorial,precio) values ('Cervantes','Borges','Paidos',50.90);

select titulo, autor,editorial,precio from libros; select titulo, autor,editorial,precio from libros where autor<>'Borges'; select titulo, autor,editorial,precio from libros where precio>20; select titulo,autor,editorial,precio from libros where precio<=30; 7. Borrado de registros de una tabla (delete) drop table if exists usuarios; create table usuarios ( nombre varchar(30), clave varchar(10) ); insert into usuarios (nombre, clave) values ('Leonardo','payaso'); insert into usuarios (nombre, clave) values ('MarioPerez','Marito'); insert into usuarios (nombre, clave) values ('Marcelo','River'); insert into usuarios (nombre, clave) values ('Gustavo','River'); delete from usuarios where nombre='Leonardo'; select nombre,clave from usuarios; delete from usuarios where clave='River'; select nombre,clave from usuarios; delete from usuarios; select nombre,clave from usuarios; 8. Modificacin de registros de una tabla (update) drop table if exists usuarios; create table usuarios ( nombre varchar(30), clave varchar(10) ); insert into usuarios (nombre, clave) values ('Leonardo','payaso'); insert into usuarios (nombre, clave) values ('MarioPerez','Marito'); insert into usuarios (nombre, clave) values ('Marcelo','River'); insert into usuarios (nombre, clave) values ('Gustavo','River'); select * from usuarios; update usuarios set clave='RealMadrid'; select nombre,clave from usuarios; update usuarios set nombre='GustavoGarcia' where nombre='Gustavo'; update usuarios set nombre='MarceloDuarte', clave='Marce' where nombre='Marcelo'; select nombre,clave from usuarios;

9. Clave primaria. drop table if exists usuarios; create table usuarios ( nombre varchar(20), clave varchar(10), primary key (nombre) ); describe usuarios; insert into usuarios (nombre, clave) values ('Leonardo','payaso'); insert into usuarios (nombre, clave) values ('MarioPerez','Marito'); insert into usuarios (nombre, clave) values ('Marcelo','River'); insert into usuarios (nombre, clave) values ('Gustavo','River'); insert into usuarios (nombre, clave) values ('Gustavo','Boca'); 10. Campo entero con autoincremento. drop table if exists libros; create table libros( codigo integer auto_increment, titulo varchar(20), autor varchar(30), editorial varchar(15), primary key (codigo) ); describe libros; insert into libros (titulo,autor,editorial) values('El aleph','Borges','Planeta'); select * from libros libros; insert into libros (titulo,autor,editorial) values('Martin Fierro','Jose Hernandez','Emece'); insert into libros (titulo,autor,editorial) values('Aprenda PHP','Mario Molina','Emece'); insert into libros (titulo,autor,editorial) values('Cervantes y el quijote','Borges','Paidos'); insert into libros (titulo,autor,editorial) values('Matematica estas ahi', 'Paenza', 'Paidos'); select codigo,titulo,autor,editorial from libros;

insert into libros (codigo,titulo,autor,editorial) values(6,'Martin Fierro','Jose Hernandez','Paidos'); insert into libros (codigo,titulo,autor,editorial) values(2,'Martin Fierro','Jose Hernandez','Planeta'); insert into libros (codigo,titulo,autor,editorial) values(15,'Harry Potter y la piedra filosofal','J.K. Rowling','Emece'); insert into libros (titulo,autor,editorial) values('Harry Potter y la camara secreta','J.K. Rowling','Emece'); insert into libros (codigo,titulo,autor,editorial) values(0,'Alicia en el pais de las maravillas','Lewis Carroll','Planeta'); insert into libros (codigo,titulo,autor,editorial) values(-5,'Alicia a traves del espejo','Lewis Carroll','Planeta'); select * from libros; 11. Comando truncate table. Tambin podemos eliminar todos los registros de una tabla con "truncate table". Por ejemplo, queremos vaciar la tabla "libros", usamos: truncate table libros; La sentencia "truncate table" vaca la tabla (elimina todos los registros) y vuelve a crear la tabla con la misma estructura. La diferencia con "drop table" es que esta sentencia borra la tabla, "truncate table" la vaca. La diferencia con "delete" es la velocidad, es ms rpido "truncate table" que "delete" (se nota cuando la cantidad de registros es muy grande) ya que ste borra los registros uno a uno. drop table if exists libros; create table libros( codigo integer auto_increment, titulo varchar(20), autor varchar(30), editorial varchar(15), primary key (codigo) ); insert into libros (titulo,autor,editorial) values('Martin Fierro','Jose Hernandez','Planeta'); insert into libros (titulo,autor,editorial) values('Aprenda PHP','Mario Molina','Emece'); insert into libros (titulo,autor,editorial) values('Cervantes y el quijote','Borges','Paidos'); insert into libros (titulo,autor,editorial)

values('Matematica estas ahi', 'Paenza', 'Paidos'); insert into libros (titulo,autor,editorial) values('El aleph', 'Borges', 'Emece'); delete from libros; select * from libros; insert into libros (titulo,autor,editorial) values('Antologa poetica', 'Borges', 'Emece'); select * from libros; truncate table libros; insert into libros (titulo,autor,editorial) values('Antologa poetica', 'Borges', 'Emece'); select * from libros; 12. Valores null. drop table if exists libros; create table libros( codigo integer auto_increment, titulo varchar(20) not null, autor varchar(30), editorial varchar(15), precio float, primary key(codigo) ); insert into libros (titulo,autor,editorial,precio) values('El aleph','Borges','Planeta',null); insert into libros (titulo,autor,editorial,precio) values ('Matematica estas ahi','Paenza','Paidos',0); insert into libros (titulo,autor,editorial,precio) values ('Martin Fierro','Jose Hernandez','',22.50); insert into libros (titulo,autor,editorial,precio) values ('Harry Potter y la piedra filosofal', 'J.K. Rowling',null,30.00); select * from libros where precio is null; select * from libros where precio=0;

select * from libros where editorial is null; select *from libros where editorial=''; 13. Valores numricos sin signo (unsigned) drop table if exists libros; create table libros( codigo integer unsigned auto_increment, titulo varchar(20) not null, autor varchar(30), editorial varchar(15), precio float unsigned, cantidad integer unsigned, primary key (codigo) ); describe libros; 14. Tipos de datos (texto) drop table if exists visitantes; create table visitantes( nombre varchar(30), edad integer unsigned, sexo char(1), domicilio varchar(30), ciudad varchar(20), telefono varchar(11), montocompra float unsigned ); describe visitantes; 15. Tipos de datos (numricos) drop table if exists libros; create table libros( codigo int unsigned auto_increment, titulo varchar(20) not null, autor varchar(30), editorial varchar(15), precio decimal(5,2) unsigned, cantidad smallint unsigned, primary key (codigo) ); describe libros;

16. Tipos de datos (fechas y horas) drop table if exists vehiculos; create table vehiculos( patente char(6) not null, tipo char (4), horallegada time not null, horasalida time ); insert into vehiculos (patente,tipo,horallegada) values ('ACD123','auto','8:30'); insert into vehiculos (patente,tipo,horallegada) values('BGF234','moto','8:35'); insert into vehiculos (patente,tipo,horallegada) values('KIU467','auto','9:40'); select * from vehiculos; update vehiculos set horasalida='11:45' where patente='ACD123'; insert into vehiculos values('LIO987','auto','10',null); select * from vehiculos; insert into vehiculos values('GTR987','auto','1010',null); insert into vehiculos values('HTR234','auto','2006-12-15 12:15',null); insert into vehiculos values('KUY246','auto','12/15',null); select * from vehiculos; 17. Valores por defecto. drop table if exists libros; create table libros( codigo int unsigned auto_increment, titulo varchar(20) not null, autor varchar(30), editorial varchar(15), precio decimal(5,2) unsigned, cantidad mediumint unsigned not null, primary key(codigo) ); insert into libros (titulo,autor,precio) values('El aleph','Borges',23.6); select * from libros;

insert into libros (autor,editorial,cantidad) values('Borges','Planeta',100); select * from libros; 18. Valores invlidos. drop table if exists libros; create table libros( codigo int unsigned auto_increment, titulo varchar(20) not null, autor varchar(30), editorial varchar(15), precio decimal(5,2) unsigned, cantidad mediumint unsigned not null, primary key(codigo) ); insert into libros (titulo,autor,editorial,precio) values ('Alicia en el pais de las maravillas',555,'Planeta',23.45); select * from libros; insert into libros (titulo,autor,editorial,precio,cantidad) values ('Matematica estas ahi','Paenza','Planeta','abc',20000000); select * from libros; insert into libros (titulo,editorial,precio) values ('Alegoria','Planeta',3333.50); select * from libros; insert into libros (titulo,editorial,precio) values ('Alegoria','Planeta',33.567); select * from libros; insert into libros (codigo,titulo) values (2,'El gato con botas'); select * from libros; insert into libros (codigo,titulo) values (0,'El gato con botas'); insert into libros (codigo,titulo) values (-5,'Robin Hood');

select * from libros; insert into libros (codigo,titulo) values (null,'Alicia a traves del espejo'); select * from libros; insert into libros (titulo,autor) values (null,'Borges'); select * from libros; insert into libros (titulo,autor,cantidad) values ('Antologia poetica','Borges',null); select * from libros; 19. Atributo default en una columna de una tabla. drop table if exists libros; create table libros( codigo int unsigned auto_increment, titulo varchar(40) not null, editorial varchar(15), autor varchar(30) default 'Desconocido', precio decimal(5,2) unsigned default 1.11, cantidad mediumint unsigned not null, primary key (codigo) ); insert into libros (titulo,autor,editorial,precio,cantidad) values('Java en 10 minutos','Juan Pereyra','Paidos',25.7,100); insert into libros (autor,editorial,precio,cantidad) values('Juan Perez','Planeta',28.50,50); insert into libros (titulo,autor,precio,cantidad) values('Aprenda PHP','Alberto Lopez',55.40,150); insert into libros (titulo,editorial,precio,cantidad) values ('El gato con botas','Emece',15.6,150); insert into libros (titulo,autor,editorial,cantidad) values ('El aleph','Borges','Emece',200); insert into libros (titulo,autor,editorial,precio) values('Alicia a traves del espejo','Lewis Carroll', 'Emece',34.5);

insert into libros (titulo,autor,editorial,precio,cantidad) values ('El gato con botas',default,'Planeta',default,100); select * from libros; 20. Atributo zerofill en una columna de una tabla. Cualquier campo numrico puede tener otro atributo extra "zerofill". "zerofill" rellena con ceros los espacios disponibles a la izquierda. Al ingresar un valor de cdigo con menos cifras que las especificadas (6), aparecern ceros a la izquierda rellenando los espacios; por ejemplo, si ingresamos "33", aparecer "000033". Al ingresar un valor para el campo "cantidad", suceder lo mismo. Si especificamos "zerofill" a un campo numrico, se coloca automticamente el atributo "unsigned". Cualquier valor negativo ingresado en un campo definido "zerofill" es un valor invlido. drop table if exists libros; create table libros( codigo int(6) zerofill auto_increment, titulo varchar(40) not null, autor varchar(30), editorial varchar(15), precio decimal(5,2) unsigned, cantidad smallint zerofill, primary key (codigo) ); insert into libros (titulo,autor,editorial,precio,cantidad) values('Martin Fierro','Jose Hernandez','Planeta',34.5,200); insert into libros (titulo,autor,editorial,precio,cantidad) values('Aprenda PHP','Mario Molina','Emece',45.7,50); insert into libros (titulo,autor,editorial,precio,cantidad) values('Cervantes y el quijote','Borges','Paidos',23,40); select * from libros; insert into libros (codigo,titulo,autor,editorial,precio,cantidad) values('545','El aleph', 'Borges', 'Emece',33,20); select * from libros; insert into libros (codigo,titulo,autor,editorial,precio,cantidad) values(-400,'Matematica estas ahi', 'Paenza', 'Paidos',15.2,-100); select * from libros;

21. Columnas calculadas. drop table if exists libros; create table libros( codigo int unsigned auto_increment, titulo varchar(40) not null, autor varchar(30), editorial varchar(15), precio decimal(5,2) unsigned, cantidad smallint unsigned, primary key (codigo) ); insert into libros (titulo,autor,editorial,precio,cantidad) values('El aleph','Borges','Planeta',15,100); insert into libros (titulo,autor,editorial,precio,cantidad) values('Martin Fierro','Jose Hernandez','Emece',22.20,200); insert into libros (titulo,autor,editorial,precio,cantidad) values('Antologia poetica','Borges','Planeta',40,150); insert into libros (titulo,autor,editorial,precio,cantidad) values('Aprenda PHP','Mario Molina','Emece',18.20,200); insert into libros (titulo,autor,editorial,precio,cantidad) values('Cervantes y el quijote','Borges','Paidos',36.40,100); insert into libros (titulo,autor,editorial,precio,cantidad) values('Manual de PHP', 'J.C. Paez', 'Paidos',30.80,100); insert into libros (titulo,autor,editorial,precio,cantidad) values('Harry Potter y la piedra filosofal','J.K. Rowling','Paidos',45.00,500); insert into libros (titulo,autor,editorial,precio,cantidad) values('Harry Potter y la camara secreta','J.K. Rowling','Paidos',46.00,300); insert into libros (titulo,autor,editorial,precio,cantidad) values('Alicia en el pais de las maravillas','Lewis Carroll','Paidos',null,50);

select titulo, precio,cantidad,precio*cantidad from libros; select titulo, precio,precio*0.1,precio-(precio*0.1) from libros;

Вам также может понравиться