El modo de instalación, en Windows es el tradicional: Descargas el programa desde la página oficial doble clic, siguiente, siguiente, finalizar y listo.
Para instalarlo en Ubuntu se hace lo siguiente:
- Para instalar tu servidor local escribe en una terminal el siguiente comando:
- sudo aptitude install mysql-server mysql-client
- Inmediatamente te pedirá tu contraseña de tu administrador, la escribes y el proceso continuara automáticamente por unos minutos dependiendo de la capacidad de tu internet, al finalizar el proceso te pedira que crees una contraseña para tu servidor, la ingresas y listo ya tienes mysql.
Cada vez que ingreses al servidor desde la terminal es necesario escribir lo siguiente:
mysql -h localhost -u root -p (y das enter, después te pedira la contraseña que creaste para tu servidor)
Debe aparecer algo así:
En caso de que no quede bien instalado el servidor será necesario reiniciarlo, entonces escribe en la terminal el siguiente comando:
sudo /etc/init.d/mysql restart
NOTA: Para instalar el servidor es necesario estar conectado a internet, para reiniciarlo no.
Si eres de los que prefieren usar modo grafico te recomiendo instalar el Query Browser que se encuentra en el menú Aplicaciones-centro de software de Ubuntu-Query Browser. Para poder utilizarlo, antes es necesario instalar el servidor porque te pedira la contraseña.
INTRODUCCIÓN.
Como ya sabrás, en cualquier lenguaje de programación se tiene definido un léxico y una semántica bien establecida, Mysql no es la excepción, tanto como en C, Java y algunos otros lenguajes cuenta con sus propios tipos de datos, los más usuales son:
Int | Se utiliza para escribir declarar datos de tipo entero. |
Numeric | Se utiliza para declarar datos de tipo entero con longitud menor que de tipo Int. |
Char | Se utiliza para declarar datos que contengan caracteres, letras, números, símbolos; los datos se escriben entre comillas o comilla simple. |
Varchar | Se utiliza para declarar datos que contengan caracteres, letras, números, símbolos; los datos se escriben entre comillas o comilla simple. Tiene mayor longitud que el tipo Char. |
Date | Se utiliza para declarar datos que contengan fecha el formato es: AAMMDD. |
Pasemos a las sentencias.
CREAR BASE DE DATOS:
create database Nom_base;
CREAR TABLA.
create table Nom_Tabla (campo1 tipo_dato1(longitud) primary key, campo2 tipo_dato2(longitud), ... campo_n tipo_dato_n(longitud));
NOTA: primary key se utiliza para declarar una llave primaria, es decir para que no exista duplicidad.
RENOMBRAR TABLA.
rename table Nom_Tabla TO Nom_nueva_tabla;
INSERTAR DATOS.
insert into nom_tabla
values (dato1_fila1, dato2_fila1, dato3_fila1, dato4_fila1, ....),
(dato1_fila2, dato2_fila2, dato3_fila2, dato4_fila2, ....);
NOTA: Recuerda que si el dato es de tipo char o varchar se escribe entre comillas o comilla simple.
SELECCIONAR DATOS
Select *from Nom_tabla ....... (para seleccionar toda la tabla) .
select campo1, campo2, campo3 from Nom-tabla .......(para seleccionar campos en específico) .
ACTUALIZAR DATOS:
update Nom_tabla set campo=nuevo_dato where campo_llave_primaria=dato_llave_primaria
INSERTAR NUEVOS CAMPOS:
alter table nom_tabla add nuevo_campo tipo_dato (longitud)
MODIFICAR NOMBRES DE COLUMNAS.
alter table nom_tabla change nom_campo nom_nuevo_nombre tipo _dato(longitud)
METODO DE ORDENAMIENTO .
select nom_campo from nom_tabla order by nom_campo
METODO DE ORDENAMIENTO EN FORMA DESCENDENTE.
select nom_campo from nom_tabla order by nom_campo desc
PARA BORRAR COLUMNAS:
alter table nom_tabla drop nom_campo
CONCATENAR COLUMNAS.
select concat (nom_campo1," ",nom_campo2) from nom_tabla
PONERLE NOMBRE A LA LISTA DE CONCATENACION.
select concat(campo1," ",campo2) as "Nombre de lista" from nom_tabla
AUMENTAR VALOR DE UNA COLUMNA.
select nom_campo, nom_campo+1 as "Nombre de la lista" from nom_tabla
NOTA: Esto solo mostrara en pantalla el aumento de algo, por ejemplo cuando los alumnos pasan a un nuevo semestre, pero sin realmente modificarlo, si lo que queremos es que se modifique tecleamos lo siguiente:
CORREGIR COLUMNAS COMPLETAS.
update nom_tabla set nom_campo= nom_campo+1
CONTAR CUANTOS DATOS HAY EN UNA COLUMNA.
select count(*) from nom_tabla; ..... para toda la tabla.
select count(nom_campo) from nom_tabla; ..... campo en específico.
CALCULAR PROMEDIO.
select avg(nom_campo) from nom_tabla where condicion;
NOTA: En condición puede ir por ejemplo si queremos calcular que promedio tuvieron todos los alumnos de sexto semestre: semestre=6.
AGRUPAR Y CONTAR AL MISMO TIEMPO.
select nom_campo, count(*) from nom_tabla order by nom_campo;
Pasemos a los ejercicios.
EJERCICIO 1.
Se necesita crear una base de datos para poder realizar consultas que muestre el historial médico de un paciente, seleccionando los datos más relevantes: nombre, fecha de ingreso, fecha de salida, diagnostico y el nombre del médico que lo atendió.
Lo primero que hice fue realizar mi diagrama de entidad-relación deduciendo que tendría las siguientes tablas con sus campos correspondientes:
- create database historial_medico; (para ver si se creó mi base escribo show databases;
- Use historial_medico;
- Create table paciente (codigo int(6) primary key, nombre varchar(12), apellido varchar(12));
- create table medico (rfc varchar(6) primary key, nommedico varchar(12), apemedico varchar(12));
- create table consulta (codigo int(6) primary key, fingreso date, fsalida date, diagnostico varchar(30), codpaciente int(6), rfcmedico varchar(12)); escribimos show tables para ver si se crearon nuestra tablas.
NOTA: Los campos codpaciente y rfcmedico sirven para hacer referencia con las otras tablas, (son llaves foráneas).
- Insert into paciente
values
(123456, ”Javier”, “Carrera”),
(234567, ”Arturo”, “Barcenas”),
(345678, “Leandro”, “Bustamante”),
(456789, “David”, “Beltran”),
(567890, “Norma”, “Arteaga”),
(678901, “Angela”, “Hernandez”),
(789012, “Karina”, “Herrera”),
(890123, “Raul”, “Huicochea”),
(901234, “Naide”, “Loza”),
(012345, “Carmen”, “Arteaga”);
- insert into medico
values
(“ABC123”, ”Jaime”, ”Torres”),
(”ABC124”, ”Ana”, ”Perez”),
(”ABC125”, ”Carlos”, ”Mendoza”),
(”ABC126”, ”Patricia”, ”Contreras”),
(“ABC127”, ”Jose”, ”Jimenez”),
(”ABC128”, ”Sergio”, ”Pacheco”),
(”ABC129”,”Camila”, ”Gorostieta”);
- insert into consulta
values
(121211, 110801, 110801, “Fiebre comun”, 123456, “ABC123),
(121212, 110802, 110803, “Ulceras gastricas”, 234567, “ABC1234”),
(121213, 110802, 110803, “Paperas”, 345678, “ABC125”),
(121214, 110802, 110802, “Diarrea”, 456789, “ABC126”),
(121215, 110803, 110803, “Principios de cinucitis”, 567890, “ABC127”),
(121216, 110804, 110818, “Cancer”, 678901, “ABC128”),
(121217, 110804, 110804, “Diarrea”, 789012, “ABC129”),
(121218, 110805, 110805, “Fiebre comun”, 890123, “ABC125”),
(121219, 110805, 110807, “Anemia”, 901234, “AB126”),
(121210, 110806, 110806, “Cifilis”, 012345, “ABC123”),
(121221, 110807, 110807, “Anemia”, 234567, “ABC128”),
(121222, 110808, 110808, “Cancer”, 456789, “ABC123”),
(121223, 110808, 110817, “SIDA”, 123456, “ABC128”),
(121224, 110809, 110809, “Fiebre comun”, 234567, “ABC125”),
(121225, 110810, 110810, “Diarrea”, 345678, “ABC124”),
(121226, 110810, 110810, “Diarrea”, 456789, “ABC127”);
NOTA: Si lo que quieres es solo copiar y pegar tendrás que modificar las comillas y quitarle el salto de línea ya que el archivo esta creado en un formato no valido por mysql, y por lo tanto te marcara error.
Procederemos a realizar las consultas para lo cual utilizare el Query Browser porque tiene una presentación mas estética, cabe mencionar que si quisiéramos hacerlo en consola es el mismo codigo con punto y coma al final.
MOSTRAR TODOS LOS DATOS EXISTENTES EN LA TABLA PACIENTE.
Select*from paciente;
MOSTRAR TODOS LOS DATOS EXISTENTES EN LA TABLA MEDICO.
Select*from medico;
MOSTRAR TODOS LOS DATOS EXISTENTES EN LA TABLA CONSULTA.
Select*from consulta;
MOSTRAR LOS DATOS MAS RELEVANTES DEL PACIENTE (NOMBRE,FECHA DE ENTRADA Y SALIDA, DIAGNOSTICO, ASI COMO EL MEDICO QUE LO ATENDIO.
select nombre, apellido, fingreso, fsalida, diagnostico, nommedico, apemedico from paciente, consulta, medico where paciente.codigo=codpaciente and rfc=rfcmedico;
select apellido, apellido, fingreso, fsalida, diagnostico, nommedico, apemedico from paciente, consulta, medico where paciente.codigo=codpaciente and rfc=rfcmedico order by
apellido;
select apellido, nombre, fingreso, fsalida, diagnostico, nommedico, apemedico from paciente, consulta, medico where paciente.codigo=codpaciente and rfc=rfcmedico and paciente.codigo=123456;
select apellido, nombre, fingreso, fsalida, diagnostico, nommedico, apemedico from paciente, consulta, medico where paciente.codigo=codpaciente and rfc=rfcmedico order by fingreso;
select apellido, nombre, fingreso, fsalida, diagnostico, nommedico, apemedico from paciente, consulta, medico where paciente.codigo=codpaciente and rfc=rfcmedico and paciente.codigo=789012;
select apellido, nombre, fingreso, fsalida, diagnostico, nommedico, apemedico from paciente, consulta, medico where paciente.codigo=codpaciente and rfc=rfcmedico and rfc="ABC123";
select apellido, nombre, fingreso, fsalida, diagnostico, nommedico, apemedico from paciente, consulta, medico where paciente.codigo=codpaciente and rfc=rfcmedico and diagnostico="Cancer";
select apellido, nombre, fingreso, fsalida, diagnostico, nommedico, apemedico from paciente, consulta, medico where paciente.codigo=codpaciente and rfc=rfcmedico and fingreso>=110805 and fsalida<=110808;











No hay comentarios:
Publicar un comentario