ejemplos practicos de mysql

15
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 mayúsculas y minúsculas, 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. Creación 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;

Upload: ingtrespalacios

Post on 26-Nov-2015

22 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Ejemplos Practicos de Mysql

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 mayúsculas y minúsculas, 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. Creación 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 recuperación (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)

Page 2: Ejemplos Practicos de Mysql

);

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. Típos de datos básicos de un campo de una tabla.

Problema:Para almacenar información de los libros de una librería 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 numérico con decimales y -cantidad, valor numérico 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. Recuperación de algunos campos (select)Problema:Trabajamos con la tabla "libros" que almacena los datos de los libros de una librería.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);

Page 3: Ejemplos Practicos de Mysql

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. Recuperación de registros específicos (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);

Page 4: Ejemplos Practicos de Mysql

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. Modificación 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;

Page 5: Ejemplos Practicos de Mysql

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;

Page 6: Ejemplos Practicos de Mysql

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.También 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" vacía 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 vacía.La diferencia con "delete" es la velocidad, es más rápido "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)

Page 7: Ejemplos Practicos de Mysql

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('Antología poetica', 'Borges', 'Emece');

select * from libros;truncate table libros;insert into libros (titulo,autor,editorial) values('Antología 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;

Page 8: Ejemplos Practicos de Mysql

select * from libros where editorial is null;select *from libros where editorial='';

13. Valores numéricos 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 (numéricos)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;

Page 9: Ejemplos Practicos de Mysql

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;

Page 10: Ejemplos Practicos de Mysql

insert into libros (autor,editorial,cantidad) values('Borges','Planeta',100);

select * from libros;

18. Valores inválidos.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');

Page 11: Ejemplos Practicos de Mysql

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);

Page 12: Ejemplos Practicos de Mysql

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 numérico puede tener otro atributo extra "zerofill"."zerofill" rellena con ceros los espacios disponibles a la izquierda.Al ingresar un valor de código con menos cifras que las especificadas (6), aparecerán 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 numérico, se coloca automáticamente el atributo "unsigned".Cualquier valor negativo ingresado en un campo definido "zerofill" es un valor inválido.

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;

Page 13: Ejemplos Practicos de Mysql

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;