SlideShare una empresa de Scribd logo
Creación de tablas


Creación de tablas
                                       Crear una tabla MySQL
Las tablas son elementos de las          La creación de tablas MySQL requiere una de estas dos sentencias:
base de datos. Por esa razón nos
resultará imposible crear una          CREATE TABLE IF NOT EXISTS tabla (campo1, campo2,... )
tabla sin tener creada y
seleccionada una base de datos.        CREATE TABLE tabla (campo1, campo2,... )
Es por eso que para la creación de
                                          La única diferencia entre ambas opciones es que la segunda daría un error si tratáramos
una tabla se necesitan los
siguientes requisitos:                 de crear una tabla preexistente (deberíamos recurrir al procedimiento que hemos visto
                                       cuando creábamos bases de datos) mientras que la primera no da ese mensaje de error.
– Tener abierta una conexión con
el servidor MySQL.                        Aunque no lo hemos indicado, CREATE DATABASE también permite esta sintaxis
                                       alternativa.
– Tener seleccionada una base de
datos.
                                       Definición de campos en una tabla MySQL
Conexión con el servidor

La hemos comentado en la página          Cada uno de los campos que vayamos a crear en una tabla requiere una definición que
anterior, recuerda que requería la     debe contener lo siguiente:
función:
                                       – nombre del campo
$c=mysql_connect(h, u, p)                 Es una palabra cualquiera –distinta para campo de la tabla y que normalmente suele
                                       elegirse aludiendo al contenido. Por ejemplo, fec_nac, nom_perro, etcétera.
Esa conexión ha de ser establecida
antes de cualquier otra
intervención relacionada con             No va entre comillas nunca y MySQL diferencia mayúsculas/minúsculas.
accesos a bases de datos y tablas.
                                          Para utilizar como nombres de campo palabras reservadas –por ejemplo, create– del
Selección                              lenguaje MySQL debemos escribirla entre ` `. Observa que no son comillas sino acentos
de la base de datos                    graves. Lo más aconsejable es evitar esta situación.
Dado que podemos manejar bases
de datos distintas –en este curso
                                       – tipo y dimensiones
usaremos ejemplos y practicas– es         Los tipos de campos –los hemos visto en la página anterior– tienen que ajustarse a uno
preciso decir a MySQL con qué          de los soportados por MYSQL. Se escriben a continuación del nombre sin otra separación
base queremos trabajar.                que un espacio y requieren la sintaxis –estricta– correspondiente a cada tipo.

mysql_select_db("n", $c);              – flags del campo ( son opcionales) Puede utilizarse cualquiera de los permitidos para
                                       cada tipo de campo –puedes verlos encerrados entre corchetes– al lado de cada tipo de
