SlideShare a Scribd company logo
1 of 5
Download to read offline
Campos y conexiones


Conexión con el servidor
                                      Automatizar la conexión
de bases de datos                       Con nuestros conocimientos sobre PHP ya estamos en condiciones de hacer más
                                      cómoda la conexión. Creemos una función que realice de forma automática la conexión
Antes de empezar a trabajar con       con MySQL y guardémosla en nuestro fichero mysql.inc.php
bases de datos es imprescindible
que ambos servidores –Apache y
MySQL– estén activos.                  <?
                                       # estas son las variables anteriores
Como paso inmediato hemos de           $mysql_server="localhost";
interconexionar ambos                  $mysql_login="pepe";
servidores de forma que sea            $mysql_pass="pepa";
posible tranferir información de
uno a otro.                            # creemos una nueva variable $c sin asignarle ningún valor
Para ello es necesario utilizar
                                       # para que pueda recoger el identificador de conexión
siempre una función PHP con la         # una vez que se haya establecido esta
siguiente sintaxis:
                                       $c;
$c=mysql_connect(h, u, p)              # escribamos la función que hace la conexión
                                       # como pretendemos que el valor del identificador
donde $c es la variable que recoge
                                       # sea usado fuera de la función, para recuperar su valor
el identificador del enlace, h es
                                       # pasaremos ese valor por referencia anteponiendo & al
la dirección del servidor de bases
de datos, ("localhost") , u es el      # nombre de la variable
nombre de uno de los usuarios          function conecta1(&$c){
registrados en la tabla user           # para usar las variables anteriores en la funcion
("pepe" o "root") y p la               # hemos de definirlas como globales
contraseña (en nuestro caso                  global $mysql_server, $mysql_login, $mysql_pass;
"pepa" ó "") .                              if($c=mysql_connect($mysql_server,$mysql_login,$mysql_pass)){
                                                  print "<br>Conexión establecida<br>";
Estos tres valores –cadenas de
                                               }else{
texto– deben ir escritos entre
                                                 print "<br>No ha podido realizarse la conexión<br>";
comillas.
                                             # el exit lo incluimos para que deje de ejecutarse
Para cerrar la conexión, tenemos             # el script si no se establece la conexión
que insertar:                                     exit();
                                             }
$c=mysql_close ($c)                    }
donde $c es el nombre de la
variable en la que se recogió el       # esta función asignará a $c el valor del identificador
indentificador del enlace en el
momento de la apertura.                #   repetimos la misma función con otro nombre
                                       #   ahora quitaremos el mensaje de conexión establecida
Aquí tienes el código de un script     #   consideraremos que si no hay mensaje se ha establecido
que realiza la apertura de una         #   asi quedará limpia nuestra página
conexión y después la cierra.
                                       function conecta2(&$c){
Y aquí puedes comprobar el
                                       global $mysql_server, $mysql_login, $mysql_pass;
funcionamiento del script anterior.
                                            if($c=mysql_connect($mysql_server,$mysql_login,$mysql_pass)){
Si realizáramos una segunda                    }else{
conexión (con los mismos                         print "<br>No ha podido realizarse la conexión<br>";
argumentos) sin haber cerrado la                  exit();
anterior no se efectuará un                  }
nuevo enlace sino que nos              }
devolverá el ya abierto.               ?>
Sintaxis alternativa
                                         Si sustituyes el contenido de tu mysql.inc.php por el que tienes aquí arriba –puedes
Otra forma de efectuar la conexión    eliminar la líneas de comentario al hacerlo– estaremos en disposición de ejecutar scripts
es utilizar los valores registrados   como este.
en el fichero mysql.inc.php –lo
hemos creado en la página               En este ejemplo utilizaremos la primera función:
anterior– y eso requiere que
insertemos un include("c:..."),
                                                          Ver código fuente         Ejecutar ejemplo
indicando la ruta completa de
seguridad y el nombre del fichero
en el que hemos guardado las            y ahora haremos uso de la segunda
claves y que era mysql.inc.php.
                                                          Ver código fuente         Ejecutar ejemplo
En este supuesto como valores de
los parámetros h, u y p
pondremos los nombres de las
variables:                            Tipos de campos en MySQL
$mysql_server
$mysql_login y                        MySQL tiene habilitados diversos tipos de campos que en una primera aproximación
$mysql_pass                           podrían clasificarse en tres grupos:
sin encerrarlas entre comillas.

Aquí tienes el código de un script         s   Campos numéricos
que realiza la apertura de una             s   Campos de fecha
conexión y después la cierra.              s   Campos de cadenas de caracteres
Desde este enlace puedes
comprobar su funcionamiento.
                                      Campos numéricos
La instrucción OR DIE
                                      MySQL soporta los tipos numéricos exactos(INTEGER, NUMERIC, DECIMAL, y SMALLINT)
                                      y los tipos numéricos aproximados (FLOAT, DOUBLE precision y REAL).
Es esta una buena ocasión para
hablar de una instrucción PHP que
                                      Los campos que contienen números enteros admiten el parámetro UNSIGNED, que
no hemos mencionado hasta el
momento.
                                      implica que no admita signos, por lo que solo aceptaría enteros positivos.
Todos los campos numéricos admiten el parámetro ZEROFILL cuya función es
Es una opción alternativa a exit()      completar el campo con ceros a la izquierda hasta su longitud máxima.
que, como acabamos de ver en un
ejemplo, interrumpe la ejecución
de un script en el momento de ser       Tipos de campos numéricos enteros
ejecutada.
                                        Estos son los distintos tipos de campos numéricos enteros que admite MySQL. Los
Cuando se produce un error en la
ejecución de un script –no poder
                                        parámetros señalados entre corchetes son opcionales.
establecer conexión con MySQL,
por ejemplo– no tiene sentido             TINYINT [(M)] [UNSIGNED] [ZEROFILL]
seguir ejecutándolo. Lo razonable
será interrumpir el proceso y             Número entero muy pequeño. Con la opción UNSIGNED puede tomar valores entre 0 y 255. En caso
advertir del error.                       contrario, puede estar comprendido entre -128 y 127.

Si añadimos a la instrucción              El parámetro ZEROFILL sólo tiene sentido junto con la opción UNSIGNED ya que no es habitual
$c=mysql_conect('h','u','p') (sin         rellenar los números negativos con ceros a la izquierda del signo.
paréntesis, ni comas, ni punto y
                                          El valor por defecto de parámetro M (número de cifras) es 4 si no está activada la opción UNSIGNED.
coma, sólo separado por un
                                          Si esta opción estuviera activada el valor por defecto sería M=3. Para valores de M >valor por
espacio):                                 defecto reajusta el tamaño al valor por defecto.
or die ('mensaje')                        Si se asigna a M un valor menor que cuatro limita el número de caracteres al tamaño especificado
                                          considerando el signo sólo en los números negativos.
y ponemos el punto y coma de fin
de instrucción después de cerrar          Por ejemplo, si M=3 admitiría 148, pero si intentamos insertar -148 recortaría por la izquierda y solo
este último paréntesis, en el caso        insertaría -14.
de que se produzca un error se
                                          Si intentamos insertar un valor fuera de rango registraría el valor dentro del rango más próximo
interrumpirá la ejecución del script
                                          a él.
y apare- cerá en la ventana del           P. ej.: Si tratamos de insertar el valor 437 escribiría 127 ó 255, este último en el caso de tener la
navegador el texto incluido en            opción UNSIGNED.
mensaje.                                  Si pretendiéramos insertar -837 con la opción UNSIGNED escribiría 0 y sin ella pondría -128.

Este es el código fuente de un            El tamaño de un campo TINYINT es de 1 byte.
script que produce un error –la
contraseña es incorrecta– y que
                                          SMALLINT [(M)] [UNSIGNED] [ZEROFILL]
utiliza esta nueva sintaxis. Pero si
lo ejecutas verás que aparece un
mensaje de error generado por             Número entero pequeño. Con la opción UNSIGNED puede tomar valores entre 0 y 65 535. En caso
PHP.                                      contrario, puede estar comprendido entre -32 768 y 32 767.

                                          Son válidos los comentarios hechos para TINYINT, excepto los relativos a los valores por defecto de
