SQL
Qué es y para qué sirve el SQL
Las aplicaciones en red son cada día más numerosas y versátiles. En muchos casos, el esquema básico de operación es una serie de scripts que rigen el comportamiento de una base de datos.
Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia de estándares que nos permiten el realizar las operaciones básicas de una forma universal.
Es de eso de lo que trata el Structured Query Language que no es mas que un lenguaje estándar de comunicación con bases de datos. Hablamos por tanto de un lenguaje normalizado que nos permite trabajar con cualquier tipo de lenguaje (ASP o PHP) en combinación con cualquier tipo de base de datos (MS Access, SQL Server, MySQL...).
El hecho de que sea estándar no quiere decir que sea idéntico para cada base de datos. En efecto, determinadas bases de datos implementan funciones específicas que no tienen necesariamente que funcionar en otras.
Aparte de esta universalidad, el SQL posee otras dos características muy apreciadas. Por una parte, presenta una potencia y versatilidad notables que contrasta, por otra, con su accesibilidad de aprendizaje.
Tipos de campo
Un aspecto previo a considerar es la naturaleza de los valores que introducimos en esos campos. Dado que una base de datos trabaja con todo tipo de informaciones, es importante especificarle qué tipo de valor le estamos introduciendo de manera a, por un lado, facilitar la búsqueda posteriormente y por otro, optimizar los recursos de memoria.
Cada base de datos introduce tipos de valores de campo que no necesariamente están presentes en otras. Sin embargo, existe un conjunto de tipos que están representados en la totalidad de estas bases. Estos tipos comunes son los siguientes:
Alfanuméricos | Contienen cifras y letras. Presentan una longitud limitada (255 caracteres) |
Numéricos | Existen de varios tipos, principalmente, enteros (sin decimales) y reales (con decimales). |
Booleanos | Poseen dos formas: Verdadero y falso (Sí o No) |
Fechas | Almacenan fechas facilitando posteriormente su explotación. Almacenar fechas de esta forma posibilita ordenar los registros por fechas o calcular los días entre una fecha y otra... |
Memos | Son campos alfanuméricos de longitud ilimitada. Presentan el inconveniente de no poder ser indexados (veremos más adelante lo que esto quiere decir). |
Autoincrementables |
Son campos numéricos enteros que incrementan en una unidad su valor para cada registro incorporado. Su utilidad resulta más que evidente: Servir de identificador ya que resultan exclusivos de un registro.
|
Tipos de datos SQL
En MySQL hay tres categorías:
Datos numéricos.
Los datos de fechas
Datos de cadena.
numéricos |
característica |
desde |
hasta |
TinyInt |
Número entero con |
Con signo el rango de valores va de 127. |
128 |
|
o sin signo |
Sin signo, va de 0 |
255. |
Bit ó Bool |
número entero que puede 0 ó 1 |
0 |
1 |
SmallInt |
Número entero con |
Con signo el rango de valores va de 3278. |
32767. |
|
o sin signo |
Sin signo, va de 0 |
65535 |
MediumInt |
número entero con o sin |
Con signo va desde -8.388.608 a |
8.388.607. |
|
signo. |
Sin signo desde 0 |
16.777.215. |
Integer ó Int |
número entero con o sin |
Con signo va desde -2.147.483.648 a |
2.147.483.647. |
|
signo. |
Sin signo desde 0 |
4.294.967.295 |
BigInt |
Número entero con |
Con signo va desde 9.223.372.036.854.775.808 |
9.223.372.036.854.775.807. |
|
o sin signo |
Sin signo desde 0 |
18.446.744.073.709.500.000 |
Float |
número pequeño en coma |
3.402823466 e+38 |
1.175494351 e-38, |
|
flotante de precisión simple. |
0 (cero) y desde 1.175494351 e-38 |
3.402823466 e+38. |
Double |
número en coma flotante de |
1.7976931348623157 e+308 a |
2.2250738585072014 e |
|
precisión doble. |
desde 2.2250738585072014 e-308 |
1.7976931348623157 e+308 |
Decimal, Dec ó Numeric |
número en coma flotante desempaquetado. |
|
|
|
El número se almacena como una cadena. |
|
|
Fecha |
característica |
desde |
hasta |
Char |
Guarda una cadena de longitud fija |
0 |
255 caracteres |
Varchar |
Guarda una cadena de longitud varible |
0 |
255 caracteres |
|
Es un objeto Binario que puede tratar una cantidad |
|
|
Blob |
de datos variable. Los cuatro tipos BLOB son TINYBLOB, |
cuales difieren sólo en la longitud |
máxima de los valores que pueden tratar. |
|
BLOB, MEDIUMBLOB, y LONGBLOB los |
|
|
Text |
son cadenas de caracteres no binarias. Los cuatro tipos TEXT son |
|
|
|
TINYTEXT, TEXT, MEDIUMTEXT, y LONGTEXT. Se corresponden a los |
tienen las mismas y longitudes y requerimientos de |
almacenamiento. |
|
cuatro tipos BLOB |
|
|