9.Atributo Default en Una Columna de Una Tabla

4
8/9/2019 9.Atributo Default en Una Columna de Una Tabla http://slidepdf.com/reader/full/9atributo-default-en-una-columna-de-una-tabla 1/4 Atributo default en una columna de una tabla. Si al insertar registros no se especifca un valor para un campo, se inserta su valor por deecto implícito según el tipo de dato del campo. Por ejemplo:  insert into libros (titulo,autor,editorial,precio,cantidad)  values('ava en !" minutos','uan Pere#ra','Paidos',$%.&,!"") omo no ingresamos valor para el campo codigo, *#S+ insertar- el valor por deecto, como codigo es un campo autoincrement, el valor por deecto es el siguiente de la secuencia. Si omitimos el valor correspondiente al autor:  insert into libros (titulo,editorial,precio,cantidad)  values('ava en !" minutos','Paidos',$%.&,$"") *#S+ insertar- null, por/ue el valor por deecto de un campo (de cual/uier tipo) /ue acepta valores nulos, es null. o mismo sucede si no ingresamos el valor del precio:  insert into libros (titulo,autor,editorial,cantidad)  values('ava en !" minutos','uan Pere#ra',Paidos',!%") *#S+ insertar- el valor null por/ue el valor por deecto de un campo (de cual/uier tipo) /ue acepta valores nulos, es null. Si omitimos el valor correspondiente al título:  insert into libros (autor,editorial,precio,cantidad)  values ('0orges','Paidos',$%.&,$"") *#S+ guardar- una cadena vacía, #a /ue 1ste es el valor por deecto de un campo de tipo cadena defnido como not null (no acepta valores nulos). Si omitimos el valor correspondiente a la cantidad:  insert into libros (titulo,autor,editorial,precio)  values('2licia a traves del espejo','e3is arroll','4mece',56.%) el valor /ue se almacenar- ser- ", por/ue el campo precio es de tipo num1rico not null # el valor por deecto de los tipos num1ricos /ue no aceptan valores nulos es ".

Transcript of 9.Atributo Default en Una Columna de Una Tabla

Page 1: 9.Atributo Default en Una Columna de Una Tabla

8/9/2019 9.Atributo Default en Una Columna de Una Tabla

http://slidepdf.com/reader/full/9atributo-default-en-una-columna-de-una-tabla 1/4

Atributo default en una columna de una tabla.

Si al insertar registros no se especifca un valor para un campo, se inserta su

valor por deecto implícito según el tipo de dato del campo. Por ejemplo:

 insert into libros (titulo,autor,editorial,precio,cantidad)

  values('ava en !" minutos','uan Pere#ra','Paidos',$%.&,!"")

omo no ingresamos valor para el campo codigo, *#S+ insertar- el valor

por deecto, como codigo es un campo autoincrement, el valor por deecto

es el siguiente de la secuencia.

Si omitimos el valor correspondiente al autor:

 insert into libros (titulo,editorial,precio,cantidad)

  values('ava en !" minutos','Paidos',$%.&,$"")

*#S+ insertar- null, por/ue el valor por deecto de un campo (de cual/uier

tipo) /ue acepta valores nulos, es null.

o mismo sucede si no ingresamos el valor del precio:

 insert into libros (titulo,autor,editorial,cantidad)

  values('ava en !" minutos','uan Pere#ra',Paidos',!%")

*#S+ insertar- el valor null por/ue el valor por deecto de un campo (de

cual/uier tipo) /ue acepta valores nulos, es null.

Si omitimos el valor correspondiente al título:

 insert into libros (autor,editorial,precio,cantidad)

  values ('0orges','Paidos',$%.&,$"")

*#S+ guardar- una cadena vacía, #a /ue 1ste es el valor por deecto de un

campo de tipo cadena defnido como not null (no acepta valores nulos).

Si omitimos el valor correspondiente a la cantidad:

 insert into libros (titulo,autor,editorial,precio)

  values('2licia a traves del espejo','e3is arroll','4mece',56.%)

el valor /ue se almacenar- ser- ", por/ue el campo precio es de tipo

num1rico not null # el valor por deecto de los tipos num1ricos /ue no

aceptan valores nulos es ".

Page 2: 9.Atributo Default en Una Columna de Una Tabla

8/9/2019 9.Atributo Default en Una Columna de Una Tabla

http://slidepdf.com/reader/full/9atributo-default-en-una-columna-de-una-tabla 2/4

