Está en la página 1de 5

En el Lenguaje Sql se usa en los motores de bases de datos relacionales para:

Palabra Create: Crear objetos como base de datos, Tablas, vistas, apuntadores, cursores, funciones y procedimientos

Palabra Drop: Eliminar Objetos como  base de datos, Tablas, vistas, apuntadores, cursores, funciones y procedimientos

Palabra Alter: Modificar Objetos como  Tablas, vistas, apuntadores, cursores, funciones y procedimientos

Al momento de abrir la base de datos SQL server ( o mysql , postgresql, oracle)  

se debe crear la base de datos para implementar los demás objetos

Create database Nombre_base_de_datos;

despues de crear se procede abrir la base de datos con la siguiente línea:

Use Nombre_base_de_datos;

Luego se procede a crear los demas objetos, primero lo fundamenta la tabla que tenga una llave primaria y cuatro

campos más donde uno es cadena de 50 caracteres, uno float, uno entero y otro booleano

Create table nombre_tabla (

campoprimario int primary key,

campo2  varchar(50),

campo3  float,

campo4 int,

campo5 bit) 

despues de crear el objeto se procede a insertar datos a la tabla

Insert into nombre_tabla (campoprimario, campo2, campo3, campo4, campo5)

values (129,'es una cadena', 235.45, 3000, true)

para corroborar si ha sido ingresado se usa el select

Select * from nombre_tabla

Para actualizar un registro de una tabla la instrucción es:

Update nombre_tabla set campo2='valor modificado', campo3=324.56, campo4=987, campo5=false 

where campoprimario=129

para borrar datos de una tabla  se usa la siguiente sentencia

Delete from nombre_tabla

o borrado forzado

Truncate table nombre_tabla

Si desea destruir la tabla se usa DROP

Drop table nombre_tabla

Tipos de datos de Microsoft SQL Server

Grupo Tipo de dato Intervalo Almacenamiento


bigint De -2 (-9.223.372.036.854.775.808) a 2 - 1 (9.223.372.036.854.775.807)
63 63 
8 bytes
int De -2  (-2.147.483.648) a 2  - 1 (2.147.483.647)
31 31
4 bytes
smallint De -215 (-32.768) a 215 - 1 (32.767) 2 bytes
tinyint De 0 a 255 1 byte
bit Tipo de datos entero que puede aceptar los valores 1, 0 ó NULL 2 bytes
Numéricos
exactos  p (precisión): el número total máximo de dígitos decimales que se puede
almacenar, tanto a la izquierda como a la derecha del separador decimal.
La precisión debe ser un valor comprendido entre 1 y la precisión
decimal, numeric, Precisión 1 - 9: 5
máxima de 38. La precisión predeterminada es 18.
decimal (p, s) bytes
 s (escala): el número máximo de dígitos decimales que se puede
almacenar a la derecha del separador decimal. La escala debe ser un
valor comprendido entre 0 y p. Sólo es posible especificar la escala si se
ha especificado la precisión. La escala predeterminada es 0.

Con precisión máxima 1038 +1 y 1038 - 1


Tipos de datos que representan valores monetarios o de moneda: de
money 8 bytes
-922.337.203.685,4775808 a 922.337.203.685,4775807
smallmoney De - 214,7483648 a 214,7483647 4 bytes
Depende del valor
Numéricos float De - 1,79E+308 a -2,23E-308, 0 y de 2,23E-308 a 1,79E+308
de n
aproximados
real De - 3,40E + 38 a -1,18E - 38, 0 y de 1,18E - 38 a 3,40E + 38 4 Bytes
datetime Del 1 de enero de 1753 hasta el 31 de diciembre de 9999  
Fecha y hora
smalldatetime Del 1 de enero de 1900 hasta el 6 de junio de 2079  
Caracteres no Unicode de longitud fija, con una longitud de n bytes. ndebe ser un
char (n) n bytes
valor entre 1 y 8.000
Caracteres no Unicode de longitud variable. n indica que el tamaño de
varchar (n) n bytes (aprox.)
Cadenas de almacenamiento máximo es de 231- 1 bytes
caracteres En desuso, sustituido por varchar.