Este tipo de mensajes pueden              M que en este caso serían 6 ó 5. Su tamaño es de 2 bytes.
deshabilitarse haciendo una
modificación en php.ini. Pero hay
una técnica mucho más fácil.              MEDIUMINT [(M)] [UNSIGNED] [ZEROFILL]
Bastará con insertar delante de la
función una arroba (@) para evitar
                                          Número entero mediano. Con la opción UNSIGNED puede tomar valores entre 0 y 16 777 215. En
que aparezcan. En este otro script        caso contrario, puede estar comprendido entre -8 388 608 y 8 388 607.
lo hemos incorporado y puedes
comprobarlo aqui.                         También son válidos los comentarios hechos para TINYINT, excepto los relativos al valor por
                                          defecto de M que en este caso serían 8. Su tamaño es de 3 bytes.

Lista de bases de datos
                                          INT [(M)] [UNSIGNED] [ZEROFILL]
existentes
                                          Número entero. Con la opción UNSIGNED puede tomar valores entre 0 y 4 294 967 295. En caso
Antes de crear y/o borrar una             contrario, puede estar comprendido entre -2 147 483 648 y 2 147 483 647.
base de datos puede ser
conveniente y útil comprobar si ya        Son válidos todos los comentarios de los casos anteriores. Su tamaño es de 4 bytes.
existe.

PHP dispone de herramientas para          INTEGER [(M)] [UNSIGNED] [ZEROFILL]
conocer el número de bases de
datos existentes en el servidor, así      Es un sinónimo de INT
como sus nombres. Todas ellas
requieren que se haya establecido
una conexión con el servidor.             BIGINT [(M)] [UNSIGNED] [ZEROFILL]

$p=mysql_list_dbs($c)                     Número entero grande. Con la opción UNSIGNED puede tomar valores entre 0 y 18 446 744 073
                                          709 551 615. En caso contrario, puede estar comprendido entre -9 223 372 036 854 775 808 y
La variable $p es un nuevo                21 474 839 223 372 036 854 775 807 647, pero al usarlo desde PHP estará sujeto a las
identificador imprescindible y            limitaciones máximas de los valores numéricos de este.
previo a la determinación del
número y los nombres de las               Son válidos todos los comentarios de los casos anteriores. Su tamaño es de 8 bytes.
bases de datos existentes en el
enlace abierto (identificado por $c).
                                        Números de coma flotante
$n=mysql_num_rows($p)

Esta función devuelve el número         Por la estructura binaria de los microprocesadores y habida cuenta de que algunos
de bases de datos existentes en el      números no enteros -sin ir más lejos, el 0.1- requerirían infinitos caracteres binarios
servidor.                               para su representación exacta, se hace necesario introducir un redondeo en su
                                        tratamiento informático y como consecuencia de ello asumir que se generan errores de
Utiliza como parámetro ($p) el
                                        medida.
resultado obtenido mediante la
función anterior.
                                        Esta circunstancia obligó al tratamiento de los números decimales mediante el llamado
Ese número puede recogerse en           Standar de Aritmética de Punto Flotante, un algoritmo definido por la IEEE (Institute
una variable (en este caso $n).         of Electrical and Electronics Engineers) que unificó los procesos de representación de
                                        números en ordenadores con lo que son uniformemente controlables los errores
mysql_db_name($p, i)                    introducidos.
Esta nueva función devuelve el      El Standar de Aritmética de Punto Flotante estableció dos niveles de precisión:
nombre de una de las bases de
datos, identificada por un número i
que debe pertenecer al intervalo        s Precisión Simple, en la que todo número debe ser almacenado en 32 bits
[0,$n).                                   (4 bytes)
                                            s   Doble precisión, en la que los números se almacenan en 64 bits (8 bytes).
Fíjate que i tiene que ser i<$n
porque si, por ejemplo, $n=5 los
cinco valores posibles de i serían:     MySQL admite los siguientes tipos de números de coma flotante:
0,1,2,3 y 4.

Una lista completa de todas las
bases de datos existentes en el
                                            FLOAT(x) [ZEROFILL]
servidor podría hacerse mediante
el siguiente proceso:                       Número de coma flotante. Ignora la opción UNSIGNED, pero sí acepta ZEROFILL, por lo que debe
                                            prestarse atención a estas opciones ya que no sería demasiado habitual una presentación como esta:
• Abrir la conexión.                        000-3.47
• Invocar a mysql_list_dbs.
• Contar el número de bases de              El valor de x especifica la precisión. Si x<=24 será de precisión simple. cuando 24 <x <=53 lo
                                            convertirá automáticamente a doble precisión.
datos con mysql_num_rows
• Insertar un bucle:                        Cuando no se especifica el valor de x considera el campo como de precisión simple. Su tamaño es
  for ($i=0;$i<$num,$i++)                   de 4 bytes si x<=24 y de 8 bytes cuando 24 <x <=53
• Presentar la lista de nombres
mediante un bucle que lea los
diferentes valores de $i en:                FLOAT [(M,D)] [ZEROFILL]
  mysql_db_name($p,$i)
                                            Número de coma flotante de precisión simple. Son válidos los comentarios relativos a las opciones
Aquí tienes el código fuente de un          UNSIGNED y ZEROFILL del caso anterior.
ejemplo completo y desde aquí
puedes ejecutarlo                           Toma valores en los intervalos siguientes:


                                                     -3.402823466E+38 a -1.175494351E-38
Crear una base de datos
                                                 s

                                                 s   0y
                                                 s   1.175494351E-38 a 3.402823466E+38.
La creación de una base de datos
también requiere una conexión               M es la anchura máxima de visualización y D es el número de decimales. Si M > 24 se convierte
previa y utiliza la siguiente sintaxis:     automaticamente a doble precisión
                                            FLOAT sin argumentos representa un número de coma flotante y precisión simple.
mysql_query
("CREATE DATABASE nom")

donde nom es el nombre de la
nueva base de datos.                        DOUBLE [(M,D)] [ZEROFILL]

Esta función devuelve TRUE si la            Número de coma flotante de doble precisión. Siguen siendo válidos los comentarios relativos a las
base de datos es creada, y FALSE            opciones UNSIGNED y ZEROFILL del caso anterior.
si no es posible hacerlo.
                                            Toma valores en los intervalos siguientes:
Si intentamos crear una base de
datos con un nombre ya                           s   -1.7976931348623157E+308 a -2.2250738585072014E-308
existente la función nos devolverá               s   0y
FALSE.                                           s   2.2250738585072014E-308 a 1.7976931348623157E+308

Aquí tienes el código de un
                                            M es la anchura máxima de visualización y D es el número de decimales.
ejemplo de creación de una base
de datos. Si lo ejecutas dos veces          DOUBLE sin argumentos representa un número de coma flotante y precisión doble.
podrás comprobar que en la
segunda oportunidad te aparece el
mensaje diciendo que no ha sido
posible crearla.
                                            REAL [(M,D)] [ZEROFILL]

Borrar una base de datos                    Es sinónimo de DOUBLE.

Para borrar una base de datos se            DECIMAL [(M[,D])] [ZEROFILL]
requiere el uso de la siguiente
función PHP:
                                            Es un número de coma flotante y doble precisión que se almacena como un campo de tipo CHAR.
mysql_query
("DROP DATABASE nom")                       El valor es guardado como una cadena donde cada carácter representa una cifra. La coma y el signo
                                            menos de los números negativos no son tenidos en cuenta en el valor de M -anchura máxima de
donde nom es el nombre de la                visualización- aunque si se reserva -automáticamente- espacio para ellos en campo.
                                            Si D vale 0 no tendrá parte decimal. Los números toman valores en el mismo intervalo especificado
base de datos y debiendo ponerse
                                            para DOUBLE.
toda la cadena del paréntesis entre
comillas.                                   Los valores por defecto de M y D son respectivamente 10 y 0.
                                            Ocupan M+2 bytes si D > 0; M+1 bytes si D = 0 ó D+2 bytes si M < D