Podemos establecer valores por deecto para los campos cuando creamos la

tabla. Para ello utili7amos deault al defnir el campo. Por ejemplo, /ueremos

/ue el valor por deecto del campo precio sea !.!! # el valor por deecto del

campo autor sea 8esconocido:

 create table libros(

  codigo int unsigned autoincrement,

  titulo varc9ar(6") not null,

  autor varc9ar(5") deault '8esconocido',

precio decimal(%,$) unsigned deault !.!!,

  cantidad int unsigned not null,

  primar# e# (codigo)

 )

Si al ingresar un nuevo registro omitimos los valores para el campo autor #

precio, *#S+ insertar- los valores por deecto defnidos con la palabra clave

deault:

 insert into libros (titulo,editorial,cantidad)

  values('ava en !" minutos','Paidos',$"")

*#S+ insertar- el registro con el siguiente valor de la secuencia en codigo,

con el título, editorial # cantidad ingresados, en autor colocar- 8esconocido# en precio !.!!.

4ntonces, si al defnir el campo e;plicitamos un valor mediante la cl-usula

deault, 1se ser- el valor por deecto sino insertar- el valor por deecto

implícito según el tipo de dato del campo.

os campos defnidos autoincrement no pueden e;plicitar un valor con

deault, tampoco los de tipo blob # te;t.

os valores por deecto implícitos son los siguientes:

<para campos de cual/uier tipo /ue admiten valores nulos, el valor por deecto

null

<para campos /ue no admiten valores nulos, es decir, defnidos not null, el

valor por deecto depende del tipo de dato:

<para campos num1ricos no declarados autoincrement: "

Page 3: 9.Atributo Default en Una Columna de Una Tabla

8/9/2019 9.Atributo Default en Una Columna de Una Tabla

http://slidepdf.com/reader/full/9atributo-default-en-una-columna-de-una-tabla 3/4

<para campos num1ricos defnidos autoincrement: el valor siguiente de la

secuencia, comen7ando en !

<para los tipos cadena: cadena vacía.

29ora al visuali7ar la estructura de la tabla con describe podemos entender

un poco m-s lo /ue inorma cada columna:

describe libros

=ield contiene el nombre del campo >#pe, el tipo de dato ?@ indica si

el campo admite valores nulos Ae# indica si el campo est- inde;ado (lo

veremos m-s adelante) 8eault muestra el valor por deecto del campo #

4;tra muestra inormaciBn adicional respecto al campo, por ejemplo, a/uí

indica /ue codigo est- defnido autoincrement.

 >ambi1n se puede utili7ar deault para dar el valor por deecto a los campos

en sentencias insert, por ejemplo:

 insert into libros (titulo,autor,precio,cantidad)

  values ('4l gato con botas',deault,deault,!"")

Atributo zerofill en una columna de una tabla.

ual/uier campo num1rico puede tener otro atributo e;tra 7erofll.

7erofll rellena con ceros los espacios disponibles a la i7/uierda.

Por ejemplo, creamos la tabla libros, defniendo los campos codigo #cantidad con el atributo 7erofll:

 create table libros(

  codigo int(C) 7erofll autoincrement,

  titulo varc9ar(6")

autor varc9ar(5"),

  editorial varc9ar(!%),

  precio decimal(%.$) unsigned,

  cantidad smallint 7erofll,

  primar# e# (codigo)

 )

Page 4: 9.Atributo Default en Una Columna de Una Tabla

8/9/2019 9.Atributo Default en Una Columna de Una Tabla

http://slidepdf.com/reader/full/9atributo-default-en-una-columna-de-una-tabla 4/4

?ote /ue especifcamos el tamaDo del tipo int entre par1ntesis para /ue

muestre por la i7/uierda ceros, cuando los valores son ineriores al indicado

dic9o par-metro no restringe el rango de valores /ue se pueden almacenar ni

el número de digitos.

2l ingresar un valor de cBdigo con menos ciras /ue las especifcadas (C),

aparecer-n ceros a la i7/uierda rellenando los espacios por ejemplo, si

ingresamos 55, aparecer- """"55. 2l ingresar un valor para el campo

cantidad, suceder- lo mismo.

Si especifcamos 7erofll a un campo num1rico, se coloca autom-ticamente el

atributo unsigned.

ual/uier valor negativo ingresado en un campo defnido 7erofll es un valor

inv-lido.