text max bytes (aprox.)


Datos no Unicode de longitud variable con una longitud máxima de 231 - 1
(2.147.483.647) caracteres
Datos de carácter Unicode de longitud fija, con n caracteres. ndebe estar
nchar (n) 2 * n bytes
comprendido entre 1 y 4.000
Datos de carácter Unicode de longitud variable. n indica que el tamaño máximo 2 * n bytes + 2
Cadenas de nvarchar (n)
de almacenamiento es 231 - 1 bytes bytes
caracteres
En desuso, sustituido por nvarchar.
unicode
ntext (n) 2 * n bytes
Datos Unicode de longitud variable con una longitud máxima de 2 30 - 1
(1.073.741.823) caracteres
Datos binarios de longitud fija con una longitud de n bytes, donde n es un valor
binary (n) n bytes
que oscila entre 1 y 8.000
Datos binarios de longitud variable. n indica que el tamaño de almacenamiento
Cadenas varbinary (n) n bytes
máximo es de 231- 1 bytes
binarias
En desuso, sustituido por varbinary.
image  
Datos binarios de longitud variable desde 0 hasta 231 - 1 (2.147.483.647) bytes
Tipo de datos para las variables o para los parámetros de resultado de los
cursor procedimientos almacenados que contiene una referencia a un cursor. Las  
variables creadas con el tipo de datos cursor aceptan NULL
Tipo de datos que expone números binarios únicos generados automáticamente
timestamp en una base de datos. El tipo de datos timestampes simplemente un número que 8 bytes
se incrementa y no conserva una fecha o una hora
Tipo de datos que almacena valores de varios tipos de datos aceptados en SQL
Otros tipos de sql_variant  
Server, excepto text, ntext, image, timestamp y sql_variant
datos
uniqueidentifier Es un GUID (Globally Unique Identifier, Identificador Único Global) 16 bytes
Es un tipo de datos especial que se puede utilizar para almacenar un conjunto de
resultados para su procesamiento posterior. table se utiliza principalmente para el
table  
almacenamiento temporal de un conjunto de filas devuelto como el conjunto de
resultados de una función con valores de tabla
Almacena datos de XML. Puede almacenar instancias de xml en una columna o
xml  
una variable de tipo xml

Tipos de dato numéricos


Listado de cada uno de los tipos de dato numéricos en MySQL, su ocupación en disco y valores.

 INT (INTEGER): Ocupación de 4 bytes con valores entre -2147483648 y 2147483647 o entre 0 y 4294967295.
 SMALLINT: Ocupación de 2 bytes con valores entre -32768 y 32767 o entre 0 y 65535.
 TINYINT: Ocupación de 1 bytes con valores entre -128 y 127 o entre 0 y 255.
 MEDIUMINT: Ocupación de 3 bytes con valores entre -8388608 y 8388607 o entre 0 y 16777215.
 BIGINT: Ocupación de 8 bytes con valores entre -8388608 y 8388607 o entre 0 y 16777215.
 DECIMAL (NUMERIC): Almacena los números de coma flotante como cadenas o string.
 FLOAT (m,d): Almacena números de coma flotante, donde ‘m’ es el número de dígitos de la parte entera y ‘d’ el número de
decimales.
 DOUBLE (REAL): Almacena número de coma flotante con precisión doble. Igual que FLOAT, la diferencia es el rango de
valores posibles.
 BIT (BOOL, BOOLEAN): Número entero con valor 0 o 1.

Tipos de dato con formato fecha