Esta función devuelve TRUE
cuando se ejecuta con éxito, y
FALSE en el caso contrario.                 NUMERIC(M,D) [ZEROFILL]

Este es el código de un script que
                                            Se comporta de forma idéntica a DECIMAL
puede borrar la base creada
anteriormente.

Igual que ocurría al tratar de
crearla, si intentamos borrar una
base de datos inexistente la              Campos de fecha
función mysql_drop_db nos
devolverá FALSE.                          MySQL dispone de campos específicos para el almacenamiento de fechas. Son los
                                          siguientes:
Depurando los procesos
de creación y borrado de                    DATE
bases de datos
                                            Recoge una fecha dentro del intervalo 01-01-1000 a 31-12-9999. MySQL guarda los valores DATE
Cuando intentamos crear una base            con formato AAAA-MM-DD (año-mes-día) . Su tamaño es de 3 bytes.
de datos ya existente o borrar una
inexistente las funciones                   DATETIME
mysql_query nos devuelven
FALSE pero esa respuesta no nos
dice la causa por la que no ha sido         Recoge una combinación de fecha y hora dentro del intervalo 00:00:00 del día 01-01-1000 y
                                            las23:59:59 del día 31-12-9999. MySQL guarda los valores DATETIME con formato AAAA-MM-DD
posible la ejecución de la
                                            HH:MM:SS (año-mes-día hora:minutos:segundos) . Su tamaño es de 8 bytes.
instrucción.

Sería mucho más interesante                 TIME
comprobar la existencia o
inexistencia de una base de
datos antes de ejecutar esas                Recoge una hora dentro del intervalo -838:59:59 a 838:59:59. MySQL guarda los valores TIME con
                                            formato HH:MM:SS (horas:minutos:segundos) . Su tamaño es de 3 bytes.
instrucciones y que después de la
comprobación se nos presentara
un mensaje informativo.                     YEAR 0 YEAR(2) o YEAR(4)
MySQL dispone de una sentencia
para este fin, pero –aunque la            Recoge un año en formato de cuatro cifras (YEAR o YEAR(4)) o en formato de dos cifras (YEAR(2))
                                          dentro del intervalo 1901 a 2155 en el caso de cuatro cifras o de 1970 a 2069 si se trata de dos
vamos ver más adelante–
                                          cifras. Su tamaño es de 1 byte.
olvidémosnos de su existencia e
intentemos crear nuestro propio
script de comprobación.                   TIMESTAMP [(M)]
Combinando las instrucciones
anteriores no resulta difícil hacerlo.    Recoge un tiempo UNIX. El intervalo válido va desde 01-01-1970 00:00:00 a cualquier fecha del año
                                          2037.
Aquí tienes un ejemplo de código
para efectuar esa comprobación al         El parámetro M puede tomar los valores: 14 (valor por defecto), 12, 8, o 6 que se corresponden con
crear una base de datos y este            los formatos AAAAMMDDHHMMSS, AAMMDDHHMMSS, AAAAMMDD, o AAMMDD.
otro código es para el caso de            Si se le asigna la opción NUL guardará la hora actual. Cuando se asigna 8 o 14 como parámetros es
                                          considerado como un número y para las demás opciones como una cadena.
borrado.
                                          Independientemente del valor del parámetro, un campo TIMESTAMP siempre ocupa 4 bytes.
Experimenta con estos scripts,
sustitúyelos por otros propios en
los que utilices las funciones que       Campos tipo cadena de caracteres
hemos incluido –a la derecha
tienes el código fuente– dentro del      CHAR (M) [BINARY]
fichero mysql.inc.php y
comprueba, listando las bases de
datos existentes, que sólo queden:       Es una cadena de tamaño fijo que se completa a la derecha por espacios si es necesario.
mysql y test.
                                         El parámetro M puede valer de 1 a 255 caracteres.

                                         Los espacios finales son suprimidos cuando la cadena es insertada en el registro.
Tipos de campos MySQL
                                         Los valores de tipo CHAR son elegidos y comparados sin tener en cuenta Mayúsculas /
                                         Minúsculas y utilizan el juego de carácteres por defecto.
Conocidos los procesos de
creación, listado y borrado de           Se puede utilizar el operador BINARY para hacer la cadena sensible a Mayúsculas / Minúsculas.
bases de datos ya estamos en
disposición en empezar a tratar lo       Se puede utilizar un campo tipo CHAR(0) con el atributo NULL para almacenar una valor booleano.
relativo a las tablas.                   En este caso ocupará un solo byte y podrá tener únicamente dos valores: NUL ó "".

Es muy necesario conocer los             Su tamaño es de M bytes siendo 1 <= M <= 255 .
diferentes tipos de campos que
pueden contener las tablas de            VARCHAR(M) [BINARY]
MySQL. Aquí a la derecha los
tienes.
                                         Es una cadena de caracteres de longitud variable. Su tamaño máximo -especificado en el
Conocer las posibilidades de cada        parámetro M- puede estar comprendido entre 1 y 255 caracteres. Con la opción BINARY es capaz de
uno será fundamental a la hora de        discriminar entre Mayúsculas / minúsculas.
diseñar una tabla. En ese
momento tendremos que decidir            TINYBLOB o TINYTEXT
qué campos son necesarios, cuál
es tipo requerido, cuáles han de
ser sus dimensiones y también            TINYBLOB y TINYTEXT son cadenas de caracteres de longitud variable con un tamaño máximo
cuáles de ellos requerirán ser           de 255 (28 - 1) caracteres.
tratados como índices.                   La diferencia entre ambas es que TINYBLOB discrimina entre Mayúsculas / minúsculas, mientras
                                         que TINYTEXT no lo hace.
Tipos de campo bien elegidos y un
tamaño adecuado a las                    Ninguno de los campos BLOB y TEXT admite valores por DEFECTO
necesidades reales de nuestro
proyecto son las mejores garantías       Las versiones de MySQL anteriores a 3.23.2 permiten utilizar estos campos para indexar.
para optimizar el tamaño de la
                                         Si se intenta guardar en un campo de este tipo una cadena de mayor longitud que la especificada
tabla y para hacerla realmente           solamente se guardarán los M primeros caracteres de la cadena.
eficaz.

El grado de eficiencia de una base       BLOB o TEXT
de datos suele ser directamente
proporcional al tiempo invertido en
                                         BLOB y TEXT son cadenas de caracteres de longitud variable con un tamaño máximo de 65535
el análisis de la estructura de sus
                                         (216 - 1) caracteres.
tablas.
                                         La diferencia entre ambas es que BLOB si discrimina entre Mayúsculas / minúsculas, mientras que
                                         TEXT no lo hace.
CREACIÓN DE LAS BASES
DE DATOS NECESARIAS                      Ninguno de los campos: BLOB y TEXT admite valores por DEFECTO
PARA EL CURSO
                                         MEDIUMBLOB o MEDIUMTEXT
Una vez hayas hecho todas las
pruebas necesarias con las               MEDIUMBLOB y MEDIUMTEXT son cadenas de caracteres de longitud variable con una longitud
funciones anteriores, llega el           máxima de 16.777.215 (224 - 1) caracteres.
momento de utilizarlas para crear        Son válidas las especificaciones hechas en el apartado anterior.
las bases de datos que vamos a
                                         El tamaño máximo de los campos de este tipo está sujeto a limitaciones externas tales como la
utilizar en el Curso.                    memoria disponible y el tamaño del buffer de comunicación servidor/cliente.
Pulsa en este enlace para que cree
automáticamente la base de datos
que va a contener los sucesivos          LONGBLOB o LONGTEXT
ejemplos que hemos incluido en
estos materiales.                        Su única diferencia con la anterior es el tamaño máximo de la cadena, que en este caso es
                                         4.294.967.295 (232 - 1) caracteres.
       Crear base de datos
            EJEMPLOS
                                         ENUM('valor1','valor2',...)


Una vez hecho esto, escribe tu           Es una cadena de caracteres que contiene uno solo de los valores de la lista (valor1, valor2, etc.
                                         etc.).
