base de datos dinamicas
TRANSCRIPT
BASE DE DATOS BASE DE DATOS DINAMICASDINAMICAS
LIC. SAUL GARNICA ESPINOZALIC. SAUL GARNICA ESPINOZA
SQL, Structure Query Language SQL, Structure Query Language (Lenguaje de Consulta Estructurado)(Lenguaje de Consulta Estructurado)
es un lenguaje de programación para trabajar con es un lenguaje de programación para trabajar con
base de datos relacionales comobase de datos relacionales como
MySQL, Oracle, etc.MySQL, Oracle, etc.
MySQLMySQL
interprete de SQLinterprete de SQL
es un servidor de base de datos.es un servidor de base de datos.
MySQL permite crear base de datos y MySQL permite crear base de datos y tablas, insertar datos, modificarlos, tablas, insertar datos, modificarlos,
eliminarlos, ordenarlos, hacer consultas y eliminarlos, ordenarlos, hacer consultas y realizar muchas operaciones, etc. realizar muchas operaciones, etc.
Administra Bases de Datos.Administra Bases de Datos.
Ingresando instrucciones en la línea de Ingresando instrucciones en la línea de comandos o embebidas en un lenguaje comandos o embebidas en un lenguaje
como PHP nos comunicamos con el como PHP nos comunicamos con el servidor. servidor.
Cada sentencia debe acabar con punto Cada sentencia debe acabar con punto y coma (;).y coma (;).
La sensibilidad a mayúsculas y minúsculas, es decir, si hace La sensibilidad a mayúsculas y minúsculas, es decir, si hace diferencia entre ellas, depende del sistema operativo, diferencia entre ellas, depende del sistema operativo,
Windows no es sensible, pero Linux si. Windows no es sensible, pero Linux si. Por ejemplo Windows interpreta igualmente las siguientes Por ejemplo Windows interpreta igualmente las siguientes
sentencias:sentencias:
create database administracion; create database administracion; Create DataBase administracion; Create DataBase administracion;
Pero Linux interpretará como un error la segunda.Pero Linux interpretará como un error la segunda.Se recomienda usar siempre minúsculas. Se recomienda usar siempre minúsculas.
Es más el sitio mysqlya.com.ar está instalado sobre un Es más el sitio mysqlya.com.ar está instalado sobre un servidor Linux por lo que todos los ejercicios deberán servidor Linux por lo que todos los ejercicios deberán
respetarse mayúsculas y minúsculas.respetarse mayúsculas y minúsculas.
Entrar al subdirectorioEntrar al subdirectorioAppServAppServ
ENTRAR AL SUBDIRECTORIO ENTRAR AL SUBDIRECTORIO Apperv\MySQLApperv\MySQL
Entrar al subdirectorio Entrar al subdirectorio AppServ\MySQL\binAppServ\MySQL\bin
Entrar como administradorEntrar como administrador
ENTRAR COMO ROOT PIDE EL PASSWORDENTRAR COMO ROOT PIDE EL PASSWORD
mysql –u root -pmysql –u root -p
ENTRANDO A MySQLENTRANDO A MySQL
VISUALIZA LAS BASES DE DATOSVISUALIZA LAS BASES DE DATOS show databases;show databases;
Crea una base de datosCrea una base de datoscreate database agenda;create database agenda;
Visualizar las bases de datosVisualizar las bases de datos
Borra una base de datosBorra una base de datosdrop database agenda;drop database agenda;
Consultas con Consultas con select version(),user();select version(),user();
Crear tablas y modificar bases de datos se Crear tablas y modificar bases de datos se
utilizautiliza use agenda;use agenda;
Crear una tabla en la base de datos Crear una tabla en la base de datos agendaagenda
create table amigos (nombre create table amigos (nombre varchar (30),varchar (30),
apellidos varchar (30),apellidos varchar (30),direccion varchar (50),direccion varchar (50),telecasa varchar(10),telecasa varchar(10),telemovil varchar (10),telemovil varchar (10),
edad tinyint); edad tinyint);
Visualizar la tabla generadaVisualizar la tabla generadashow tables;show tables;
Show tables;Show tables;
Crear otra tabla cumpleCrear otra tabla cumplecreate table cumple ();create table cumple ();
Visualizamos las tablasVisualizamos las tablasshow tables;show tables;
Create table cumple Create table cumple (nombre varchar (30),(nombre varchar (30),apellidos varchar (30),apellidos varchar (30),
fecha date);fecha date);
Modo graficoModo graficohttp://localhost/phpmyadminhttp://localhost/phpmyadmin
Crear bases de datos y tablas modo Crear bases de datos y tablas modo graficografico
Crear una tablaCrear una tabla
Boton continuar para generar la tabla Boton continuar para generar la tabla y grabary grabar
CREAR CLAVE PRIMARIA EN LA CREAR CLAVE PRIMARIA EN LA TABLA AMIGOSTABLA AMIGOS
Agregar una clave primaria de modo Agregar una clave primaria de modo texto MySQLtexto MySQL
Alter table cumple Alter table cumple ADD PRIMARY KEYADD PRIMARY KEY
(apellidos);(apellidos);
Agregar un campo a la tabla cumpleAgregar un campo a la tabla cumple
Insertar campos a tabla amigosInsertar campos a tabla amigos
Se crea el campo horoscopoSe crea el campo horoscopo
Tipo de Campo Tamaño de Almacenamiento
TINYINT 1 byte
SMALLINT 2 bytes
MEDIUMINT 3 bytes
INT 4 bytes
INTEGER 4 bytes
BIGINT 8 bytes
FLOAT(X) 4 ú 8 bytes
FLOAT 4 bytes
DOUBLE 8 bytes
DOUBLE PRECISION 8 bytes
REAL 8 bytes
DECIMAL(M,D) M+2 bytes sí D > 0, M+1 bytes sí D = 0
NUMERIC(M,D) M+2 bytes if D > 0, M+1 bytes if D = 0
BASE DE DATOS BASE DE DATOS DINAMICADINAMICA
CREAR UNA BASE DE CREAR UNA BASE DE DATOS CON MYSQLDATOS CON MYSQL
PHPFACILPHPFACIL
CREATE TABLE alumnos CREATE TABLE alumnos
( codigo int(11) NOT NULL auto_increment,( codigo int(11) NOT NULL auto_increment,
nombre varchar(40) default NULL, nombre varchar(40) default NULL,
mail varchar(50) default NULL, mail varchar(50) default NULL,
codigocurso int(11) default NULL,codigocurso int(11) default NULL,
PRIMARY KEY (`codigo`) ) ;PRIMARY KEY (`codigo`) ) ;
INSERTAR REGISTROS EN INSERTAR REGISTROS EN BASE DE DATOSBASE DE DATOS
Para añadir datos en la tabla empleamos el Para añadir datos en la tabla empleamos el comando MySQL llamado insert.comando MySQL llamado insert.
Necesitamos dos páginas para este proceso, una Necesitamos dos páginas para este proceso, una será el formulario de carga de datos y la será el formulario de carga de datos y la
siguiente será la que efectúe la inserción en la siguiente será la que efectúe la inserción en la tabla.tabla.
Insertar.phpInsertar.phpInsertar2.phpInsertar2.php
<html><head><title>Problema</title></head><body><h1>Alta de Alumnos</h1><form action="insertar2.php" method="post">Ingrese nombre:<input type="text" name="nombre"><br>Ingrese mail:<input type="text" name="mail"><br>Seleccione el curso:<select name="codigocurso"><option value="1">PHP</option><option value="2">ASP</option><option value="3">JSP</option></select><br><input type="submit" value="Registrar"></form></body></html>
<html><head><title>INSERTAR ALUMNOS BD</title></head><body><h1>Alta de Alumnos CNAD</h1><form action="insertar2.php" method="post">Ingrese nombre:<input type="text" name="nombre"><br>Ingrese mail:<input type="text" name="mail"><br>
Seleccione el curso:<select name="codigocurso"><option value="1">PHP</option><option value="2">ASP</option><option value="3">JSP</option></select><br><input type="submit" value="Registrar"></form></body></html>
<html><head><title>insertar base de datos</title></head><body><?php$conexion=mysql_connect("localhost","root","123") or die("Problemas en la conexion");
mysql_select_db("phpfacil",$conexion) or die("Problemas en la seleccion de la base de datos");
mysql_query("insert into alumnos(nombre,mail,codigocurso) values ('$_REQUEST[nombre]','$_REQUEST[mail]',$_REQUEST[codigocurso])", $conexion) or die("Problemas en el select".mysql_error());
mysql_close($conexion);
echo "El alumno fue dado de alta.";?></body></html>
<html><head><title>insertar base de datos</title></head><body><?php$conexion=mysql_connect("localhost","root","123") or die("Problemas en la conexion");
mysql_select_db("phpfacil",$conexion) or die("Problemas en la seleccion de la base de datos");
Insetar2.php
mysql_query("insert into alumnos(nombre,mail,codigocurso) values ('$_REQUEST[nombre]','$_REQUEST[mail]',$_REQUEST[codigocurso])", $conexion) or die("Problemas en el select".mysql_error());
mysql_close($conexion);
echo "El alumno fue dado de alta.";?></body></html>
<html><head><title>seleccion de registros</title></head><body><?php$conexion=mysql_connect("localhost","root","123") or die("Problemas en la conexion");mysql_select_db("phpfacil",$conexion) or die("Problemas en la selección de la base de datos");$registros=mysql_query("select codigo,nombre, mail, codigocurso from alumnos",$conexion) or die("Problemas en el select:".mysql_error());while ($reg=mysql_fetch_array($registros)){
Seleccion1.php
echo "Codigo:".$reg['codigo']."<br>"; echo "Nombre:".$reg['nombre']."<br>"; echo "Mail:".$reg['mail']."<br>"; echo "Curso:"; switch ($reg['codigocurso']) { case 1:echo "PHP"; break; case 2:echo "ASP"; break; case 3:echo "JSP"; break; } echo "<br>"; echo "<hr>";}mysql_close($conexion);?></body></html>
CONSULTACONSULTA
html><head><title>Problema</title></head><body><form action="consulta2.php" method="post">Ingrese el mail del alumno a consultar:<input type="text" name="mail"><br><input type="submit" value="buscar"></form></body></html>
Consulta.php
<html><head><title>Problema</title></head><body><?php$conexion=mysql_connect("localhost","root","123") or die("Problemas en la conexion"); mysql_select_db("phpfacil",$conexion) or die("Problemas en la selección de la base de datos");
$registros=mysql_query("select codigo,nombre, codigocurso from alumnos where mail='$_REQUEST[mail]'",$conexion) or die("Problemas en el select:".mysql_error());if ($reg=mysql_fetch_array($registros))
consulta2.php 1
{ echo "Nombre:".$reg['nombre']."<br>"; echo "Curso:"; switch ($reg['codigocurso']) { case 1:echo "PHP"; break; case 2:echo "ASP"; break; case 3:echo "JSP"; break; }
Consulta2.php 2
}else{ echo "No existe un alumno con ese mail.";}mysql_close($conexion);?></body></html>
Consulta2.php 3
ELIMINAR, BORRAR UN ELIMINAR, BORRAR UN REGISTROREGISTRO
<html><head><title>Problema</title></head><body><form action="borrar2.php" method="post">Ingrese el mail del alumno a borrar:<input type="text" name="mail"><br><input type="submit" value="buscar"></form></body></html> // borrar.php
<html><head><title>Problema</title></head><body><?php$conexion=mysql_connect("localhost","root","123") or die("Problemas en la conexion");mysql_select_db("phpfacil",$conexion) or die("Problemas en la selección de la base de datos");$registros=mysql_query("select codigo from alumnos where mail='$_REQUEST[mail]'",$conexion) or die("Problemas en el select:".mysql_error());//borrar2.php 1
if ($reg=mysql_fetch_array($registros)){ mysql_query("delete from alumnos where mail='$_REQUEST[mail]'",$conexion) or die("Problemas en el select:".mysql_error()); echo "Se efectuó el borrado del alumno con dicho mail.";}else{ echo "No existe un alumno con ese mail.";}mysql_close($conexion);?></body></html> // borrar2.php 2
Borrar todos los registros Borrar todos los registros de una tablade una tabla
<html><head><title>Problema</title></head><body><?php$conexion=mysql_connect("localhost","root","123") or die("Problemas en la conexion");mysql_select_db("phpfacil",$conexion) or die("Problemas en la selección de la base de datos");mysql_query("delete from alumnos",$conexion) or die("Problemas en el select:".mysql_error());echo "Se efectuó el borrado de todos los alumnos.";mysql_close($conexion);?></body></html>
Contador de registrosContador de registros
COMANDOS BASICOS COMANDOS BASICOS MYSQLMYSQL
CREAR UNA BASE DE CREAR UNA BASE DE DATOSDATOS
Create database phpfacil;Create database phpfacil;
USAR UNA BASE DE USAR UNA BASE DE DATOSDATOS
use phpfacil;use phpfacil;
CREAR UNA TABLACREAR UNA TABLA
create table alumnos;create table alumnos;
VISUALIZAR BASES DE VISUALIZAR BASES DE DATOSDATOS
show databases;show databases;
MOSTRAR LAS TABLAS MOSTRAR LAS TABLAS QUE TIENE UNA BASE DE QUE TIENE UNA BASE DE
DATOSDATOS
show tables;show tables;