InicioArticulos y noticiasBases de datosProgramaciónForosInternetServiciosContratacionEmail
Tutorial SQL
Introducción SQL
El lenguaje SQL
Componentes del lenguaje SQL
Tablas
Indices
Vistas
Consultar datos. SELECT
Insertar datos. INSERT
Borrado de datos. DELETE
Actualización de datos. UPDATE
Consultas combinadas. JOINS
Consultas agregadas
Subconsultas
También puedes ver ...
Instalar SQL server enterprise en Vista o XP
¿Qué es el Collation en SQL ?
Como encriptar o cifrar cadenas y campos en SQL server 2005 ENCRYPTBYPASSPHRASE y DECRYPTBYPASSPHRASE
SQL Prompt - Intellisense para SQL Server
Borrado de datos. DELETE
Consultas agregadas
Introducción SQL
El lenguaje SQL
Tablas
Indices

Afiliados
La Web del programador
MundoProgramacion


 

Componentes del lenguaje SQL.

Tipos de datos.

SQL admite una variada gama de tipos de datos para el tratamiento de la información contenida en las tablas, los tipos de datos pueden ser númericos (con o sin decimales), alfanuméricos, de fecha o booleanos(si o no).Según el gestor de base de datos que estemos utilizando los tipos de datos varian, pero se reducen basicamente a los expuestos anteriormente, aunque en la actualidad casi todos los gestores de bases de datos soportan un nuevo tipo, el BLOB (Binary Large Object), que es un tipo de datos especial destinado a almacenar archivos, imágenes ...

Dependiendo de cada gestor de bases de datos el nombre que se da a cada uno de estos tipos puede variar. Básicamente tenemos los siguientes tipos de datos.

Númericos

Alfanúmericos

Fecha

Lógico

BLOB

Integer char(n) Date Bit Image
Numeric(n.m) varchar(n,m) DateTime   Text
Decimal(n,m)         
Float        

Mas detalladamente tenemos:

Tipos de datos númericos

Tipo

Definción

Bytes

Integer
Valores enteros con signo.

4

Numeric(n,m)
Números reales de hasta 18 digitos (con decimales), donde n representa el total de dígitos admitidos (normalmente denominado precisión) y m el número de posiciones decimales (escala).

5-17

Decimal(n,m)
Igual que el tipo numeric.

5-17

Float
Número de coma flotante, este tipo de datos se suele utilizar para los valores en notación cientifica.

4-8

Tipos de datos alfanúmericos

Tipo

Definción

Bytes

char(n)
Almacena de 1 a 255 caracteres alfanúmericos. Este valor viene dado por n, y es el tamaño utilizado en disco para almacenar dato. Es decir si defino un campo como char(255), el tamaño real del campo será de 255, aunque el valor solo contenga 100. 

0-255

varchar(n)
Igual que el tipo char, con la salvedad que varchar almacena únicamente los bytes que contenga el valor del campo.

0-255

Nota:El tamaño del campo varia en función de cada base de datos, siendo 255 el valor standart. En realidad el tamaño viene delimitado por el tamaño de las páginas de datos, para SQL Server el límite esta en 8000 bytes (8000 caracteres), siempre y cuando tengamos definido el tamaño de la página de datos a 8K

Tipos de datos fecha

Tipo

Definción

Bytes

Date
Almacena fechas, con día, mes y año.

8

Datetime
Almacena fechas con fecha y hora

4

Nota:La aparición de los tipos de datos de fecha supuso una atentica revolución el mundo de la bases de datos, en realidad, la base de datos almacena internamente números enteros, de hay que el tamaño sea de 4 bytes y 8 bytes (2 enteros), pero aporta la validación del dato introducido.

Tipos de datos lógicos

Tipo
Definición
Bytes
Bit
Tipo bit. Almacena un 0 ó no cero, según las bases de datos será 1 ó -1. Se aplica la lógica booleana, 0 es falso y no cero verdadero.

1 bit

Tipos de datos BLOB

Tipo
Definición
Bytes
Image
Almacena imágenes en formato binario, hasta un máximo de 2 Gb de tamaño.
0-2Gb
Text
Almacena texto en formato binario, hasta un máximo de 2 Gb de tamaño.
0-2Gb


Operadores

Los operadores se pueden definir como combinaciones de caracteres que se utilizan tanto para realizar asignaciones como comparaciones entre datos.

Los operadores se dividen en aritméticos, relacionales, lógicos, y concatenación .

Operadores SQL