donde n es el nombre de la base
de datos (puede ser una cadena         campo.
entrecomillada o el nombre de una
variable previa que contenga ese       Ejemplo de creación de una tabla
nombre). En este último caso,
como es habitual, el nombre de la
variable no llevaría comillas.
                                        <?
                                        /* nos conectamos con el servidor
El segundo parámetro $c es el           recogiendo en $c el identificador de conexión */
identificador de conexión. Es decir,    $c=mysql_connect ("localhost","pepe","pepa") or die ("Imposible
la variable creada al establecer la     conectar");
conexión con MySQL.                     # seleccionamos una base de datos existente
                                        # de lo contrario nos daría un error
Este valor debe insertarse
                                        # pondremos como nombre ejemplos nuestra base de datos
siempre. La razón es que MySQL
permite mantener abiertas, de           # creada en la página anterior y usaremos $c
forma simultánea, varias                # importante no olvidarlo
conexiones (podríamos manejar           mysql_select_db ("ejemplos", $c);
más de un servidor de bases de          /* ahora ya estamos en condiciones de crear la tabla
datos) y en esas condiciones sería      podríamos escribir ya la instrucción mysql_query y meter
necesaria una conexión distinta         detro la sentencia MySQL pero, por razones de comodidad
para cada servidor.                     crearemos antes una variable que recoja toda la sentencia
                                        y será luego cuando la ejecutemos.
Creación de una tabla                   Definiremos una varable llamada $crear e iremos añadiendo cosas */
En todas las transacciones PHP–         # la primera parte de la instrucción es esta (espacio final incluido
MySQL habremos de utilizar              $crear="CREATE TABLE IF NOT EXISTS ";
instrucciones de ambos lenguajes.       # añadiremos el nombre de la tabla que será ejemplo1
La forma habitual –hay algunas          # fijate en el punto (concatenador de cadenas) que permite
excepciones– en la que PHP se           # ir añadiendo a la cadena anterior
comunica con MySQL es la función:       $crear .="ejemplo1 ";
                                        #ahora pongamos el paréntesis (con un espacio delante)
mysql_query("sent", $c);                #aunque el espacio también podría detrás de ejemplo1
donde la cadena sent contiene las       $crear .="( ";
instrucciones propias de MySQL –        # insertemos el primer campo y llamemoslo num1
las comentamos al margen– y $c          # hagamoslo de tipo TINYINT sin otras especificamos
sigue siendo la variable que            # sabiendo que solo permitira valores numéricos
contiene el identificador de            # comprendidos entre -128 y 127
conexión.                               $crear .="num1 TINYINT , ";
                                        # LOS CAMPOS SE SEPARAN CON COMAS por eso
La sintaxis de las sentencias
                                        # la hemos incluido al final de la instrucción anterior
MySQL que crean tablas la
tenemos en la columna de la
derecha.                                # ahora num2 del mismo tipo con dimensión 3 y el flag UNSIGNED
                                        # Y ZEROFILL que: cambiará los límites de valores
DIMENSIONES                             # al intervalo 0 - 255, y rellenará con ceros por la izquierda
                                        # en el caso de que el número de cifras significativas
Cuando se establezca una                # sea menor de 3.
dimensión como parámetro                # Fijate que los flags van separado unicamente por espacios
opcional de un campo deben              $crear .="num2 TINYINT (3) UNSIGNED ZEROFILL, ";
tenerse en cuenta algunos detalles.     # en num3 identico al anterior añadiremos un valor por defecto
Si en un campo numérico                 # de manera que cuando se añadan registros a la tabla
                                        # se escriba automaticamente ese valor 13 en el caso
introdujéramos valores que
                                           # de que no le asignemos ninguno a ese campo
exceden los límites su valor no se
                                           # por ser numérico 13 no va entre comillas
registraría en la tabla sino el valor
                                           $crear .="num3 TINYINT (7) UNSIGNED ZEROFILL DEFAULT 13, ";
del límite más próximo
correspondiente a ese tipo de              # ahora un número decimal num4 tipo REAL con 8 digitos en total
campo.                                     # de los cuales tres serán decimales y también rellenaremos con ceros
                                           # Pondremos como valor por defecto 3.14
Supongamos un campo tipo                   $crear .="num4 REAL (8,3) ZEROFILL DEFAULT 3.14, ";
TINYINT que permite valores                # añadamos una fecha
comprendidos entre -128 y 127. Si          $crear .="fecha DATE, ";
asignáramos en uno de sus                  /* una cadena con un limite de 32 carácter con BINARY
registros un valor igual a 234 se
                                              para que diferencie Pepe de PEPE */
escribiría en la tabla 127 (el límite
                                           $crear .="cadena VARCHAR(32) BINARY, ";
superior) y si ponemos -834
escribiría el límite inferior, es decir,   /* un ultimo campo –opcion– del tipo ENUM que solo admita
-128.                                         como valores SI, NO, QUIZA
                                              fijate en las comillas y en el parentesis
En caso de cadenas, si el valor             ¡¡cuidado...!! aqui no ponemos coma al final
introducido sobrepasara la longitud         es el último campo que vamos a insertar y no necesita
máxima permitida, la cadena sería           ser separado. Si la pones dará un ERROR */
recortada y únicamente se                  $crear .="opcion ENUM('Si','No','Quiza') ";
registraría el número máximo de
                                           # solo nos falta añadir el paréntesis conteniendo toda la instrucción
caracteres permitidos.
                                           $crear .=")";
Consideraciones                            /* tenemos completa la sentencia MYSQL
                                              solo falta ejecutarla mediante mysql_query
sobre IF NOT EXISTS
                                              ya que la conexión está abierta
Esta variante de CREATE –                     y la base de datos ya está seleccionada */
aplicable tanto en tablas como en
bases de datos– tiene la ventaja           /* pongamos un condicional de comprobación */
de no dar mensajes de error en             if(mysql_query($crear,$c)){
caso de intentar crear una tabla –o                print "Se ha creado la base de datos<br>";
base– ya existente, pero puede                     print "La sentencia MySQL podríamos haberla escrito asi:<br>";
darnos algún sobresalto porque no                  print "mysql_query(".""".$crear."" , $c);";
advierte que la tabla no ha sido
                                           }else{
creada y puede darnos la
sensación de que puede haber
                                               print "Se ha producido un error al crear la tabla";
reescrito una tabla anterior.                       }
                                           ?>
Si pulsas reiteradamente en el
enlace Crear tabla ejemplo1
comprobarás que no aparece                                                        Crear tabla
ningún mensaje de error.                                                           ejemplo1



                                            Ejercicio nº 38

                                           Como práctica de creación de tablas, deberás crear –en tu base de datos practicas– una
                                           tabla a la que llamaremos tabla1 que recoja –al menos– en diferentes campos, los siguientes
                                           datos de tus alumnos: DNI (con letra incluida), nombre, apellidos (en campos diferentes),
                                           fecha de nacimiento, y –en un campo tipo ENUM– su condición de repetidor o no.



                                                     Anterior                         Indice                         Siguiente

Más contenido relacionado

PDF
77 Php. Celdas Multiples, Encabezados Y Pies De Pagina
PDF
Comandos mysql
PDF
82 Php. Ver Y Modificar Estructuras
DOCX
Sesion06c - Sentencias SQL en PL-SQL (Oracle)
DOCX
Sesión02 - Creación de objetos (Oracle)
DOCX
DOCX
2. creación de tablas 2007
PPT
SQL-DDL
77 Php. Celdas Multiples, Encabezados Y Pies De Pagina
Comandos mysql
82 Php. Ver Y Modificar Estructuras
Sesion06c - Sentencias SQL en PL-SQL (Oracle)
Sesión02 - Creación de objetos (Oracle)
2. creación de tablas 2007
SQL-DDL

La actualidad más candente (20)

PDF
Guia 12 js
PPTX
Control JTable con base de datos.pdf
PDF
Breve resumen sobre consultas básicas en MySQL
PPT
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
DOCX
Power builder
PDF
Introducción a sql server
PPTX
Utilizando DDL SQL oracle Z051 Cap 11
PPT
Introducción a Sql
PPTX
SENTENCIAS SQL
DOCX
SENTENCIAS DE SQL SERVER
PPT
Consultas en sql básico
PPT
Comandos SQL
DOCX
Sesion05 - Manipulacion de datos (Oracle)
PPTX
SQL: DDL, DML y SQL
DOCX
Oracle pl sql
PPTX
Fundamentos de SELECT SQL
PPT
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
ODT
Sql desde cero
PDF
Ejemplo ddl dml
DOC
Sql comamdo
Guia 12 js
Control JTable con base de datos.pdf
Breve resumen sobre consultas básicas en MySQL
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Power builder
Introducción a sql server
Utilizando DDL SQL oracle Z051 Cap 11
Introducción a Sql
SENTENCIAS SQL
SENTENCIAS DE SQL SERVER
Consultas en sql básico
Comandos SQL
Sesion05 - Manipulacion de datos (Oracle)
SQL: DDL, DML y SQL
Oracle pl sql
Fundamentos de SELECT SQL
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Sql desde cero
Ejemplo ddl dml
Sql comamdo
Publicidad

Similar a 81 Php. Creacion De Tablas (20)

PDF
80 Php. Campos Y Conexiones
PPT
Base de datos dinamicas
PDF
89 Php. Tablas Inno Db
PPT
APRENDE A USAR BASE DE DATOS DINAMICAS.ppt
PPT
Curso TIC de PHP y MSQL Parte 3
PPT
Bases De Datos My Sql
PDF
Parte 08 my sql
PPTX
Clase07
PDF
Como desarrollar-un-sistema-en-php-paso-a-paso
PPTX
PHP MySql FIEI - UNFV Clase05
PDF
Unidad 2- Lenguajes de Definición de Datos
DOC
MANUAL
DOC
PDF
35 php-my sql
PDF
35 php-my sql
PDF
PDF
MySql
DOC
Tema 7 Trabajando Con Mysql
PDF
54563910 curso-de-mysql
80 Php. Campos Y Conexiones
Base de datos dinamicas
89 Php. Tablas Inno Db
APRENDE A USAR BASE DE DATOS DINAMICAS.ppt
Curso TIC de PHP y MSQL Parte 3
Bases De Datos My Sql
Parte 08 my sql
Clase07
Como desarrollar-un-sistema-en-php-paso-a-paso
PHP MySql FIEI - UNFV Clase05
Unidad 2- Lenguajes de Definición de Datos
MANUAL
35 php-my sql
35 php-my sql
MySql
Tema 7 Trabajando Con Mysql
54563910 curso-de-mysql
Publicidad

Más de José M. Padilla (20)

PDF
Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
PDF
Manual multimedia y web 2.0
PDF
Guia optimizacion motores_busqueda
PDF
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
PDF
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
PDF
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
PDF
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
PDF
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
PDF
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
PDF
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
PDF
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
PDF
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
PDF
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
PDF
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
PDF
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
PDF
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
PDF
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
PDF
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
PDF
00 Sonido y musica por ordenador. Guia del alumno.
PDF
00 Sonido y musica por ordenador. Caso 20
Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
Manual multimedia y web 2.0
Guia optimizacion motores_busqueda
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. 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. 06 Secuenciador. N Track Studio
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. 03 Extraccion De Audio. C Dex
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. 06 El Audio
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. 03 El Sonido Y Su Representacion
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. Caso 20

Último (20)

PPTX
Presentación PASANTIAS AuditorioOO..pptx
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PPTX
Sesion 1 de microsoft power point - Clase 1
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PPT
introduccion a las_web en el 2025_mejoras.ppt
PDF
CyberOps Associate - Cisco Networking Academy
PDF
Estrategia de apoyo tecnología miguel angel solis
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PDF
Diapositiva proyecto de vida, materia catedra
PDF
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PDF
Estrategia de apoyo tecnología grado 9-3
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PDF
SAP Transportation Management para LSP, TM140 Col18
PDF
Plantilla para Diseño de Narrativas Transmedia.pdf
Presentación PASANTIAS AuditorioOO..pptx
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
Sesion 1 de microsoft power point - Clase 1
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Zarate Quispe Alex aldayir aplicaciones de internet .docx
introduccion a las_web en el 2025_mejoras.ppt
CyberOps Associate - Cisco Networking Academy
Estrategia de apoyo tecnología miguel angel solis
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
Diapositiva proyecto de vida, materia catedra
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
historia_web de la creacion de un navegador_presentacion.pptx
Power Point Nicolás Carrasco (disertación Roblox).pptx
Estrategia de apoyo tecnología grado 9-3
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
SAP Transportation Management para LSP, TM140 Col18
Plantilla para Diseño de Narrativas Transmedia.pdf

81 Php. Creacion De Tablas

  • 1. Creación de tablas Creación de tablas Crear una tabla MySQL Las tablas son elementos de las La creación de tablas MySQL requiere una de estas dos sentencias: base de datos. Por esa razón nos resultará imposible crear una CREATE TABLE IF NOT EXISTS tabla (campo1, campo2,... ) tabla sin tener creada y seleccionada una base de datos. CREATE TABLE tabla (campo1, campo2,... ) Es por eso que para la creación de La única diferencia entre ambas opciones es que la segunda daría un error si tratáramos una tabla se necesitan los siguientes requisitos: de crear una tabla preexistente (deberíamos recurrir al procedimiento que hemos visto cuando creábamos bases de datos) mientras que la primera no da ese mensaje de error. – Tener abierta una conexión con el servidor MySQL. Aunque no lo hemos indicado, CREATE DATABASE también permite esta sintaxis alternativa. – Tener seleccionada una base de datos. Definición de campos en una tabla MySQL Conexión con el servidor La hemos comentado en la página Cada uno de los campos que vayamos a crear en una tabla requiere una definición que anterior, recuerda que requería la debe contener lo siguiente: función: – nombre del campo $c=mysql_connect(h, u, p) Es una palabra cualquiera –distinta para campo de la tabla y que normalmente suele elegirse aludiendo al contenido. Por ejemplo, fec_nac, nom_perro, etcétera. Esa conexión ha de ser establecida antes de cualquier otra intervención relacionada con No va entre comillas nunca y MySQL diferencia mayúsculas/minúsculas. accesos a bases de datos y tablas. Para utilizar como nombres de campo palabras reservadas –por ejemplo, create– del Selección lenguaje MySQL debemos escribirla entre ` `. Observa que no son comillas sino acentos de la base de datos graves. Lo más aconsejable es evitar esta situación. Dado que podemos manejar bases de datos distintas –en este curso – tipo y dimensiones usaremos ejemplos y practicas– es Los tipos de campos –los hemos visto en la página anterior– tienen que ajustarse a uno preciso decir a MySQL con qué de los soportados por MYSQL. Se escriben a continuación del nombre sin otra separación base queremos trabajar. que un espacio y requieren la sintaxis –estricta– correspondiente a cada tipo. mysql_select_db("n", $c); – flags del campo ( son opcionales) Puede utilizarse cualquiera de los permitidos para cada tipo de campo –puedes verlos encerrados entre corchetes– al lado de cada tipo de donde n es el nombre de la base de datos (puede ser una cadena campo. entrecomillada o el nombre de una variable previa que contenga ese Ejemplo de creación de una tabla nombre). En este último caso, como es habitual, el nombre de la variable no llevaría comillas. <? /* nos conectamos con el servidor El segundo parámetro $c es el recogiendo en $c el identificador de conexión */ identificador de conexión. Es decir, $c=mysql_connect ("localhost","pepe","pepa") or die ("Imposible la variable creada al establecer la conectar"); conexión con MySQL. # seleccionamos una base de datos existente # de lo contrario nos daría un error Este valor debe insertarse # pondremos como nombre ejemplos nuestra base de datos siempre. La razón es que MySQL permite mantener abiertas, de # creada en la página anterior y usaremos $c forma simultánea, varias # importante no olvidarlo conexiones (podríamos manejar mysql_select_db ("ejemplos", $c); más de un servidor de bases de /* ahora ya estamos en condiciones de crear la tabla datos) y en esas condiciones sería podríamos escribir ya la instrucción mysql_query y meter necesaria una conexión distinta detro la sentencia MySQL pero, por razones de comodidad para cada servidor. crearemos antes una variable que recoja toda la sentencia y será luego cuando la ejecutemos. Creación de una tabla Definiremos una varable llamada $crear e iremos añadiendo cosas */ En todas las transacciones PHP– # la primera parte de la instrucción es esta (espacio final incluido MySQL habremos de utilizar $crear="CREATE TABLE IF NOT EXISTS "; instrucciones de ambos lenguajes. # añadiremos el nombre de la tabla que será ejemplo1 La forma habitual –hay algunas # fijate en el punto (concatenador de cadenas) que permite excepciones– en la que PHP se # ir añadiendo a la cadena anterior comunica con MySQL es la función: $crear .="ejemplo1 "; #ahora pongamos el paréntesis (con un espacio delante) mysql_query("sent", $c); #aunque el espacio también podría detrás de ejemplo1 donde la cadena sent contiene las $crear .="( "; instrucciones propias de MySQL – # insertemos el primer campo y llamemoslo num1 las comentamos al margen– y $c # hagamoslo de tipo TINYINT sin otras especificamos sigue siendo la variable que # sabiendo que solo permitira valores numéricos contiene el identificador de # comprendidos entre -128 y 127 conexión. $crear .="num1 TINYINT , "; # LOS CAMPOS SE SEPARAN CON COMAS por eso La sintaxis de las sentencias # la hemos incluido al final de la instrucción anterior MySQL que crean tablas la tenemos en la columna de la derecha. # ahora num2 del mismo tipo con dimensión 3 y el flag UNSIGNED # Y ZEROFILL que: cambiará los límites de valores DIMENSIONES # al intervalo 0 - 255, y rellenará con ceros por la izquierda # en el caso de que el número de cifras significativas Cuando se establezca una # sea menor de 3. dimensión como parámetro # Fijate que los flags van separado unicamente por espacios opcional de un campo deben $crear .="num2 TINYINT (3) UNSIGNED ZEROFILL, "; tenerse en cuenta algunos detalles. # en num3 identico al anterior añadiremos un valor por defecto Si en un campo numérico # de manera que cuando se añadan registros a la tabla # se escriba automaticamente ese valor 13 en el caso
  • 2. introdujéramos valores que # de que no le asignemos ninguno a ese campo exceden los límites su valor no se # por ser numérico 13 no va entre comillas registraría en la tabla sino el valor $crear .="num3 TINYINT (7) UNSIGNED ZEROFILL DEFAULT 13, "; del límite más próximo correspondiente a ese tipo de # ahora un número decimal num4 tipo REAL con 8 digitos en total campo. # de los cuales tres serán decimales y también rellenaremos con ceros # Pondremos como valor por defecto 3.14 Supongamos un campo tipo $crear .="num4 REAL (8,3) ZEROFILL DEFAULT 3.14, "; TINYINT que permite valores # añadamos una fecha comprendidos entre -128 y 127. Si $crear .="fecha DATE, "; asignáramos en uno de sus /* una cadena con un limite de 32 carácter con BINARY registros un valor igual a 234 se para que diferencie Pepe de PEPE */ escribiría en la tabla 127 (el límite $crear .="cadena VARCHAR(32) BINARY, "; superior) y si ponemos -834 escribiría el límite inferior, es decir, /* un ultimo campo –opcion– del tipo ENUM que solo admita -128. como valores SI, NO, QUIZA fijate en las comillas y en el parentesis En caso de cadenas, si el valor ¡¡cuidado...!! aqui no ponemos coma al final introducido sobrepasara la longitud es el último campo que vamos a insertar y no necesita máxima permitida, la cadena sería ser separado. Si la pones dará un ERROR */ recortada y únicamente se $crear .="opcion ENUM('Si','No','Quiza') "; registraría el número máximo de # solo nos falta añadir el paréntesis conteniendo toda la instrucción caracteres permitidos. $crear .=")"; Consideraciones /* tenemos completa la sentencia MYSQL solo falta ejecutarla mediante mysql_query sobre IF NOT EXISTS ya que la conexión está abierta Esta variante de CREATE – y la base de datos ya está seleccionada */ aplicable tanto en tablas como en bases de datos– tiene la ventaja /* pongamos un condicional de comprobación */ de no dar mensajes de error en if(mysql_query($crear,$c)){ caso de intentar crear una tabla –o print "Se ha creado la base de datos<br>"; base– ya existente, pero puede print "La sentencia MySQL podríamos haberla escrito asi:<br>"; darnos algún sobresalto porque no print "mysql_query(".""".$crear."" , $c);"; advierte que la tabla no ha sido }else{ creada y puede darnos la sensación de que puede haber print "Se ha producido un error al crear la tabla"; reescrito una tabla anterior. } ?> Si pulsas reiteradamente en el enlace Crear tabla ejemplo1 comprobarás que no aparece Crear tabla ningún mensaje de error. ejemplo1 Ejercicio nº 38 Como práctica de creación de tablas, deberás crear –en tu base de datos practicas– una tabla a la que llamaremos tabla1 que recoja –al menos– en diferentes campos, los siguientes datos de tus alumnos: DNI (con letra incluida), nombre, apellidos (en campos diferentes), fecha de nacimiento, y –en un campo tipo ENUM– su condición de repetidor o no. Anterior Indice Siguiente