Sie sind auf Seite 1von 18

Ahora podemos ir a consultar que tablas contiene la base de datos ADSIVIRTUAL.

Para ello ingresamos la siguiente sentencia sql:

show tables from adsivirtual;

Al ejecutar la sentencia el servidor informa que la base de datos esta vaca.

De la misma forma podemos consultar si la base de datos prueba tiene tablas as:

show tables prueba;Al ejecutar la sentencia el servidor informa que hay un error. Qu nos hizo
falta en la sentencia? la palabra from.

La sentencia sql debe quedar as:

show tables from prueba;

El servidor informa que la base de datos esta vaca.

Ahora como ejercicio vamos a borrar una base de datos. Para ello se utiliza la siguiente sentencia
sql:

Drop database nombre_base_datos;Como ejemplo vamos a borrar la base de datos prueba.

Ingresamos la siguiente sentencia:

drop database prueba;

Al ejecutar la sentencia, aparece Query Ok. 0 rows affected.

De la misma forma podemos ir a borrar la base de datos ADSIVIRTUAL, con la siguiente sentencia
sql:

drop database adsivirtual;

Despus ingresamos show databases; y verificamos que ya no existe la base de datos.

Como ejercicio vamos a ubicarnos en la base de datos centromedico. Para ello utilizamos la
siguiente sentencia: use centromedico;

Despus consultamos las tablas que tiene la base de datos con la siguiente sentencia:

show tables from centromedico;

Al ejecutar la sentencia, la consulta informa que la base de datos esta vaca.

Creacin de tablas

Ahora vamos a conocer de manera grfica el modelo de las tablas que componen la base de datos
llamada CentroMedico.

La base de datos esta compuesta por las Siguientes Tablas:


Tratamientos

Pacientes

Medicos

Citas

Consultorios

Vamos a iniciar creando la Tabla Consultorios que esta compuesta por dos campos.

Como recomendacin lo primero que debemos hacer ants de crear la sentencia sql para crear la
tabla en el servidor es:

Identificar los campos y sus respectivos nombres.


Identificar el tipo de dato para cada campo.
Definir la longitud del campo cuando se requiere.
Definir el rol del campo en la tabla: Por ejemplo si es primary key, foreign key.
Identificar que campos son nicos: Unique
Identificar que camos pueden ser nulos y cuales no nulos: Null, Not Null.
Identificar que campos son auto_increment.

Por ejemplo, la Tabla Consultorios tiene dos campos as:

El campo idConsultorio con las siguientes caracteristicas:

Tipo: int (entero).


Longitud: 3
Primary key: Llave primaria de la tabla.
Not Null: Obligatio, se debe ingresar.
Auto Increment: Valor asignado automaticamente, por defecto inicia en 1.

El campo ConNombre con las siguientes caracteristicas:

Tipo:Varchar
Longitud:20
Not Null

La Estructura General de la Sentencia sql que nos permite crear la tabla es la siguiente:

create table nombreTabla (

nombrecampo1 tipodatos(tamao) modificador,

nombrecampo2tipodatos(tamao) modificador,

....

primary key (nombrecampo1)


)auto_increment=valorInicial;

Revisando el resultado del listado de las bases de datos, una de ellas se llama CentroMedico.

Para crear las tablas en esa base de datos, primero debemos ubicarnos en ella con la siguiente
sentencia SQL:

Mysql>use CentroMedico;

Despus podemos consultar que tablas contiene la base de datos CentroMedico con la siguiente
sentencia SQL:

Mysql> show tables from centromedico;

Al ejecutar la sentencia nos informa que la base de datos esta vaca.

Vamos a empezar a ingresar la sentencia sql que me permite agregar la tabla Consultorios
as:Mysql> Create table Consultorios(

idConsultorio int(3) not null auto_increment,

ConNombre varchar(20) not null,

Primary key(idConsultorio)

)auto_increment=1;

El valor de auto_increment es el valor con el que va a iniciar el campo IdConsultorio quien es el


campo que tiene el modificador auto_increment.