Aritméticos
+
Suma
-
Resta
*
Producto
/
División
**   ^
Exponenciación
Relacionales
<       
Menor que
<=
Menor o igual que
>
Mayor que
>=
Mayor o igual que
<>   != 
Distinto
!<
No menor que
!>
No mayor que
Lógicos
AND
Los operadores lógicos permiten comparar expresiones lógicas devolviendo siempre un valor verdadero o falso.Los operadores lógicos se evaluan de izquierda a derecha.
OR
NOT
Concatenación
+
Se emplea para unir  datos de tipo alfanúmerico.


Palabras Clave

Las palabras clave son identificadores con un significado especial para SQL, por lo que no pueden ser utilizadas para otro proposito distinto al que han sido pensadas.

SQL dispone de muy pocas órdenes, pero de multiples pálabras clave, lo que le convierten en un lenguaje sencillo pero tremendamente potente para llevar a cabo su función.

Palabras Clave

ALL AND ANY ASC
AVG BEGIN BY CHAR
CHECK CLOSE COUNT COMMIT
CREATE CURSOR DECIMAL DECLARE
DELETE DESC DISTINCT DEFAULT
EXISTS FETCH FLOAT FOR
FROM GRANT GROUP HAVING
IN INDEX INSERT INTEGER
INTO LIKE MAX MIN
NOT NUMERIC ON OPEN
OR ORDER REVOKE ROLLBACK
SELECT SET SUM TABLE
UNION UNIQUE UPDATE USER
VALUES VIEW WHERE WITH


Funciones Agregadas

Las funciones agregadas proporcionan a SQL utilidades de cálculo sobre los datos de las tablas.

Estas funciones se incorporan en las consultas SELECT y retornan un único valor al operar sobre un grupo de registros.

Las funciones agregadas son.

Funciones Agregadas

MAX()

Devuelve el valor máximo.

MIN()

Devuelve el valor mínimo.

SUM()

Devuelve el valor de la suma de los valores del campo.

COUNT()

Devuelve el número de filas que cumplen la condición

AVG()

Devuelve el promedia de los valores del campo


Predicados

Los predicados son condiciones que se indican en claúsula WHERE de una consulta SQL.

La siguiente tabla ilustra los predicados de SQL.

Predicados SQL

BETWEEN...AND

Comprueba que al valor esta dentro de un intervalo

LIKE

Compara un campo con una cadena alfanumérica. LIKE admite el uso de caracteres comodines

ALL

Señala a todos los elementos de la selección de la consulta

ANY

Indica que la condición se cumplirá si la comparación es cierta para al menos un elemento del conjunto.

EXISTS

Devuelve un valor verdadero si el resultado de una subconsulta devuelve resultados.

IN

Comprueba si un campo se encuentra dentro de un determinado rango. El rango puede ser una sentencia SELECT.

No se preocupe si no entiende el significado de alguno de los terminos que hemos presentado aquí, pronto veremos ejemplos que nos aclararán las cosas, de momento nos vale con saber que existen.



Inicio | Tutorial SQL El lenguaje SQLTutorial SQL Tablas Versión para imprimir Foros de consulta

 
null not null por Armando Diaz
Respuesta recibida el [07/10/2007 06:27:34]
Primero Gracias por proporcionar abiertamente este tuturial  , y una duda ¿Que es null , not null?

Gracias

 
Sobre consulta de Null y Not NULL por day
Respuesta recibida el [28/11/2007 09:55:04]
Null  es un valor nulo en algun campo X, al cual no le ingresamos ningun valor y por defecdto queda "nulo" es decir NULL

cuando haces una consulta frente a un campo en particupar y este no tiene la necesidad de ser ingresado podemos filtrar haciendo un select y arrojar las filas en las cuales fueron llenada y las que no ejemplo

SELECT NOMBRE_CURSO, HORARIO FROM CURSO WHERE HORARIO IS NULL

aca consulto los cursos los cuales el horario no esta establecido, ya que no lo ingresaron al momento de inscribirlo.

SELECT NOMBRE_CURSO, HORARIO FROM CURSO WHERE HORARIO IS NOT NULL