propio script y crea una segunda
base de datos como el nombre             A la hora de insertar un nuevo registro en una tabla, el valor a especificar para un campo de este tipo
practicas. Esta será la que habrás       ha de ser una cadena que contenga uno de los valores especificados en la tabla. Si se tratara de
de utilizar en ejercicios que            insertar un valor distinto de ellos insertaría una cadena vacía.
tendrás que ir haciendo en el resto
del curso.
                                         SET('valor1','valor2','valor3'...)

    ¡Cuidado!

   Antes de continuar, es
Es una cadena de caracteres formados por la unión de ninguno, uno o varios de los valores de una
conveniente comprobar         lista. El máximo de elementos es 64.
desde Windows que el
directorio c:mysqldata      Los valores que deben escribirse en los campos de este tipo han de ser numéricos, expresados en
                              forma binaria o en forma decimal.
contiene las bases de datos
ejemplos y practicas          En el supuesto de que contuviera tres valores los posibles valores a insertar en un campo de este
                              tipo a la hora de añadir un registro serían los siguientes.

                                                      Incluir valores Código valor Cadena Equiv.
                                                      val1 val2 val3 val1 val2 val3 binaria decimal
                                                       Si    Sí    Sí    1     1       1       111     7
                                                       Si    Sí   No     1     1       0       011     3
                                                       Si   No     Sí    1     0       1       101     5
                                                       No    Sí    Sí    0     1       1       110     6
                                                       No   No     Sí    0     0       1       100     4
                                                       No    Sí   NO     0     1       0       010     2
                                                       Si   No    No     1     0       0       001     1
                                                       No   No    No     0     0       0       000     0



                                                                   Anterior   Indice       Siguiente

More Related Content

What's hot

What's hot (18)

Guía práctica desarrollo web con php 5 y my sql
Guía práctica desarrollo web con php 5 y my sqlGuía práctica desarrollo web con php 5 y my sql
Guía práctica desarrollo web con php 5 y my sql
 
Quasi - Comandos básicos para UNIX
Quasi - Comandos básicos para UNIXQuasi - Comandos básicos para UNIX
Quasi - Comandos básicos para UNIX
 
26 Php. Array Escalar Y Asociativo
26 Php. Array Escalar Y Asociativo26 Php. Array Escalar Y Asociativo
26 Php. Array Escalar Y Asociativo
 
86 Php. Modificar Registros
86 Php. Modificar Registros86 Php. Modificar Registros
86 Php. Modificar Registros
 
Resumen sql-oracle
Resumen sql-oracleResumen sql-oracle
Resumen sql-oracle
 
Mejoras en T-SQL para SQL Server 2005
Mejoras en T-SQL para SQL Server 2005Mejoras en T-SQL para SQL Server 2005
Mejoras en T-SQL para SQL Server 2005
 
Tema statement
Tema statementTema statement
Tema statement
 
Php
PhpPhp
Php
 
How to Think Like a Computer Scientist
How to Think Like a Computer ScientistHow to Think Like a Computer Scientist
How to Think Like a Computer Scientist
 
Tarea
TareaTarea
Tarea
 
Leccion3
Leccion3Leccion3
Leccion3
 
05 - Funciones en lenguaje C
05 - Funciones en lenguaje C05 - Funciones en lenguaje C
05 - Funciones en lenguaje C
 
php y mysql
php y mysqlphp y mysql
php y mysql
 
Lumisaca hector bdii_t7
Lumisaca hector bdii_t7Lumisaca hector bdii_t7
Lumisaca hector bdii_t7
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Tutorial basico de vbscript by novlucker parte5
Tutorial basico de vbscript by novlucker parte5Tutorial basico de vbscript by novlucker parte5
Tutorial basico de vbscript by novlucker parte5
 
Estructuras de repetición en programacion
Estructuras de repetición en programacionEstructuras de repetición en programacion
Estructuras de repetición en programacion
 
Statement
StatementStatement
Statement
 

Viewers also liked

Repaso prueba argumentacción
Repaso prueba argumentacciónRepaso prueba argumentacción
Repaso prueba argumentaccióncalulara
 
Herramientas de la Web 2.0 como alternativas para el trabajo colaborativo.
Herramientas de la Web 2.0 como alternativas para el trabajo colaborativo.Herramientas de la Web 2.0 como alternativas para el trabajo colaborativo.
Herramientas de la Web 2.0 como alternativas para el trabajo colaborativo.CIRIA UDLAP
 
ContráTanos
ContráTanosContráTanos
ContráTanossan_xp
 
Echange Vic-Riom 2008.
Echange Vic-Riom 2008.Echange Vic-Riom 2008.
Echange Vic-Riom 2008.Ainoaim
 
Serveis Biblioteca Pública de Banyoles
Serveis Biblioteca Pública de BanyolesServeis Biblioteca Pública de Banyoles
Serveis Biblioteca Pública de BanyolesMartí Alarcón
 
Mar del plata_presentacion
Mar del plata_presentacionMar del plata_presentacion
Mar del plata_presentaciongaby
 
Encuentro del Papa Francisco con los jóvenes (Manila, 18 de enero de 2015)
Encuentro del Papa Francisco con los jóvenes (Manila, 18 de enero de 2015)Encuentro del Papa Francisco con los jóvenes (Manila, 18 de enero de 2015)
Encuentro del Papa Francisco con los jóvenes (Manila, 18 de enero de 2015)Opus Dei
 
Autoridad deportiva
Autoridad deportivaAutoridad deportiva
Autoridad deportivaALINA
 
Xabec, inserción social
Xabec, inserción socialXabec, inserción social
Xabec, inserción socialOpus Dei
 
Convocatoria carreras por montaña 2011
Convocatoria carreras por montaña 2011Convocatoria carreras por montaña 2011
Convocatoria carreras por montaña 2011satorramail
 
Usos i funcions dels casos.
Usos i funcions dels casos.Usos i funcions dels casos.
Usos i funcions dels casos.Ainoaim
 
El CapitáN Alatriste
El CapitáN AlatristeEl CapitáN Alatriste
El CapitáN AlatristeBruno Díaz
 
Trabajo de desarrollo de funciones
Trabajo de desarrollo de funcionesTrabajo de desarrollo de funciones
Trabajo de desarrollo de funcionesEdison Tamayo
 

Viewers also liked (20)

Juan
JuanJuan
Juan
 
Repaso prueba argumentacción
Repaso prueba argumentacciónRepaso prueba argumentacción
Repaso prueba argumentacción
 
Herramientas de la Web 2.0 como alternativas para el trabajo colaborativo.
Herramientas de la Web 2.0 como alternativas para el trabajo colaborativo.Herramientas de la Web 2.0 como alternativas para el trabajo colaborativo.
Herramientas de la Web 2.0 como alternativas para el trabajo colaborativo.
 
ContráTanos
ContráTanosContráTanos
ContráTanos
 
Gonzalo
GonzaloGonzalo
Gonzalo
 
Echange Vic-Riom 2008.
Echange Vic-Riom 2008.Echange Vic-Riom 2008.
Echange Vic-Riom 2008.
 
Serveis Biblioteca Pública de Banyoles
Serveis Biblioteca Pública de BanyolesServeis Biblioteca Pública de Banyoles
Serveis Biblioteca Pública de Banyoles
 
Mar del plata_presentacion
Mar del plata_presentacionMar del plata_presentacion
Mar del plata_presentacion
 
MAC
MACMAC
MAC
 
Encuentro del Papa Francisco con los jóvenes (Manila, 18 de enero de 2015)
Encuentro del Papa Francisco con los jóvenes (Manila, 18 de enero de 2015)Encuentro del Papa Francisco con los jóvenes (Manila, 18 de enero de 2015)
Encuentro del Papa Francisco con los jóvenes (Manila, 18 de enero de 2015)
 
Autoridad deportiva
Autoridad deportivaAutoridad deportiva
Autoridad deportiva
 
Xabec, inserción social
Xabec, inserción socialXabec, inserción social
Xabec, inserción social
 