Listado de cada uno de los tipos de dato con formato fecha en MySQL, su ocupación en disco y valores.

 DATE: Válido para almacenar una fecha con año, mes y día, su rango oscila entre  ‘1000-01-01′ y ‘9999-12-31′.
 DATETIME: Almacena una fecha (año-mes-día) y una hora (horas-minutos-segundos), su rango oscila entre  ‘1000-01-01
00:00:00′ y ‘9999-12-31 23:59:59′.
 TIME: Válido para almacenar una hora (horas-minutos-segundos). Su rango de horas oscila entre -838-59-59 y 838-59-59. El
formato almacenado es ‘HH:MM:SS’.
 TIMESTAMP: Almacena una fecha y hora UTC. El rango de valores oscila entre ‘1970-01-01 00:00:01′ y ‘2038-01-19
03:14:07′.
 YEAR: Almacena un año dado con 2 o 4 dígitos de longitud, por defecto son 4. El rango de valores oscila entre 1901 y 2155
con 4 dígitos. Mientras que con 2 dígitos el rango es desde 1970 a 2069  (70-69).

Diferentes tipos de dato con formato string


Listado de cada uno de los tipos de dato con formato string en MySQL, su ocupación en disco y valores.

 CHAR: Ocupación fija cuya longitud comprende de 1 a 255 caracteres.


 VARCHAR: Ocupación variable cuya longitud comprende de 1 a 255 caracteres.
 TINYBLOB: Una longitud máxima de 255 caracteres. Válido para objetos binarios como son un fichero de texto, imágenes,
ficheros de audio o vídeo. No distingue entre minúculas y mayúsculas.
 BLOB: Una longitud máxima de 65.535 caracteres. Válido para objetos binarios como son un fichero de texto, imágenes,
ficheros de audio o vídeo. No distingue entre minúculas y mayúsculas.
 MEDIUMBLOB: Una longitud máxima de 16.777.215 caracteres. Válido para objetos binarios como son un fichero de texto,
imágenes, ficheros de audio o vídeo. No distingue entre minúculas y mayúsculas.
 LONGBLOB: Una longitud máxima de 4.294.967.298 caracteres. Válido para objetos binarios como son un fichero de texto,
imágenes, ficheros de audio o vídeo. No distingue entre minúculas y mayúsculas.
 SET: Almacena 0, uno o varios valores una lista con un máximo de 64 posibles valores.
 ENUM: Igual que SET pero solo puede almacenar un valor.
 TINYTEXT: Una longitud máxima de 255 caracteres. Sirve para almecenar texto plano sin formato. Distingue entre minúculas
y mayúsculas.
 TEXT:Una longitud máxima de 65.535 caracteres. Sirve para almecenar texto plano sin formato. Distingue entre minúculas y
mayúsculas.
 MEDIUMTEXT:Una longitud máxima de 16.777.215 caracteres. Sirve para almecenar texto plano sin formato. Distingue entre
minúculas y mayúsculas.
 LONGTEXT: Una longitud máxima de 4.294.967.298 caracteres. Sirve para almecenar texto plano sin formato. Distingue
entre minúculas y mayúsculas.

Inner, Left , Rigth Join


La sentencia INNER JOIN es el sentencia JOIN por defecto, y consiste en combinar cada fila de una tabla con cada fila de la otra tabla, seleccionado
aquellas filas que cumplan una determinada condición.

SELECT * FROM tabla1 INNER JOIN tabla2 ON tabla1.columna1 = tabla2.columna1

Ejemplo SQL INNER JOIN

Tabla personas, con la clave primaria "per "

pe nombre apellido1 apellido2 dep


r

1 ANTONIO PEREZ GOMEZ 1

2 ANTONIO GARCIA RODRIGUEZ 2

3 PEDRO RUIZ GONZALEZ 2

Tabla "departamentos", con la clave primaria "dep"

dep departamento

1 ADMINISTRACION

2 INFORMATICA

3 COMERCIAL

SELECT nombre, apellido1, departamento FROM personas INNER JOIN departamentos ON personas.dep = departamentos.dep