y en esta consulta los que ya estan con horario establecido

 
FELICIDADES !!!!!!!!!!! por Guillermo Pichardo
Respuesta recibida el [07/01/2008 12:28:17]
ESTA ES UNA EXCELENTE PAGINA QUE NOS AYUDA BASTANTE Y LO MEJOR ES GRATUITA
FELICIDADES Y LES DIGO EN VERDAD QUE LLEGARAN MUY ALTO
SIGAN ASI AMIGOSSSSSSS..


 
Muy Buena página...Gracias por Roxana
Respuesta recibida el [08/02/2008 01:12:42]
Muy buenos los tutoriales, excelente..Gracias

 
Mas Facil de entender no lo he encontrado por Mauricio Amado Barrios
Respuesta recibida el [13/03/2008 09:19:25]
Pedro Herrarte Sánchez es realmente grato para personas como yo (junior en este de programar) que exista personas como usted dispuesto a compartir su conocimento con nosotros. por favor continua en esa tonica y muy de seguro adquiriras un gran renombre en la comunidad web....
Gracias por todo. mauroamadob@hotmail.com o gmail.com

 
Saludos por Oscar Díaz T.S.U. En Informatíca
Respuesta recibida el [16/03/2008 04:07:32]
Bueno, lo mío es un agradecimiento a las persona que trabajaron haciendo esta pagina Web que son personas que me imagino que trabajaron muchísimo para crear y hacer posible este proyecto que de mano se ve que es de muy buena calidad, es mi primera vez que la visito y me a gustado por todo su contenido tan útil.                          

Estas palabras están dedicadas a todas esas personas que trabajando mucho hicieron posible este proyecto y, que comparten sus conocimientos con otras personas que también lo necesitan ya que ayudando a los demás logran mayor merito en su labor

Y con respecto a el tutorías de SQL esta muy bueno y lo veo completo Gracias.

Suerte...

 
Bien por Hugo (A) ANflo
Respuesta recibida el [26/03/2008 06:45:34]
Es magnifico y va directo a los temas aqui en el desarrollo de este manual se ve la experiencia de personas que saben que en esto de la programacion las cosas son ir directo al punto sin enredar tanto como en otros Tutoriales que en ves de disipar las dudas la vuelven mas grandes. He dicho

 
El <> o != es para numeros?? por Jimmy
Respuesta recibida el [03/04/2008 12:38:49]
Hola, gracias por la respuesta, pero no me funciona cuando ejecuto el una tabla con este campo que es numerico (idtipact <> 9), y existen registros con valor nulo (en blanco). O es por eso??

 
Null por Carmen Gil
Respuesta recibida el [22/05/2008 12:10:58]
Son Excelentes sus tutoriales...
Gracias

 
Felicidades es una excelente p... por Faviola Rios
Respuesta recibida el [28/05/2008 01:09:23]
Felicidades es una excelente pagina  y    adems  es  gratuita   y  el material   que  se propòrciona  es  de xcelente calidad
En hora buena ....
FELICIDADES...............!!!!

 
DATOS Blob por Giovanni
Respuesta recibida el [20/06/2008 05:21:25]
que tal estoy llevando acabo una escritura de de una celda de tipo Blob desde java. pero me esta pasandon que si utilizo un pstmt.setBinaryStream() para archivos muy grandes no se escribe nada en la base y si quiero utilizar los apuntadores de Blob mi application server dice que esa funcion no esta soportado me imagino que tiene que ver con hace un set al hacer URL de conexion de emulateLocators con valor de true lo cual no he podido llevar acabo y por el otro lado tampoco puedo hacer setBinaryStream() de objetos muy grandes que es lo que esta pasando???

 
LIKE por Ernesto
Respuesta recibida el [02/07/2008 01:48:54]
QUE SE SUPONE QUE DEBERIA HACER UN LIKE ??? por que lo utilizo y no veo respuestas, suponiendo que mi consulta es la siguiente,
select nombre, apellido, dni(clave)
from persona
where nombre LIKE @nombre
si ingreso un campo vacio, me deberia devolver todos!! y no es asi lo que me devuelve, o estoy equivocado?
Cualquier cosa mi mail es ernestoky@hotmail.com gracias

 
on por lisette
Respuesta recibida el [20/08/2008 09:19:39]
ue se supone q hace un on no lo entiendo y peor no encuentro esa informacion en esta pagina solo lo menciona pero no habla de el predicado on

 
select * from tablaA inner j... por devjoker
Respuesta recibida el [21/08/2008 09:35:51]
select * from
tablaA
inner join tablaB
ON
tablaA.Codigo = tablaB.Codigo

 
AMAZING! por laiki
Respuesta recibida el [18/09/2008 04:39:11]
Dudes esto era lo que estaba buscando para entender mejor el curso que acabo de comenzar, grcias!.

 
EXCELENTE PAGINA MUCHAS GRACIA... por ORIGI
Respuesta recibida el [15/10/2008 09:35:33]
EXCELENTE PAGINA MUCHAS GRACIAS

 
Gracias por luigy
Respuesta recibida el [22/12/2008 02:54:18]
Que buena pagina. Muchas Gracias

 
insertar fechas por lorena
Respuesta recibida el [05/01/2009 07:06:09]
hola!!! felicidades!!! el tuturial me parece muy util pero me gustaria saber en que formato se insertan las fechas y la hora usando el tipo de datos datatime... por favor digamne como...