Convocatoria carreras por montaña 2011
Convocatoria carreras por montaña 2011Convocatoria carreras por montaña 2011
Convocatoria carreras por montaña 2011
 
Usos i funcions dels casos.
Usos i funcions dels casos.Usos i funcions dels casos.
Usos i funcions dels casos.
 
El CapitáN Alatriste
El CapitáN AlatristeEl CapitáN Alatriste
El CapitáN Alatriste
 
Pei[1]
Pei[1]Pei[1]
Pei[1]
 
PASO 4 de los Ocho pasos para el desarrollo de una investigación
PASO 4 de los Ocho pasos para el desarrollo de una investigación PASO 4 de los Ocho pasos para el desarrollo de una investigación
PASO 4 de los Ocho pasos para el desarrollo de una investigación
 
Ley 3455
Ley 3455Ley 3455
Ley 3455
 
La Moda
La ModaLa Moda
La Moda
 
Trabajo de desarrollo de funciones
Trabajo de desarrollo de funcionesTrabajo de desarrollo de funciones
Trabajo de desarrollo de funciones
 

Similar to ConectarBD-AutomatizarConexiónDB

81 Php. Creacion De Tablas
81 Php. Creacion De Tablas81 Php. Creacion De Tablas
81 Php. Creacion De TablasJosé M. Padilla
 
Manual script usuarios masivos
Manual script usuarios masivosManual script usuarios masivos
Manual script usuarios masivosYimy Pérez Medina
 
13 PHP. Un Ejemplo Con Constantes
13 PHP. Un Ejemplo Con Constantes13 PHP. Un Ejemplo Con Constantes
13 PHP. Un Ejemplo Con ConstantesJosé M. Padilla
 
Configuración Script Usuarios Masivos Windows Server 2012 R2
Configuración Script Usuarios Masivos Windows Server 2012 R2Configuración Script Usuarios Masivos Windows Server 2012 R2
Configuración Script Usuarios Masivos Windows Server 2012 R2cyberleon95
 
19 Php. Utilizando Formularios
19 Php. Utilizando Formularios19 Php. Utilizando Formularios
19 Php. Utilizando FormulariosJosé M. Padilla
 
Conexion Entre Php Y Mysqul
Conexion Entre Php Y MysqulConexion Entre Php Y Mysqul
Conexion Entre Php Y Mysquljuan_j_condolo
 
25 Php. Operaciones Con Cadenas
25 Php. Operaciones Con Cadenas25 Php. Operaciones Con Cadenas
25 Php. Operaciones Con CadenasJosé M. Padilla
 
77 Php. Celdas Multiples, Encabezados Y Pies De Pagina
77 Php. Celdas Multiples, Encabezados Y Pies De Pagina77 Php. Celdas Multiples, Encabezados Y Pies De Pagina
77 Php. Celdas Multiples, Encabezados Y Pies De PaginaJosé M. Padilla
 
Programacion MatLab
Programacion MatLabProgramacion MatLab
Programacion MatLabEdgar Galvez
 
Taller programación web ajax con jquery
Taller programación web  ajax con jqueryTaller programación web  ajax con jquery
Taller programación web ajax con jqueryPablo Galeana Bailey
 
Javascript Módulo 5 - javascript sentencia, expresión, variable, función - Un...
Javascript Módulo 5 - javascript sentencia, expresión, variable, función - Un...Javascript Módulo 5 - javascript sentencia, expresión, variable, función - Un...
Javascript Módulo 5 - javascript sentencia, expresión, variable, función - Un...David Zapateria Besteiro
 
Resumen Java Script
Resumen Java ScriptResumen Java Script
Resumen Java Scriptjlgomezri
 
Conociendo los Lenguajes de Programacion
Conociendo los Lenguajes de ProgramacionConociendo los Lenguajes de Programacion
Conociendo los Lenguajes de Programacionsandra gutierrez
 

Similar to ConectarBD-AutomatizarConexiónDB (20)

81 Php. Creacion De Tablas
81 Php. Creacion De Tablas81 Php. Creacion De Tablas
81 Php. Creacion De Tablas
 
Codigo
CodigoCodigo
Codigo
 
Manual script usuarios masivos
Manual script usuarios masivosManual script usuarios masivos
Manual script usuarios masivos
 
13 PHP. Un Ejemplo Con Constantes
13 PHP. Un Ejemplo Con Constantes13 PHP. Un Ejemplo Con Constantes
13 PHP. Un Ejemplo Con Constantes
 
Configuración Script Usuarios Masivos Windows Server 2012 R2
Configuración Script Usuarios Masivos Windows Server 2012 R2Configuración Script Usuarios Masivos Windows Server 2012 R2
Configuración Script Usuarios Masivos Windows Server 2012 R2
 
19 Php. Utilizando Formularios
19 Php. Utilizando Formularios19 Php. Utilizando Formularios
19 Php. Utilizando Formularios
 
Conexion Entre Php Y Mysqul
Conexion Entre Php Y MysqulConexion Entre Php Y Mysqul
Conexion Entre Php Y Mysqul
 
Constantes y variables enitmar
Constantes y variables enitmarConstantes y variables enitmar
Constantes y variables enitmar
 
39 Php. Bucles While
39 Php. Bucles While39 Php. Bucles While
39 Php. Bucles While
 
25 Php. Operaciones Con Cadenas
25 Php. Operaciones Con Cadenas25 Php. Operaciones Con Cadenas
25 Php. Operaciones Con Cadenas
 
77 Php. Celdas Multiples, Encabezados Y Pies De Pagina
77 Php. Celdas Multiples, Encabezados Y Pies De Pagina77 Php. Celdas Multiples, Encabezados Y Pies De Pagina
77 Php. Celdas Multiples, Encabezados Y Pies De Pagina
 
Tutorial C++
Tutorial C++Tutorial C++
Tutorial C++
 
Programacion MatLab
Programacion MatLabProgramacion MatLab
Programacion MatLab
 
Taller programación web ajax con jquery
Taller programación web  ajax con jqueryTaller programación web  ajax con jquery
Taller programación web ajax con jquery
 
Javascript Módulo 5 - javascript sentencia, expresión, variable, función - Un...
Javascript Módulo 5 - javascript sentencia, expresión, variable, función - Un...Javascript Módulo 5 - javascript sentencia, expresión, variable, función - Un...
Javascript Módulo 5 - javascript sentencia, expresión, variable, función - Un...
 
Resumen Java Script
Resumen Java ScriptResumen Java Script
Resumen Java Script
 
Manual.es
Manual.esManual.es
Manual.es
 
Clase 7
Clase 7Clase 7
Clase 7
 
Conociendo los Lenguajes de Programacion
Conociendo los Lenguajes de ProgramacionConociendo los Lenguajes de Programacion
Conociendo los Lenguajes de Programacion
 
PROGRAMACIÓN DE CÓDIGOS CON PHP
PROGRAMACIÓN DE CÓDIGOS CON PHPPROGRAMACIÓN DE CÓDIGOS CON PHP
PROGRAMACIÓN DE CÓDIGOS CON PHP
 

More from José M. Padilla

Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERTInforme Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERTJosé M. Padilla
 
Manual multimedia y web 2.0
Manual multimedia y web 2.0Manual multimedia y web 2.0
Manual multimedia y web 2.0José M. Padilla
 
Guia optimizacion motores_busqueda
Guia optimizacion motores_busquedaGuia optimizacion motores_busqueda
Guia optimizacion motores_busquedaJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004José M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody AssistantModulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody AssistantJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke PlayerModulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke PlayerJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower AmpModulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower AmpJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track StudioModulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track StudioJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityModulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerModulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexModulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoModulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoModulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioModulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiModulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionModulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionModulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionJosé M. Padilla
 
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.José M. Padilla
 
00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.José M. Padilla
 
00 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 2000 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 20José M. Padilla
 

More from José M. Padilla (20)

Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERTInforme Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
 
Manual multimedia y web 2.0
Manual multimedia y web 2.0Manual multimedia y web 2.0
Manual multimedia y web 2.0
 