apellido
nombre departamento
1

ANTONI ADMINISTRACIO
PEREZ
O N

ANTONI
GARCIA INFORMATICA
O

PEDRO RUIZ INFORMATICA

La sentencia LEFT JOIN combina los valores de la primera tabla con los valores de la segunda tabla. Siempre devolverá las filas de la primera tabla,
incluso aunque no cumplan la condición.

SELECT * FROM tabla1 


LEFT JOIN tabla2 
ON tabla1.columna1 = tabla2.columna1

Ejemplo de SQL LEFT JOIN

Tabla personas, con la clave primaria "per "

pe
nombre apellido1 apellido2 dep
r

1 ANTONIO PEREZ GOMEZ 1

2 ANTONIO GARCIA RODRIGUEZ 2

3 PEDRO RUIZ GONZALEZ 4

Tabla "departamentos", con la clave primaria "dep"

dep departamento

1 ADMINISTRACION

2 INFORMATICA

3 COMERCIAL

SELECT nombre, apellido1, departamento 


FROM personas 
LEFT JOIN departamentos 
ON personas.dep = departamentos.dep

apellido
nombre departamento
1

ANTONI
PEREZ ADMINISTRACION
O

ANTONI
GARCIA INFORMATICA
O

PEDRO RUIZ

Aunque el departamento '4' de PEDRO RUIZ no existe en la tabla de departamentos, devolverá la fila con esa columna 'departamento' en blanco.
La sentencia RIGHT JOIN combina los valores de la primera tabla con los valores de la segunda tabla. Siempre devolverá las filas de la segunda tabla,
incluso aunque no cumplan la condición.

En algunas bases de datos, la sentencia RIGHT JOIN es igual a RIGHT OUTER JOIN

SELECT * FROM tabla1 RIGHT JOIN tabla2 ON tabla1.columna1 = tabla2.columna1

EJEMPLO SQL RIGHT JOIN

pe
nombre apellido1 apellido2 dep
r

1 ANTONIO PEREZ GOMEZ 1

2 ANTONIO GARCIA RODRIGUEZ 2

3 PEDRO RUIZ GONZALEZ 4

Tabla "departamentos", con la clave primaria "dep"

dep departamento

1 ADMINISTRACION

2 INFORMATICA

3 COMERCIAL

SELECT nombre, apellido1, departamento 


FROM personas 
RIGHT JOIN departamentos 
ON personas.dep = departamentos.dep

apellido
nombre departamento
1

ANTONI
PEREZ ADMINISTRACION
O

ANTONI
GARCIA INFORMATICA
O

COMERCIAL

Aunque no exista ninguna persona del departamento 'COMERCIAL' (3), esta fila aparecerá con las otras columnas en blanco

La sentencia FULL JOIN combina los valores de la primera tabla con los valores de la segunda tabla. Siempre devolverá las filas de las dos tablas,
aunque no cumplan la condición.

La sentencia FULL JOIN es la unión de LEFT JOIN y RIGHT JOIN

SELECT * FROM tabla1 FULL JOIN tabla2 ON tabla1.columna1 = tabla2.columna1

EJEMPLO SQL FULL JOIN

pe
nombre apellido1 apellido2 dep
r

1 ANTONIO PEREZ GOMEZ 1

2 ANTONIO GARCIA RODRIGUEZ 2

3 PEDRO RUIZ GONZALEZ 4

Tabla "departamentos", con la clave primaria "dep" apellido


nombre departamento
1
dep departamento
ANTONI
1 ADMINISTRACION PEREZ ADMINISTRACION
O
2 INFORMATICA
ANTONI
GARCIA INFORMATICA
O
3 COMERCIAL
PEDRO RUIZ COMERCIAL
SELECT nombre, apellido1, departamento 
FROM personas 
FULL JOIN departamentos 
ON personas.dep = departamentos.dep

También podría gustarte