Despus de ingresar toda la sentencia presionamos enter y nos debe arrojar un resultado as si
todo esta bien.

Query OK, 0 filas afectadas.

Y as es la forma como podemos crear una tabla por lnea de comandos.

Para consultar las Tablas de la Base de Datos CentroMedico ingresamos la siguiente


sentencia:Mysql> show tables CentroMedico;

Al ejeuctar la sentencia muestra como resultado que la base de datos CentroMedico ya contiene la
tabla llamada Consultorios.

Ahora podemos ingresar la sentencia sql que nos hace una descripcin de la estructura de la tabla.

La sentencia SQL es la siguiente:

Mysql> describe Consultorios;

Nueva tabla
La estructura general de la sentencia SQL que me permite crear la tabla Medicos es la siguiente:

create table nombreTabla (

nombrecampo1 tipodatos(tamao) modificador,

nombrecampo2 tipodatos(tamao) modificador,

....

primary key (nmbrecampo1),

unique (nombrecampo)

) auto_increment=valorInicial

Vamos a ir al Servidor mysql y vamos a crear la Tabla ingresando la Sentencia SQL de acuerdo a la
descripcin presentada para cada uno de los campos de la tabla.

Sentencia SQL:

Mysql> Create table Medicos(

IdMedico int not null auto_increment,

MedIdentificacion char(10) not null,

MedNombres varchar(50) not null,

MedApellidos varchar(50) not null,

MedEspecialidad varchar(50) not null,

MedTelefono char(10) not null,

MedCorreo varchar(30) not null,

Primary key(idMedico),

Unique (MedIdentificacion)

) auto_increment=1;

Al ejecutar la sentencia SQL de la creacin de la Tabla Medicos nos debe aparecer el mensaje de
Query OK:

Vamos a ir a consultar las Tablas de la base de Datos CentroMedico.

Para ello debemos ingresar la siguiente sentencia sql:

Mysql> show tables from centromedico;

Pero si no queremos ingresar nuevamente la sentencia, podemos con las flechas de


desplazamiento vertical, buscar las sentencias que hemos ingresado.
Ahora podemos ir a consultar la descripcin de la tabla Medicos con la siguiente sentencia SQL:

Mysql> describe Medicos;

Despus de ejecutar la sentencia nos aparece al descripcin detallada de cada uno de los campos
que componen la tabla Medicos.

La tabla Pacientes es muy parecida a la Tabla Medicos, pero encontramos algo nuevo en esta
tabla. Existe un campo llamado PacSexo que solo puede tener dos valores Femenino o Masculino,
para ello en mysql utilizamos la sentencia ENUM para definir los posibles valores.

La sentencia SQL que me permite crear una tabla con camos tipo ENUM tiene la siguiente
estructura:

create table nombreTabla (

nombrecampo1 tipodatos(tamao) modificador,

nombrecampo2 enum('x', 'y'),

....

primary key (nombrecampo1),

unique (campou)

)auto_increment=1;

Vamos al servidor mysql y empezamos a ingresar la siguiente sentencia SQL que nos permite crear
la tabla Pacientes:

Sentencia SQL:

Mysql> Create table Pacientes(

idPaciente int not null auto_increment,

PacIdentificacion char(10) not null,

PacNombres varchar(50) not null,

PacApellidos varchar(50) not null,

PacFechaNacimiento date not null,

PacSexo Enum('Femenino', 'Masculino') not null,

Primary key(idPaciente),

Unique(PacIdentificacion)

)auto_increment=1;
Sentencia consultar base da datos

Vamos a iniciar con la siguiente sentencia sql que nos permite consultar las bases de datos que
tiene actualmente el servidor.

Sentencia: SHOW DATABASES;Al ejecutar la sentencia aparece el listado de las bases de datos que
tiene por defecto el servidor.

Information_schema

Mysql

Perfomance_schema

Test

Ahora podemos utilizar la sentencia que me permite ir a manipular y consultar una base de datos.

Sentencia: Use NombreBaseDatos;