Guia optimizacion motores_busqueda
Guia optimizacion motores_busquedaGuia optimizacion motores_busqueda
Guia optimizacion motores_busqueda
 
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
 
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody AssistantModulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
 
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke PlayerModulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
 
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower AmpModulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
 
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track StudioModulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
 
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityModulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
 
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerModulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
 
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexModulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
 
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoModulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
 
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoModulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
 
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioModulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
 
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiModulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
 
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionModulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
 
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionModulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
 
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
 
00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.
 
00 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 2000 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 20
 

Recently uploaded

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 

Recently uploaded (13)

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 

ConectarBD-AutomatizarConexiónDB

  • 1. Campos y conexiones Conexión con el servidor Automatizar la conexión de bases de datos Con nuestros conocimientos sobre PHP ya estamos en condiciones de hacer más cómoda la conexión. Creemos una función que realice de forma automática la conexión Antes de empezar a trabajar con con MySQL y guardémosla en nuestro fichero mysql.inc.php bases de datos es imprescindible que ambos servidores –Apache y MySQL– estén activos. <? # estas son las variables anteriores Como paso inmediato hemos de $mysql_server="localhost"; interconexionar ambos $mysql_login="pepe"; servidores de forma que sea $mysql_pass="pepa"; posible tranferir información de uno a otro. # creemos una nueva variable $c sin asignarle ningún valor Para ello es necesario utilizar # para que pueda recoger el identificador de conexión siempre una función PHP con la # una vez que se haya establecido esta siguiente sintaxis: $c; $c=mysql_connect(h, u, p) # escribamos la función que hace la conexión # como pretendemos que el valor del identificador donde $c es la variable que recoge # sea usado fuera de la función, para recuperar su valor el identificador del enlace, h es # pasaremos ese valor por referencia anteponiendo & al la dirección del servidor de bases de datos, ("localhost") , u es el # nombre de la variable nombre de uno de los usuarios function conecta1(&$c){ registrados en la tabla user # para usar las variables anteriores en la funcion ("pepe" o "root") y p la # hemos de definirlas como globales contraseña (en nuestro caso global $mysql_server, $mysql_login, $mysql_pass; "pepa" ó "") . if($c=mysql_connect($mysql_server,$mysql_login,$mysql_pass)){ print "<br>Conexión establecida<br>"; Estos tres valores –cadenas de }else{ texto– deben ir escritos entre print "<br>No ha podido realizarse la conexión<br>"; comillas. # el exit lo incluimos para que deje de ejecutarse Para cerrar la conexión, tenemos # el script si no se establece la conexión que insertar: exit(); } $c=mysql_close ($c) } donde $c es el nombre de la variable en la que se recogió el # esta función asignará a $c el valor del identificador indentificador del enlace en el momento de la apertura. # repetimos la misma función con otro nombre # ahora quitaremos el mensaje de conexión establecida Aquí tienes el código de un script # consideraremos que si no hay mensaje se ha establecido que realiza la apertura de una # asi quedará limpia nuestra página conexión y después la cierra. function conecta2(&$c){ Y aquí puedes comprobar el global $mysql_server, $mysql_login, $mysql_pass; funcionamiento del script anterior. if($c=mysql_connect($mysql_server,$mysql_login,$mysql_pass)){ Si realizáramos una segunda }else{ conexión (con los mismos print "<br>No ha podido realizarse la conexión<br>"; argumentos) sin haber cerrado la exit(); anterior no se efectuará un } nuevo enlace sino que nos } devolverá el ya abierto. ?> Sintaxis alternativa Si sustituyes el contenido de tu mysql.inc.php por el que tienes aquí arriba –puedes Otra forma de efectuar la conexión eliminar la líneas de comentario al hacerlo– estaremos en disposición de ejecutar scripts es utilizar los valores registrados como este. en el fichero mysql.inc.php –lo hemos creado en la página En este ejemplo utilizaremos la primera función: anterior– y eso requiere que insertemos un include("c:..."), Ver código fuente Ejecutar ejemplo indicando la ruta completa de seguridad y el nombre del fichero en el que hemos guardado las y ahora haremos uso de la segunda claves y que era mysql.inc.php. Ver código fuente Ejecutar ejemplo En este supuesto como valores de los parámetros h, u y p pondremos los nombres de las variables: Tipos de campos en MySQL $mysql_server $mysql_login y MySQL tiene habilitados diversos tipos de campos que en una primera aproximación $mysql_pass podrían clasificarse en tres grupos: sin encerrarlas entre comillas. Aquí tienes el código de un script s Campos numéricos que realiza la apertura de una s Campos de fecha conexión y después la cierra. s Campos de cadenas de caracteres Desde este enlace puedes comprobar su funcionamiento. Campos numéricos La instrucción OR DIE MySQL soporta los tipos numéricos exactos(INTEGER, NUMERIC, DECIMAL, y SMALLINT) y los tipos numéricos aproximados (FLOAT, DOUBLE precision y REAL). Es esta una buena ocasión para hablar de una instrucción PHP que Los campos que contienen números enteros admiten el parámetro UNSIGNED, que no hemos mencionado hasta el momento. implica que no admita signos, por lo que solo aceptaría enteros positivos.
  • 2. Todos los campos numéricos admiten el parámetro ZEROFILL cuya función es Es una opción alternativa a exit() completar el campo con ceros a la izquierda hasta su longitud máxima. que, como acabamos de ver en un ejemplo, interrumpe la ejecución de un script en el momento de ser Tipos de campos numéricos enteros ejecutada. Estos son los distintos tipos de campos numéricos enteros que admite MySQL. Los Cuando se produce un error en la ejecución de un script –no poder parámetros señalados entre corchetes son opcionales. establecer conexión con MySQL, por ejemplo– no tiene sentido TINYINT [(M)] [UNSIGNED] [ZEROFILL] seguir ejecutándolo. Lo razonable será interrumpir el proceso y Número entero muy pequeño. Con la opción UNSIGNED puede tomar valores entre 0 y 255. En caso advertir del error. contrario, puede estar comprendido entre -128 y 127. Si añadimos a la instrucción El parámetro ZEROFILL sólo tiene sentido junto con la opción UNSIGNED ya que no es habitual $c=mysql_conect('h','u','p') (sin rellenar los números negativos con ceros a la izquierda del signo. paréntesis, ni comas, ni punto y El valor por defecto de parámetro M (número de cifras) es 4 si no está activada la opción UNSIGNED. coma, sólo separado por un Si esta opción estuviera activada el valor por defecto sería M=3. Para valores de M >valor por espacio): defecto reajusta el tamaño al valor por defecto. or die ('mensaje') Si se asigna a M un valor menor que cuatro limita el número de caracteres al tamaño especificado considerando el signo sólo en los números negativos. y ponemos el punto y coma de fin de instrucción después de cerrar Por ejemplo, si M=3 admitiría 148, pero si intentamos insertar -148 recortaría por la izquierda y solo este último paréntesis, en el caso insertaría -14. de que se produzca un error se Si intentamos insertar un valor fuera de rango registraría el valor dentro del rango más próximo interrumpirá la ejecución del script a él. y apare- cerá en la ventana del P. ej.: Si tratamos de insertar el valor 437 escribiría 127 ó 255, este último en el caso de tener la navegador el texto incluido en opción UNSIGNED. mensaje. Si pretendiéramos insertar -837 con la opción UNSIGNED escribiría 0 y sin ella pondría -128. Este es el código fuente de un El tamaño de un campo TINYINT es de 1 byte. script que produce un error –la contraseña es incorrecta– y que SMALLINT [(M)] [UNSIGNED] [ZEROFILL] utiliza esta nueva sintaxis. Pero si lo ejecutas verás que aparece un mensaje de error generado por Número entero pequeño. Con la opción UNSIGNED puede tomar valores entre 0 y 65 535. En caso PHP. contrario, puede estar comprendido entre -32 768 y 32 767. Son válidos los comentarios hechos para TINYINT, excepto los relativos a los valores por defecto de Este tipo de mensajes pueden M que en este caso serían 6 ó 5. Su tamaño es de 2 bytes. deshabilitarse haciendo una modificación en php.ini. Pero hay una técnica mucho más fácil. MEDIUMINT [(M)] [UNSIGNED] [ZEROFILL] Bastará con insertar delante de la función una arroba (@) para evitar Número entero mediano. Con la opción UNSIGNED puede tomar valores entre 0 y 16 777 215. En que aparezcan. En este otro script caso contrario, puede estar comprendido entre -8 388 608 y 8 388 607. lo hemos incorporado y puedes comprobarlo aqui. También son válidos los comentarios hechos para TINYINT, excepto los relativos al valor por defecto de M que en este caso serían 8. Su tamaño es de 3 bytes. Lista de bases de datos INT [(M)] [UNSIGNED] [ZEROFILL] existentes Número entero. Con la opción UNSIGNED puede tomar valores entre 0 y 4 294 967 295. En caso Antes de crear y/o borrar una contrario, puede estar comprendido entre -2 147 483 648 y 2 147 483 647. base de datos puede ser conveniente y útil comprobar si ya Son válidos todos los comentarios de los casos anteriores. Su tamaño es de 4 bytes. existe. PHP dispone de herramientas para INTEGER [(M)] [UNSIGNED] [ZEROFILL] conocer el número de bases de datos existentes en el servidor, así Es un sinónimo de INT como sus nombres. Todas ellas requieren que se haya establecido una conexión con el servidor. BIGINT [(M)] [UNSIGNED] [ZEROFILL] $p=mysql_list_dbs($c) Número entero grande. Con la opción UNSIGNED puede tomar valores entre 0 y 18 446 744 073 709 551 615. En caso contrario, puede estar comprendido entre -9 223 372 036 854 775 808 y La variable $p es un nuevo 21 474 839 223 372 036 854 775 807 647, pero al usarlo desde PHP estará sujeto a las identificador imprescindible y limitaciones máximas de los valores numéricos de este. previo a la determinación del número y los nombres de las Son válidos todos los comentarios de los casos anteriores. Su tamaño es de 8 bytes. bases de datos existentes en el enlace abierto (identificado por $c). Números de coma flotante $n=mysql_num_rows($p) Esta función devuelve el número Por la estructura binaria de los microprocesadores y habida cuenta de que algunos de bases de datos existentes en el números no enteros -sin ir más lejos, el 0.1- requerirían infinitos caracteres binarios servidor. para su representación exacta, se hace necesario introducir un redondeo en su tratamiento informático y como consecuencia de ello asumir que se generan errores de Utiliza como parámetro ($p) el medida. resultado obtenido mediante la función anterior. Esta circunstancia obligó al tratamiento de los números decimales mediante el llamado Ese número puede recogerse en Standar de Aritmética de Punto Flotante, un algoritmo definido por la IEEE (Institute una variable (en este caso $n). of Electrical and Electronics Engineers) que unificó los procesos de representación de números en ordenadores con lo que son uniformemente controlables los errores mysql_db_name($p, i) introducidos. Esta nueva función devuelve el El Standar de Aritmética de Punto Flotante estableció dos niveles de precisión: nombre de una de las bases de datos, identificada por un número i que debe pertenecer al intervalo s Precisión Simple, en la que todo número debe ser almacenado en 32 bits [0,$n). (4 bytes) s Doble precisión, en la que los números se almacenan en 64 bits (8 bytes). Fíjate que i tiene que ser i<$n porque si, por ejemplo, $n=5 los cinco valores posibles de i serían: MySQL admite los siguientes tipos de números de coma flotante: 0,1,2,3 y 4. Una lista completa de todas las
  • 3. bases de datos existentes en el FLOAT(x) [ZEROFILL] servidor podría hacerse mediante el siguiente proceso: Número de coma flotante. Ignora la opción UNSIGNED, pero sí acepta ZEROFILL, por lo que debe prestarse atención a estas opciones ya que no sería demasiado habitual una presentación como esta: • Abrir la conexión. 000-3.47 • Invocar a mysql_list_dbs. • Contar el número de bases de El valor de x especifica la precisión. Si x<=24 será de precisión simple. cuando 24 <x <=53 lo convertirá automáticamente a doble precisión. datos con mysql_num_rows • Insertar un bucle: Cuando no se especifica el valor de x considera el campo como de precisión simple. Su tamaño es for ($i=0;$i<$num,$i++) de 4 bytes si x<=24 y de 8 bytes cuando 24 <x <=53 • Presentar la lista de nombres mediante un bucle que lea los diferentes valores de $i en: FLOAT [(M,D)] [ZEROFILL] mysql_db_name($p,$i) Número de coma flotante de precisión simple. Son válidos los comentarios relativos a las opciones Aquí tienes el código fuente de un UNSIGNED y ZEROFILL del caso anterior. ejemplo completo y desde aquí puedes ejecutarlo Toma valores en los intervalos siguientes: -3.402823466E+38 a -1.175494351E-38 Crear una base de datos s s 0y s 1.175494351E-38 a 3.402823466E+38. La creación de una base de datos también requiere una conexión M es la anchura máxima de visualización y D es el número de decimales. Si M > 24 se convierte previa y utiliza la siguiente sintaxis: automaticamente a doble precisión FLOAT sin argumentos representa un número de coma flotante y precisión simple. mysql_query ("CREATE DATABASE nom") donde nom es el nombre de la nueva base de datos. DOUBLE [(M,D)] [ZEROFILL] Esta función devuelve TRUE si la Número de coma flotante de doble precisión. Siguen siendo válidos los comentarios relativos a las base de datos es creada, y FALSE opciones UNSIGNED y ZEROFILL del caso anterior. si no es posible hacerlo. Toma valores en los intervalos siguientes: Si intentamos crear una base de datos con un nombre ya s -1.7976931348623157E+308 a -2.2250738585072014E-308 existente la función nos devolverá s 0y FALSE. s 2.2250738585072014E-308 a 1.7976931348623157E+308 Aquí tienes el código de un M es la anchura máxima de visualización y D es el número de decimales. ejemplo de creación de una base de datos. Si lo ejecutas dos veces DOUBLE sin argumentos representa un número de coma flotante y precisión doble. podrás comprobar que en la segunda oportunidad te aparece el mensaje diciendo que no ha sido posible crearla. REAL [(M,D)] [ZEROFILL] Borrar una base de datos Es sinónimo de DOUBLE. Para borrar una base de datos se DECIMAL [(M[,D])] [ZEROFILL] requiere el uso de la siguiente función PHP: Es un número de coma flotante y doble precisión que se almacena como un campo de tipo CHAR. mysql_query ("DROP DATABASE nom") El valor es guardado como una cadena donde cada carácter representa una cifra. La coma y el signo menos de los números negativos no son tenidos en cuenta en el valor de M -anchura máxima de donde nom es el nombre de la visualización- aunque si se reserva -automáticamente- espacio para ellos en campo. Si D vale 0 no tendrá parte decimal. Los números toman valores en el mismo intervalo especificado base de datos y debiendo ponerse para DOUBLE. toda la cadena del paréntesis entre comillas. Los valores por defecto de M y D son respectivamente 10 y 0. Ocupan M+2 bytes si D > 0; M+1 bytes si D = 0 ó D+2 bytes si M < D Esta función devuelve TRUE cuando se ejecuta con éxito, y FALSE en el caso contrario. NUMERIC(M,D) [ZEROFILL] Este es el código de un script que Se comporta de forma idéntica a DECIMAL puede borrar la base creada anteriormente. Igual que ocurría al tratar de crearla, si intentamos borrar una base de datos inexistente la Campos de fecha función mysql_drop_db nos devolverá FALSE. MySQL dispone de campos específicos para el almacenamiento de fechas. Son los siguientes: Depurando los procesos de creación y borrado de DATE bases de datos Recoge una fecha dentro del intervalo 01-01-1000 a 31-12-9999. MySQL guarda los valores DATE Cuando intentamos crear una base con formato AAAA-MM-DD (año-mes-día) . Su tamaño es de 3 bytes. de datos ya existente o borrar una inexistente las funciones DATETIME mysql_query nos devuelven FALSE pero esa respuesta no nos dice la causa por la que no ha sido Recoge una combinación de fecha y hora dentro del intervalo 00:00:00 del día 01-01-1000 y las23:59:59 del día 31-12-9999. MySQL guarda los valores DATETIME con formato AAAA-MM-DD posible la ejecución de la HH:MM:SS (año-mes-día hora:minutos:segundos) . Su tamaño es de 8 bytes. instrucción. Sería mucho más interesante TIME comprobar la existencia o inexistencia de una base de datos antes de ejecutar esas Recoge una hora dentro del intervalo -838:59:59 a 838:59:59. MySQL guarda los valores TIME con formato HH:MM:SS (horas:minutos:segundos) . Su tamaño es de 3 bytes. instrucciones y que después de la comprobación se nos presentara un mensaje informativo. YEAR 0 YEAR(2) o YEAR(4)
  • 4. MySQL dispone de una sentencia para este fin, pero –aunque la Recoge un año en formato de cuatro cifras (YEAR o YEAR(4)) o en formato de dos cifras (YEAR(2)) dentro del intervalo 1901 a 2155 en el caso de cuatro cifras o de 1970 a 2069 si se trata de dos vamos ver más adelante– cifras. Su tamaño es de 1 byte. olvidémosnos de su existencia e intentemos crear nuestro propio script de comprobación. TIMESTAMP [(M)] Combinando las instrucciones anteriores no resulta difícil hacerlo. Recoge un tiempo UNIX. El intervalo válido va desde 01-01-1970 00:00:00 a cualquier fecha del año 2037. Aquí tienes un ejemplo de código para efectuar esa comprobación al El parámetro M puede tomar los valores: 14 (valor por defecto), 12, 8, o 6 que se corresponden con crear una base de datos y este los formatos AAAAMMDDHHMMSS, AAMMDDHHMMSS, AAAAMMDD, o AAMMDD. otro código es para el caso de Si se le asigna la opción NUL guardará la hora actual. Cuando se asigna 8 o 14 como parámetros es considerado como un número y para las demás opciones como una cadena. borrado. Independientemente del valor del parámetro, un campo TIMESTAMP siempre ocupa 4 bytes. Experimenta con estos scripts, sustitúyelos por otros propios en los que utilices las funciones que Campos tipo cadena de caracteres hemos incluido –a la derecha tienes el código fuente– dentro del CHAR (M) [BINARY] fichero mysql.inc.php y comprueba, listando las bases de datos existentes, que sólo queden: Es una cadena de tamaño fijo que se completa a la derecha por espacios si es necesario. mysql y test. El parámetro M puede valer de 1 a 255 caracteres. Los espacios finales son suprimidos cuando la cadena es insertada en el registro. Tipos de campos MySQL Los valores de tipo CHAR son elegidos y comparados sin tener en cuenta Mayúsculas / Minúsculas y utilizan el juego de carácteres por defecto. Conocidos los procesos de creación, listado y borrado de Se puede utilizar el operador BINARY para hacer la cadena sensible a Mayúsculas / Minúsculas. bases de datos ya estamos en disposición en empezar a tratar lo Se puede utilizar un campo tipo CHAR(0) con el atributo NULL para almacenar una valor booleano. relativo a las tablas. En este caso ocupará un solo byte y podrá tener únicamente dos valores: NUL ó "". Es muy necesario conocer los Su tamaño es de M bytes siendo 1 <= M <= 255 . diferentes tipos de campos que pueden contener las tablas de VARCHAR(M) [BINARY] MySQL. Aquí a la derecha los tienes. Es una cadena de caracteres de longitud variable. Su tamaño máximo -especificado en el Conocer las posibilidades de cada parámetro M- puede estar comprendido entre 1 y 255 caracteres. Con la opción BINARY es capaz de uno será fundamental a la hora de discriminar entre Mayúsculas / minúsculas. diseñar una tabla. En ese momento tendremos que decidir TINYBLOB o TINYTEXT qué campos son necesarios, cuál es tipo requerido, cuáles han de ser sus dimensiones y también TINYBLOB y TINYTEXT son cadenas de caracteres de longitud variable con un tamaño máximo cuáles de ellos requerirán ser de 255 (28 - 1) caracteres. tratados como índices. La diferencia entre ambas es que TINYBLOB discrimina entre Mayúsculas / minúsculas, mientras que TINYTEXT no lo hace. Tipos de campo bien elegidos y un tamaño adecuado a las Ninguno de los campos BLOB y TEXT admite valores por DEFECTO necesidades reales de nuestro proyecto son las mejores garantías Las versiones de MySQL anteriores a 3.23.2 permiten utilizar estos campos para indexar. para optimizar el tamaño de la Si se intenta guardar en un campo de este tipo una cadena de mayor longitud que la especificada tabla y para hacerla realmente solamente se guardarán los M primeros caracteres de la cadena. eficaz. El grado de eficiencia de una base BLOB o TEXT de datos suele ser directamente proporcional al tiempo invertido en BLOB y TEXT son cadenas de caracteres de longitud variable con un tamaño máximo de 65535 el análisis de la estructura de sus (216 - 1) caracteres. tablas. La diferencia entre ambas es que BLOB si discrimina entre Mayúsculas / minúsculas, mientras que TEXT no lo hace. CREACIÓN DE LAS BASES DE DATOS NECESARIAS Ninguno de los campos: BLOB y TEXT admite valores por DEFECTO PARA EL CURSO MEDIUMBLOB o MEDIUMTEXT Una vez hayas hecho todas las pruebas necesarias con las MEDIUMBLOB y MEDIUMTEXT son cadenas de caracteres de longitud variable con una longitud funciones anteriores, llega el máxima de 16.777.215 (224 - 1) caracteres. momento de utilizarlas para crear Son válidas las especificaciones hechas en el apartado anterior. las bases de datos que vamos a El tamaño máximo de los campos de este tipo está sujeto a limitaciones externas tales como la utilizar en el Curso. memoria disponible y el tamaño del buffer de comunicación servidor/cliente. Pulsa en este enlace para que cree automáticamente la base de datos que va a contener los sucesivos LONGBLOB o LONGTEXT ejemplos que hemos incluido en estos materiales. Su única diferencia con la anterior es el tamaño máximo de la cadena, que en este caso es 4.294.967.295 (232 - 1) caracteres. Crear base de datos EJEMPLOS ENUM('valor1','valor2',...) Una vez hecho esto, escribe tu Es una cadena de caracteres que contiene uno solo de los valores de la lista (valor1, valor2, etc. etc.). propio script y crea una segunda base de datos como el nombre A la hora de insertar un nuevo registro en una tabla, el valor a especificar para un campo de este tipo practicas. Esta será la que habrás ha de ser una cadena que contenga uno de los valores especificados en la tabla. Si se tratara de de utilizar en ejercicios que insertar un valor distinto de ellos insertaría una cadena vacía. tendrás que ir haciendo en el resto del curso. SET('valor1','valor2','valor3'...) ¡Cuidado! Antes de continuar, es
  • 5. Es una cadena de caracteres formados por la unión de ninguno, uno o varios de los valores de una conveniente comprobar lista. El máximo de elementos es 64. desde Windows que el directorio c:mysqldata Los valores que deben escribirse en los campos de este tipo han de ser numéricos, expresados en forma binaria o en forma decimal. contiene las bases de datos ejemplos y practicas En el supuesto de que contuviera tres valores los posibles valores a insertar en un campo de este tipo a la hora de añadir un registro serían los siguientes. Incluir valores Código valor Cadena Equiv. val1 val2 val3 val1 val2 val3 binaria decimal Si Sí Sí 1 1 1 111 7 Si Sí No 1 1 0 011 3 Si No Sí 1 0 1 101 5 No Sí Sí 0 1 1 110 6 No No Sí 0 0 1 100 4 No Sí NO 0 1 0 010 2 Si No No 1 0 0 001 1 No No No 0 0 0 000 0 Anterior Indice Siguiente