BASE DE DATOS
Enviado por • 5 de Septiembre de 2014 • 2.656 Palabras (11 Páginas) • 265 Visitas
3. Tipos de campos de una base de datos
Tipos de campos en MySQL
¿Creías que íbamos a empezar a crear la base de datos? Pues lo siento, aún no toca, jeje, nos queda algo muy importante, que es los tipos de campos en los que vamos a almacenar los datos. Os dejo puestos todos los tipos, divididos en tres clases: numéricos, fechas y texto. Todos no son importantes, nosotros utilizaremos sobre todo Datetime, text, int y varchar, por lo que si quereis mirar esos cuatro y pasad al siguiente capítulo os dejo, jeje, o miradlos todos a modo informativo.
Campos numéricos
Vamos a ir mencionando los nombres de los distintos campos numéricos y a explicar cómo son:
1. Bit y Bool: un número de 1 bit, es decir, o un 0 o un 1, sólo puede tomar ambos valores.
2. Tinyint: número entero que si le ponemos signo estará entre -128 y 127, y sin signo entre 0 y 255 (para los más entendidos, un número de 8 bites, o de un byte). No podemos poner un número fuera de ese rango o dará error.
3. SmallInt: número comprendido entre -32768 y 32767, o sin signo entre 0 y 65535 (número de 16 bits/2 bytes).
4. MediumInt: comprendido entre -8388608 y 8388607, o sin signo entre 0 y 16777215 (24 bites/3 bytes).
5. Int (o integer): número entre -2147483648 y 2147483647, o sin signo entre 0 y 4294967295 (32 bites/4 bytes).
6. BigInt: número entre -9.223.372.036.854.775.808 y 9.223.372.036.854.775.807, o sin signo entre 0 y 18.446.744.073.709.551.615 (64 bites/8 bytes).
7. Float: número decimal en punto flotante de precisión simple. Los valores válidos van desde -3.402823466x10^38 a -1.175494351x10^-38, o desde 1.175494351x10^-38 a 3.402823466x10^38 (decimales en punto flotante de 4 bytes).
8.
9. Double: número decimal en punto flotante de precisión doble. Los valores permitidos van desde -1.7976931348623157x10^308 a -2.2250738585072014x10^-308, o desde 2.2250738585072014x10^-308 a 1.7976931348623157x10^308 (decimales en punto flotante de 8 bytes).
10. Decimal: yo os aconsejo este para almacenar número decimales. hay que indicarle dos valores separados por una coma llamémosles "M,D". Este tipo de campo es el más preciso, M sería la presición o el número de dígitos totales, y D el número de dígitos decimales que tendrá.
Fechas
Pasamos a los tipos de campo que más trabajo me dieron en su momento, jeje:
1. Date: el formato en que lo guarda es año-mes-día, y guarda desde el año 1001 al 9999.
2. DateTime: el formato es año-mes-día hora:minuto:segundo, y guarda desde el año 1001 al 9999.
3. TimeStamp: en este caso el formato lo elijes tu en función del tamaño de caracteres que le pongas al campo. Sólo llega entre 1970 y 2037. Según el tamaño de caracteres quedará de la siguiente forma:
Tamaño Formato
14 aaaammddhhmmss
12 aammddhhmmss
8 aaaammdd
6 aammdd
4 aamm
2 aa
4. Time: el formato es hora:minuto:segundo, con un rango desde -838 horas a 838 horas.
5. Year: guarda solo un año de entre 1901 y 2155, que puede tener sólo dos cifras o las cuatro, dependiendo del tamaño de caracteres que le pongamos.
Campos de texto
1. Char: es una cantidad fija de caracteres (los que le digamos, si le decimos 5 siempre tendrás que guardar 5 caracteres). El máximo que le podemos indicar es 255.
2. VarChar: cantidad finita de caracteres con un máximo de 255, aunque podemos indicarle que este máximo sea menor.
3. TinyText y TinyBlob: Texto con una longitud máximo de 255 caracteres.
4. Blob y Text: texto con un máximo de 65535 caracteres. Text es también muy usado, aunque no tanto como varchar.
5. MediumBlob y MediumText: texto con un máximo de 16.777.215 caracteres.
6. LongBlob y LongText: un texto con un máximo de caracteres 4.294.967.295. Hay que tener en cuenta que debido a los protocolos de comunicación os paquetes puleden tener un máximoo puede ocupar más de 16 Mb.
7. Enum: campo que puede tener un único valor de una lista que se especifica.
8. Set: un campo que puede contener ninguno, uno ó varios valores de una lista.
La diferencia entre char y varchar es que char ocupa siempre el mismo espacio llenemos la cantidad fija de caracteres o no, y varchar ocupa lo que llenemos, por lo que es preferible usar varchar que char. A Enum y Set se le indican los valores entrecomillados con comilla simple y separador por comas, de la siguiente forma: 'value1','value2',...
Y ya que estareis ansiosos, en el siguiente capítulo comenzaremos a hacer nuestra base de datos con lo aprendido y lo que nos queda por aprender.
AUTOINCREMENTO:
mysql> show databases;
mysql> use MYSQL;
mysql> create table stud(id bigint not null unique auto_increment, name char(20));
(debe de salirte esta informacion o a mi me salio esto: Query OK, 0 rows affected (0.03 sec))
mysql> insert into stud(name) values ('rodolfo'),('dielman'),('Divlain'),
('Rosemberg'),('Dexter');
Estos les puse yo de nombres, tu cambialos por los de tu familia jajajaja.
A mi me salió esta información por defaul
Query OK, 5 rows affected (0.05 sec)
Records: 5 Duplicates: 0 Warnings: 0
Luego escribe:
mysql> select * from stud;
para que te muestre la tabla
CLAVE PRIMARIA
Mysql> show databases;
(muestra la base de datos)
Mysql> use mysql;
Mysql> create table usuarios (
-> Nombre varchar <20>,
-> clave varchar <10>,
-> primary key <nombre>);
Mysql> describe usuarios;
Te mostrara una tabla con los siguientes datos
Field Type Null Key Default Extra
Mysql> insert into usuarios <nombre, claves>
->Values <’Dielman’, ‘cosi’>;
“Si esta bien te mostrara un mensaje de Query Ok que significa buena consultao algo asi jjjejejejej.
Vuelves a escribir otro enunciado igual, con otro nombre y otra clave”
Mysql> insert into usuarios <nombre, claves>
->Values <’besy’, ‘ballinas’>;
Te volverá a mostrar el mismo mensaje Query ok
Y asi introduciras tres o cuatro nombres y usuarios
Si quieres saber para que sirve la clave primaria repite el enunciado tratando de capturar tu nombre con otra clave, te mostrara un error que te dice que estas duplicando nombre te aparece “Duplicate entry ‘dielman’ For key ‘PRIMARY’.
Ahora para ver la tabla que capturaste
...