Como ejemplo vamos a ingresar Use Mysql;

Al ejecutarlo aparece el siguiente mensaje: Database Changed.

En el momento ya estamos ubicados en la Base de Datos Mysql, ahora podemos ejecutar


sentencias SQL para conocer o manipular informacin propia de la Base de Datos.

Para iniciar vamos a consultar cuantas tablas tiene la Base de Datos Mysql. Para ello ejecutamos la
siguiente sentencia: show tables from mysql;

Cuando ejecutamos la sentencia aparece el listado de las tablas que tenga la base de datos. En
este caso aparece un listado con varias tablas como lo muestra el vdeo.

Tambin podemos realizar las siguientes sentencias a manera de ejemplo:

1. show tables from test;

Al ejecutar la sentencia nos informa que la base de datos esta vaca.

2. Show tables from information_schema;

Al ejecutar la sentencia aparece un listado grande con las tablas que componen la base de datos.
CREACION TABLAS CON CAMPOS REFERNCIADOS A OTRAS TABLAS

Vamos a realizar los ejercicios con la Siguiente Base de Datos llamada CentroMedico que contiene
las siguientes tablas:

Mdicos

Pacientes

Consultorios

Citas

Tratamientos

De acuerdo al Diagrama la Tabla Citas tiene una relacin con las tablas Mdicos, Pacientes y
Consultorios.

Por lo anterior esto quiere decir que en la Tabla Citas hay un campo que hace referencia a un
campo en cada una de las tablas de la relacin.
Por ejemplo: En la tabla citas existe el Campo CitMedico, este campo hace referencia al campo
IdMedico de la Tabla Mdicos.

De la misma forma existe el campo CitPaciente, este campo hace referencia al campo IdPaciente
de la tabla Pacientes.

Y el campo CitConsultorio, hace referencia la campo IdConsultorio de la tabla Consultorios.

Nota: Los campos que hacen referencia a otros campos de otras tablas deben ser creados del
mismo tipo del campo referenciado.

Debemos tener claro que el tipo de Dato para los campos que hacen referencia a otros campos de
otras tablas debe ser del mismo tipo de dato.

Porlo anterior los campos CitMedico, CitPaciente y CitConsultorio deben ser creados de tipo int
(entero), como fueron creados los campos IdMedico, IdPaciente e IdConsultorio.

En la tabla donde hacemos una descripcin de los campos, se recomienda incluir una columna que
nos indique si el campo es forneo, a que tabla y a que campo hace referencia como lo muestra el
ejemplo.

Inicialmente vamos a ingresar la sentencia SQL, que me permite consultar las bases de datos en el
servidor.Mysql>Show Databases;

Despus ingresamos la sentencia SQL que me permite ir a la base de datos centromedico;Mysql>


Use centromedico;

Ya estando en la base de datos centromedico, vamos ahora a consultar que tablas existen en la
base de datos mediante la siguiente Sentencia SQL:

Mysql> Show tables from centromedico;


Ejemplos de creacin

Create table Citas(

idCita int not null auto_increment,

CitFecha Date not null,

CitHora char(8) not null,

CitPaciente int not null,

CitMedico int not null,

CitConsultorio int not null,

CitEstado enum('Asignada', 'Cumplida') default 'Asignada' not null,

CitObservaciones text not null,

Primary key(idCita),

Foreign key (CitPaciente) references Pacientes(idPaciente),

Foreign key (CitMedico) references Medicos(idMedico),

Foreign key (CitConsultorio) references Consultorios(idConsultorio)

)Auto_increment=1;

Create table Tratamientos(

idTratamiento int not null,


TraFechaAsignado Date not null,

descripcion text not null,

TraFechaInicio date not null,

TraFechaFin date not null,

TraObservaciones text not null,

TraPaciente int not null,

Primary key(idTratamiento),

Foreign key (TraPaciente) references Pacientes(idPaciente)

);

Modificar campos despus de haber sido creados

Vamos a ir al documento de apoyo y vamos a conocer como podemos hacer modificaciones.

