Valores 'Null'
Ahora crearemos una nueva tabla la cual la usaremos como ejemplo y luego nos servirá para crear las conecciones a bases de datos desde Visual Studio ya sea VB.Net, C# ó C++ bueno ahora haremos lo siguiente en WorkBench:
Create Table proveedor
(
codigo Varchar(20)not null,
nombre Varchar(45) not null,
apellido Varchar(45)not null,
direccion Varchar(45)not null,
correo Varchar(45)not null,
telefono Varchar(45)not null,
pais Varchar(45)not null,
estado Varchar(45)not null,
cp Int(5)not null,
Primary Key(codigo)
);
Analizaremos la estructura de una tabla que vemos al utilizar el comando "describe". Tomamos como ejemplo la tabla "proveedor":
La primera columna indica el nombre de cada campo.
La segunda columna indica el tipo de dato de cada campo.
La tercera columna "Null" especifica si el campo permite valores nulos; vemos que en el campo "codigo", aparece "NO" y en las demás "YES", esto significa que el primer campo no acepta valores nulos (porque es clave primaria) y los otros si los permiten.
La cuarta columna "Key", muestra los campos que son clave primaria; en el campo "codigo" aparece "PRI" (es clave primaria) y los otros están vacíos, porque no son clave primaria.
La quinta columna "Default", muestra los valores por defecto, esto es, los valores que MySQL ingresa cuando omitimos un dato o colocamos un valor inválido; para todos los campos, excepto para el que es clave primaria, el valor por defecto es "null".
La sexta columna "Extra", muestra algunos atributos extra de los campos; el campo "codigo" podría ser "auto_increment" si deseamos que se vaya incrementando de 1 en 1 pero por el momento no lo haremos así.
Vamos a explicar los valores nulos.
"null' significa "dato desconocido" o "valor inexistente". No es lo mismo que un valor 0, una cadena vacía o una cadena literal "null".
A veces, puede desconocerse o no existir el dato correspondiente a algún campo de un registro. En estos casos decimos que el campo puede contener valores nulos. Por ejemplo, en nuestra tabla de libros, podemos tener valores nulos en el campo "telefono" porque es posible que algunos usuarios no tengan un numero telefónico
En contraposición, tenemos campos que no pueden estar vacíos jamás, por ejemplo, los campos que identifican cada registro, como los códigos de identificación, que son clave primaria.
Por defecto, es decir, si no lo aclaramos en la creación de la tabla, los campos permiten valores nulos.
Imaginemos que ingresamos los datos de un libro, para el cual aún no hemos definido el precio:
Insert into proveedor(codigo, nombre, apellido, direccion, correo, telefono, pais, estado, cp)
Values('94A2','Horacio','Espinosa','Bonampak','dar5_0094@hotmail.com',null,'Mexico','Cancun', 77500);
Note que el valor "null" no es una cadena de caracteres, no se coloca entre comillas.
Si un campo acepta valores nulos, podemos ingresar "null" cuando no conocemos el valor. Los campos establecidos como clave primaria no aceptan valores nulos. Nuestro campo clave primaria, está definido "auto_increment"; si intentamos ingresar el valor "null" para este campo, no lo tomará y seguirá la secuencia de incremento.
Ahora si deseamos hacer sentencias como "where" junto con la sentencia "select":
select * from proveedores where telefono is null;
Ahora así es como ya nos debió de haber quedado nuestra base de datos:
Drop Database punto;
Create Database if not Exists punto;
use punto;
Create Table clientes
(
numero Varchar(10) not null,
nombre_vendedor Varchar(45) not null,
num_articulos Int(10) not null,
total_compra Int(10) not null,
fecha_compra Varchar(45) not null,
Primary Key(numero)
);
Create Table proveedor
(
codigo Varchar(20)not null,
nombre Varchar(45),
apellido Varchar(45),
direccion Varchar(45),
correo Varchar(45),
telefono Varchar(45),
pais Varchar(45),
estado Varchar(45),
cp int(5),
Primary Key(codigo)
);
Insert into proveedor(codigo, nombre, apellido, direccion, correo, telefono, pais, estado, cp)
Values('94A22','Horacio','Espinosa','Cancun Bonampak','dar5_0094@hotmail.com',null,'Mexico','Cancun', 77500);
Bueno esto es todo por el momento y nos vemos en la próxima.
o post que eu ler e ver no seu blog é moi informativo e agradable, fixo un gran traballo e eu dándolle 10 de Dec números para iso, mantelo continuar e espero que vai facer un traballo máis difícil de facer informativo e interesante publicar a este blog
ResponderEliminarGo To T-Mobiles