gracias!!


Añadir comentario ... Para preguntar utiliza los foros
Autor:

Título:


Para preguntar utiliza los foros.



Inicio | Tutorial SQL El lenguaje SQLTutorial SQL Tablas Versión para imprimir

Componentes del lenguaje SQL
Autor: Pedro Herrarte Sánchez
Visitas: 80281 Fecha de publicación: 22/10/2005
Pedro Herrarte, es consultor independiente, ofreciendo servicios de consultoría, análisis, desarrollo y formación.

Posee mas de diez años de experiencia trabajando para las principales empresas de España.

Es especialista en tecnologías .NET, entornos Web, bases de datos (SQL Server y ORACLE) e integración de sistemas.

Es experto en desarrollo (C#, ASP.NET, VB.Net, T-SQL, PL/SQL, , ASP, CGI , C, Pro*C, Java, Essbase, Vignette, PowerBuilder y Visual Basic ...) y bases de datos (SQL Server y ORACLE).

Es fundador, diseñador y programador de www.devjoker.com.




Visitas: 38 | Comentarios: 0 | Archivo: Articulos
Visitas: 108 | Comentarios: 0 | Archivo: Articulos
Visitas: 155 | Comentarios: 0 | Archivo: Articulos
Categorias: ASP.NET
Visitas: 33 | Comentarios: 0 | Archivo: Articulos
Categorias: TFS
Visitas: 285 | Comentarios: 1 | Archivo: Articulos
Categorias: Visual Basic .NET|C#
Visitas: 840 | Comentarios: 2 | Archivo: Articulos
Categorias: C#|ASP.NET|HTML DHTML|XML|JavaScript|ASP.NET|ASP|PHP|Visual Studio
Visitas: 712 | Comentarios: 1 | Archivo: Articulos
Categorias: Administración|Tutorial SQL
Visitas: 449 | Comentarios: 0 | Archivo: Articulos
Categorias: ASP.NET
Visitas: 1053 | Comentarios: 1 | Archivo: Articulos
Categorias: ASP.NET|CSS|ASP.NET
Visitas: 250 | Comentarios: 0 | Archivo: Articulos
Categorias: TFS

Útimos temas recibidos en los foros ...
FORMULARIO ACCESS por jcifuentes ... [Access] 11 29/05/2007
Ysmael por Ysmael ... [SQL] 0 08/01/2009
Reflection por Maurito22 ... [C#] 2 06/01/2009
Programador por Robert ... [ORACLE] 0 07/01/2009
como insertar registros en un formulario de visual basic.net desde la base de datos sql server por orlan ... [SQL Server] 8 09/06/2008
quierocodigo de autogenerado del seguro por edwin garcia ramirez ... [Visual Basic .NET] 0 07/01/2009
Video gratis sobre AJAX con ASP.NET por alexxe ... [ASP.NET] 1 06/01/2009
calcular saldo acumulativo por cben ... [SQL] 5 30/12/2008
comparar 2 campos de 2 tablas usando el like por nani ... [SQL Server] 1 06/01/2009
Apagar ordenador remoto en C# por victoryiyo ... [C#] 1 07/01/2009
numero de AUTOGENERADO IPSS por carlos ... [Visual Basic .NET] 5 30/10/2008
Como mandar mensaje a Celular por Pako ... [C#] 63 13/03/2007

Access CGI JSP ORACLE UNIX
Actualidad HTML/DHTML/XHTML LINUX PHP Visual Basic .NET
ASP ISAPI MS DOS Power Builder Visual Basic 6.0
ASP.NET Java mySQL SQL WIN 98/NT/2000/XP
C# JavaScript Opinion SQL Server

devjoker  Te recomendamos además ...
23/05/2006 Cursores en PL/SQL    forma parte de...Tutorial PL/SQL
15/05/2007 Aplicaciones imprescindibles para Windows
22/10/2007 DoPDF - Crea archivos PDF facilmente
04/03/2006 Bloques PL/SQL    forma parte de...Tutorial PL/SQL
29/10/2006 Boxing y unboxing    forma parte de...Tutorial C#
10/07/2006 Funciones en PL/SQL    forma parte de...Tutorial PL/SQL
27/10/2006 Estructuras    forma parte de...Tutorial C#
15/07/2007 Consultas agregadas    forma parte de...Tutorial de Transact SQL
01/01/2006 Borrado de datos. DELETE    forma parte de...Tutorial SQL
14/07/2006 Tablas PL/SQL    forma parte de...Tutorial PL/SQL

 

Encuesta
¿A que perfil te adaptas mejor?
[Ver] [Votar]