Usando la sentencia Alter Table podemos hacer cambios en la descripcin de la tabla.

Necesitamos que el Campo IdTratamiento sea Auto_Increment, Cmo lo hacemos?

Lo hacemos mediante la siguiente sentencia SQL:

Mysql> Alter Table Tratamientos modify column idTratamiento int not null auto_increment;

La sentencia SQL para hacer el cambio de nombre es la siguiente:

Mysql> Alter table tratamientos change column

descripcion TraDescripcion text not null;

Nota: despus de change column debe ir el nombre actual del campo y despus el nombre nuevo
que se le quiere dar al campo.

Despus de ejecutada la sentencia podemos hacer una descripcin de la tabla.

Mysql> describe Tratamientos:

Nos damos cuenta en la descripcin que ya existe el campo TraDescripcion.

INSERCION DE DATOS EN TABLAS NO REFERNCIADAS

Para iniciar vamos a insertar datos a las Tablas que no tienen campos referenciados (FK) a otras
tablas.

En la base de datos CentroMedico las Tablas que no tienen campos referenciados a otras tablas
son:
Pacientes

Medicos

Consultorios

Vamos ahora a conocer con que sentencias sql podemos insertar datos a una tabla de una base de
datos.

Para insertar datos utilizamos la sentencia Insert Into.

Es muy importante tener en cuenta las siguientes recomendaciones a la hora de hacer la


sentencia:

1. El nombre de las tablas

2. El orden de los campos

3. El tipo de los campos

4. Las Referencias entre tablas

5. La separacin entre los datos

6. La finalizacin de la instruccin.

Conozcamos la estructura general de una sentencia de tipo INSERT INTO

Insert into nombretabla (NombreCampo1, NombreCampo2,,NombreCampon)Values (valor1,


valor2,valorn);

Explicacin:

1. Despus del insert into va el nombre de la tabla.

2. Despus va un parentesis, donde debemos colocar los campos de la tabla a los que se piensan
ingresar datos. Debemos tener en cuenta el nombre, y el orden.

3. Despus del parentesis va la palabra VALUES.

4. Seguido de la palabra values va un parntesis, donde debemos colocar los valores que
queremos insertar en cada uno de los campos. Tener en cuenta el orden y el tipo de dato. Si los
valores son de tipo char, varchar, los valores van entre comillas y si los valores son de tipo nmero
no necesitan de ir entre comillas.

5. Al finalizar termina con un punto y coma.

Para iniciar vamos a empezar a insertar datos en la Tabla Consultorios.

La tabla consultorios es una tabla pequea que consta de 2 campos, uno de ellos el IdConsultorio y
el otro ConNombre que hace referencia al nombre identificador del consultorio.
Como ejercicio vamos agregar unos registros de acuerdo a como lo muestra la siguiente tabla:

Si deseamos empezar agregar el primer registro lo podemos hacer con la siguiente sentencia SQL:

Insert into Consultorios

(ConNombre) values (CST-101);

Normalmente en la sentencia SQL deben ir todos los campos de la tabla donde se piensa insertar
datos pero hay unas excepciones as:

No se requiere agregar el campo cuando este campo es Auto_increment.

No se requiere cuando el campo tiene asignado un valor por defecto.

Por eso la sentencia que acabamos de hacer solo aparece el campo llamado ConNombre, y no
aparece el campo IdConsultorio, ya que este es auto_increment.

Para realizar el ejercicio vamos a conectarnos al servidor mysql para que ejecutemos la consulta y
veamos los cambios en la base de datos.

Lo primero que vamos hacer aqu en el servidor es hacer una consulta de las bases de datos que
tenemos en el servidor con la siguiente sentencia SQL:

Mysql> show databases;

Despus nos ubicamos en la base de datos centromedico con la siguiente sentencia SQL:

Mysql> use centromedico;

Seguido podemos consultar las tablas de la base de datos centromedico as:

Mysql> show tables from centromedico;

Despus de insertar los datos ahora vamos a consultar los datos de la tabla Consultorios utilizando
la siguiente sentencia SQL:

MYsql> select * from Consultorios;

La sentencia anterior selecciona todos los campos de la tabla consultorios.


Para hacer ms rapido el proceso de insertar datos podemos con las flechas de desplazamiento
vertical buscar la sentencia de insertar y cambiamos el valor del nombre de consultorio por CST-
103 y presionamos enter para ejecutarla. Lo mismo podemos hacerlo para el consultorio CST-104.

Ahora podemos hacer una consulta de la Tabla Consultorios para verificar si aparecen los 4
consultorios.

Sentencia SQL:

Mysql>select * from Consultorios;

Para insertar el primer registro de acuerdo a la tabla presentada la sentencia sql es la


siguiente:Insert into Medicos

(MedIdentificacion,MedNombres,MedApellidos,MedEspecialidad,MedTelefono,MedCorreo)Value
s (10,Pablo,Marmol,Ginecologo,300555555,pablo@servidor.com);

Nota: Recordemos el IdMedico no necesitamos agregarlo en la sentencia, ya que este campo es


auto_increment.

Vamos a realizar la consulta que me permite ingresar el primer medico ya aqu en el


servidor.Sentencia SQL:

Mysql>Insert into Medicos

(MedIdentificacion,MedNombres,MedApellidos,MedEspecialidad,MedTelefono,MedCorreo)Value
s (10,Pablo,Marmol,Ginecologo,300555555,pablo@servidor.com);

Podemos hacer un select de todos los campos de la tabla Medicos, y podemos verificar que ya
debe aparecer el mdico recin ingresado.

Sentencia SQL:

MYsql>select * from Medicos;

empresa Tipo de dato longitud Modificador


idEmpresa int 10 Not null, Pk
empNombre varchar 30 Not null
empDireccion varchar 50 Not null
empTelefono varchar 20 Not null
empNumeroTrabajadores int 20 Not null
riesgo Tipo de dato longitus modificador
idRiesgp int 10 Pk, not null, auto-
increment
rieNombre varchar 30 Not null
rieClasificacion varchar 30 Not null
rieConsecuencia varchar 100 Not null
rieubicacion int 50 Not null
rieTipo varchar 20 Not null

valoracion Tipo de dato longitud modificador foraneo


idvaloracion int 10 Pk, not null,
auto-increment
validRiesgo int 10 Not null Riesgo (id
riesgo)
valseveridaddao varchar 50 Not null
valprobabilidadocurrencia varchar 50 Not null
valeventoproduce varchar 50 Not null

intervencion Tipo de dato longitud modificador foraneo


idintervencion int 10 Pk, not null,
auto-
increment
cronogramaidcronograma int 10 Not null Cronograma
(idcronograma)
intFuente varchar 50 Not null
intmedio varchar 50 Not null
intindividuo varchar 50 Not null

cronograma Tipo de dato longitud modificador foraneo


idcronograma int 10 Pk, not null
auto-
increment
idempresa int 10 Not null Empresa, (idempresa)
cronombreinduccion varchar 20 Not null
croareatrabajo varchar 20 Not null
cronombreempresa varchar 30 Not null Empresa(empnombre)

trabajador Tipo de dato longitud modificador Forneo, otros


idtrabajador int 10 Pk, not null auto-
increment
riesgoidriesgo int 10 Not null Riesgo (idriesgo)
tracedula int 20 Not null Unique cedula
tranombre varchar 30 Not null
traapellido varchar 30 Not null
traareatrabajo varchar 50 Not null
trafunciones varchar 50 Not null
trahorariolaboral datetime Not null
tracargo varchar 30 Not null

trabajo Tipo de longitud modificador Forneo y otros


dato
idtrabajo int 10 Pk, not null,
auto-
increment
riesgoidriesgo int 10 Not null Fk, riesgo(idriesgo)
traareatrabajo varchar 50 Not null Fk, areatrabajo
empnumerotrabajadores int 20 Not null Fk,
empnuemrotrabajadores

Das könnte Ihnen auch gefallen