Estás en Inicio / Editorial / Bases de Datos
07.09.2004
El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por el motor de base de datos de Microsoft Jet.

El
lenguaje de consulta estructurado (SQL)
es un lenguaje de base de datos normalizado, utilizado por el motor de base
de datos de Microsoft Jet. SQL
se utiliza para crear objetos QueryDef, como el argumento de origen del método
OpenRecordSet y como la propiedad RecordSource del control de datos. También
se puede utilizar con el método Execute para crear y manipular directamente
las bases de datos Jet y crear consultas SQL
de paso a través para manipular bases de datos remotas cliente - servidor.
El
lenguaje SQL está compuesto por comandos, cláusulas, operadores
y funciones de agregado. Estos elementos se combinan en las instrucciones para
crear, actualizar y manipular las bases de datos.
Existen
dos tipos de comandos SQL:
|
|
Las cláusulas son condiciones de modificación utilizadas para
definir los datos que desea seleccionar o manipular.
|
|
|
Las
funciones de agregado se usan dentro de una cláusula SELECT
en grupos de registros para devolver un único valor que se aplica a un
grupo de registros.
|
Siguiente capítulo: Consultas
de Selección
Califica esta nota:
Claudio Casares
Redactor del tutorial de SQL
Si eres nuevo en Maestros del Web y te agradan nuestras publicaciones, te invitamos a suscribirte a nuestro Feed.
Sindícanos en: Google Reader, Bloglines, My Yahoo o My MSN | ¿Qué es el Feed?
171 comentarios en total.
me gusra el curso es mi agrado gracias
En vez de criticar deberian colaborar y agradecer que alguien propuso este tema, sino les gusto hay muchissimas paginas que pueden ayudarles, solo busquen en google “Tutorial de SQL para principiantes”…. el que no investiga por su cuenta nunca dejara de ser ignorante…….. (en esta Area)
ESTA ALGO CUNFUSA LA PAGINA PERO DE TODAS MANERAS ME CIRVIO
Para que quiera el tutorial en PDF les dejo el link …
http://www.vb-mundo.com/Tutoriales/ManualSQL.pdf
Saludos /* P4C-M4N */
quiero saber como hacer una base de datos completa para una empresa por donde empesar
pues vacano
me ancantan
este comentario va para julio gabrielo segundo;oyes cab…agradece que hay gente que aunque sea con poquito contribuye a la web,pero tu que solo te metes a criticar,quien es mas ignorante?concientisalo y…busca ayuda…psicologica o visita un grupo de N/A.
Hola!!! Yo necesito que por favor me digan como moverme al ultimo registro de una tabla, uso REALbasic… gracias…
Exelente Amigo!
hola me gustaria seber sobre los data source,los query y t-edit
Hola ami si me parecio muy interesante porke apenas estoy trabajando con el sql y si me ha ayudado…
oye m parece que deves tomar un poco mas a fondo lo que es sql ya que solo mencionas caracteristicas pero se aprende con ejemplos y ejecuciones la teoria vale pero lo que importa es la practica no crees bueno espero que lo tomes como una critica constructiva ya que cada quien entienede y se expresa segun su talento (segun mis ideas) bueno espero algo mas de informacion o de atajos y trucos es lo que bale
att. mundo hack
TODO ESTO PARECE UNA HEVADA
Para la creación de la base de datos la sentencia es la siguiente:
CREATE DATABASE nombre_base de datos
Con PostgreSQL está a disposición una orden invocable por shell Unix (o por shell del sistema usado), que ejecuta la misma operación:
createdb nombre_base de datos
Para crear nuestra base de datos bibliográfica, usaremos pues la orden:
createdb biblio
Una vez creada la base de datos, se pueden crear las tablas que la componen. La instrucción SQL propuesta para este fin es:
CREATE TABLE nombre_tabla (
nombre_columna tipo_columna [ cláusula_defecto ] [ vínculos_de_columna ]
[ , nombre_columna tipo_columna [ cláusula_defecto ] [ vínculos_de_columna ] … ]
[ , [ vínculo_de tabla] … ] )
Para mi lo que esta, esta muy bueno, pero estaria bueno que tengas un poco mas de la introduccion de SQL, como para alguien que no sabe nada de bases de datos directamente, como tablas, relaciones, etc etc.
Un saludo
hola gracias por la informacion me gusto mucho me gustaria saber màs sobre el udt ok gracias ok adios.
hola gracias de verdad me saco de apuros se les recomiendo .
oyes esto me a ayudado mucho para una tarea, pero tengo una duda como crear consultas en SQL??
Gracias
soy la misma oyes gracias por todo
me agrada como etan explicado todo de los comandos sql
tengo una gran pregunta, talvés ni va con el tema pero fíjense que hice una tabla y un formulario de ingreso y egreso de un inventario y ahora necesito un tipo de acceso directo que cuando le dé doble click al ícono que lo va a representar automáticamente me salga el formulario pero que no me salga la ventana de access y que cuando yo introduzca más datos queden guardados en la tabla del mismo formulario
ESte programae es muy completo pero quisiera saber como puede empezar a hacer una base de datos por lo que no he podido entender los comandis dcl
hola la verdad no l entiendo nada a esto m podr
hola, muy bien la explicación por favor de ejm de SQL gracias
Me parece que esta muy bueno tood lo que explicas muy bueno gracias
emm qisiera saber como crear una tabla nueva en la parte de consultas de sql.
tambien de como insertar una columna a esa tabla
urgee. gracias
Seria mejor que explicara mejor
quisiera saber q quiere desir uses y sort on en una base de datos
Esta muy bien el trabajo que has realizado siguelo complementando gracias y espero si fuera posible me lo envies completo a mi correo electrónico
QUISIERA SABER EN SÌ QUE ES UN LENGUAJE DE SQL Y PARA QUE NOS SIRVE Y EN QUE NOS CONVIENE
Por favor: tengo las siguientes consultas:
SELECT DISTINCTROW TOP 15 nombre, cedula, ciudad
FROM empleados
WHERE ciudad=’Bogota’
ORDER BY cedula DESC
SELECT DISTINCTROW nombre AS ‘Razon Social’, cedula AS ‘Identificacion’, cedula AS Identificacion FROM Empleados
cômo podrîa unirlas en una sola encuesta?
muchas gracias
ha sido un verdadedro placer el visitar y tomar como referencia su tutorial
es un exelente trabajo lo cual publicas pero hay algo que deseo comentar es que soy alumna de un intituto tecnico y desea saber mucho de este programa me es dificil no puedo talvez lo veo complicado me puedes ayudar como poder aprender gracias.
les falta mas informacion den ejemplos mas claros
y como utilisar todos los comandos.
esta muy bien especificada la informacion sigan asi
Claudio. Exelente manual y muy bien explicado. Sera muy util para aquellos que esten iniciandose en SQL. Me gustaria que mandaras a mi correo este manual en formato pdf y todos los que tengas. Gracias
como hago para para acceder solo a la tabla sin que se vea el codigo
Yo queria una introducción para el trabajo, por favor y si no es mucha molestia haganme una conclusión también porque me da flojera, ayudenme, se los ruego, please.
Tankiusssss
Clara tu introducción. Muy buena.
Pregunta, ¿es DLL o DDL?
Miren lo mejor para poder programar es haciendolo, si nada mas estan esperando que alguien les diga como hacerlo entonces no van a aprender les sugiero que como vayan encontrando informacion la vayan poniendo en practica, consulten la ayuda msdn para buscar lo que necesiten
kana es ddl no dll
el tipo este: Julio Gabrielo Segundo Mo es un imbécil.
Mil gracias por publicar esto, sirve para los que estamos empezando, podrias tal vez publicar un segundo curso que se llame SQL avanzado o algo asi
saludos
hola claudio creo que esta bien lo que haces peor quiero que me ayudes un poquito mas con ejemplos de sql lo que pasa es que estoy haciendo una pagina via web y necesito bastantes consultas es un siste ma de gestion chau
ahhhhhhhh
y no les hagas caso alos ignorantes esos que dice que es tonteria tu pagina chau
Hola, pues soy el cantante Ricky y pues esto de la cantada ya no deja y pues decidi dedicarme a base de datos con sql, mi duda es esta:
Encontre este pedaso de codigo para hacer una consulta pero con una columna en texto fijo lo que no entiendo es el uso de “*” y de utilizar el nombre de la tabla.campo.
te agradeceria de antemano.
Saludos desde mi mansion.
SELECT
Empleados.Nombre, ‘Tarifa semanal: ‘,
/*
no comprendo bien esta parte en donde pone el nombre de la tabla luego punto y un campo ademas de que significa bien ‘Tarifa semanal: ‘
*/Empleados.TarifaHora * 40
FROM
Empleados
WHERE
Empleados.Cargo = ‘Electricista’
hola soy nuevoen este tipo de uso de sql server me gustara q me proporciones informacion de ese tema algo basico y fundamental.solo quisiera aprender es lo unico q anelo
Mi comentario es que no le entendi nada porque nisiquiera ponen ejemplos
no entendi nada
este programa de SQL, que me hace mas facil hacer trabajos,
este programa de SQL, me hace facil mis trabajos,
ES MUY INMTERESANTE LA INFORMACIÓN, CLARO PARA LOS QUE MANEJAN EL PROGRAMA PERO PARA LOS QUE ESTAMOS RECIEN INCIANDONOS ME PARECE UN POCO MUY GENERAL POR LO QUE SUPLICARIA EXPLICASR MAS A FONDO Y POR QUE NO HACERLO CON EJEMPLOS
Hola gracias por poner esta informacion que es sencilla y concisa…
hola…… necesito saber que entidades deben existir para realizar tablas de un ticket de avión
Es una pena ver que hay personas que no saben apreciar el aporte de alguien que solo desea ayudar <> man si queres un tutorial a tu “categoría” pues paga no?
(–’)
Saludos pero deseo que mostraram un poco mas estos temas de sql.
bueno loque pasa es que yo estoy recien estudiando informatica y me interesaria que ustedes entragaran informacion sobre sql server y los demas sql que han salido al mercado.. de ante mano muchas gracias
create Table cargos
(
sec_cargo int Identity(1,1),
id_cargo int not null Primary key,
Nombre_cargo varchar (30)
)
/*
ALTER TABLE doc_exe ADD
– Add a PRIMARY KEY identity column.
column_b INT IDENTITY
CONSTRAINT column_b_pk PRIMARY KEY,
*/
use mibasedata
alter table empleados add
constraint PK_empleado Primary key clustered
(No_doc_empleado,tipo_doc_empleado)
alter table empleados add
id_cargo int not null default(0)
ALTER TABLE empleados
ADD CONSTRAINT FK_empleado_cargo FOREIGN KEY (id_cargo)
REFERENCES cargos (id_cargo)
insert into cargos
VALUES
(
125,’ADMINISTRADOR’
)
insert into cargos
VALUES
(
130,’GERENTE’
)
insert into cargos
VALUES
(
135,’OPERARIO’
)
insert into cargos
VALUES
(
140,’MENSAJERO’
)
insert into cargos
VALUES
(
145,’ABOGADO’
)
SET DATEFORMAT ydm
insert into empleados
(
tipo_doc_empleado,
No_doc_empleado,
app1_empleado,
nom1_empleado,
fecha_nac_emleado,
fecha_contr_emleado,
ID_CARGO
)
Values
(
‘cc’,
75412369,
‘perez’,
‘juan’,
‘1960-31-12′,
‘2000-01-01′,
125
)
insert into empleados
Values
(
‘TI’,
75412369,
‘perez’,
‘dias’,
‘juan’,
‘carlos’,
‘1955-31-12′,
‘2007-01-01′,
‘cll 34 # 45-12′,
‘5223366 ext 124′,
140
)
set dateformat dmy
insert into empleados
Values
(
‘cc’,
75412400,
‘dias’,
‘dias’,
‘juan’,
‘mario’,
‘02/04/1980′,
‘03/01/1998′,
‘cll 34 # 45-12′,
‘5223366 ext 124′,
135
)
select empleados.app1_empleado,
empleados.app2_empleado,
empleados.nom1_empleado,
empleados.nom2_empleado,
cargos.Nombre_cargo
from empleados inner join cargos on
empleados.id_cargo = cargos.id_cargo
select empleados.app1_empleado,
empleados.app2_empleado,
empleados.nom1_empleado,
empleados.nom2_empleado,
cargos.Nombre_cargo
from empleados, cargos
where empleados.id_cargo = cargos.id_cargo
select A.app1_empleado as ‘primer apellido’,
A.app2_empleado as ‘Segundo apellido’,
A.nom1_empleado as ‘primer nombre’,
A.nom2_empleado as ’segundo nombre’,
B.Nombre_cargo as ‘Cargo’
from empleados A, cargos B
where A.id_cargo = B.id_cargo
order by B.Nombre_cargo, A.app1_empleado
/*
create view Nombre_vista
as
Select campo1,..,campo_N
from Tabla1,…,tabla_N
where condicion
order by condicion
*/
create view vw_empleado_cargo
as
select A.app1_empleado as ‘primer apellido’,
A.app2_empleado as ‘Segundo apellido’,
A.nom1_empleado as ‘primer nombre’,
A.nom2_empleado as ’segundo nombre’,
B.Nombre_cargo as ‘Cargo’
from empleados A, cargos B
where A.id_cargo = B.id_cargo
select * from vw_empleado_cargo
update table
set campo1 = valor1,
.
.
set campo_n = valor_n
where condiciones
update empleados
set app2_empleado = ‘vargas’,
nom2_empleado = ‘mario’,
dir_empleado = ‘cll 23# 22-12′,
telefono_empleado =’4213698 ext 478′
where
no_doc_empleado = 75412369
and
tipo_doc_empleado = ‘cc’
–consultas relacionales
select empleados.app1_empleado,
empleados.app2_empleado,
empleados.nom1_empleado,
empleados.nom2_empleado,
cargos.Nombre_cargo
from empleados, cargos
select empleados.app1_empleado,
empleados.app2_empleado,
empleados.nom1_empleado,
empleados.nom2_empleado,
empleados.sec_empleado,
cargos.Nombre_cargo,
cargos.sec_cargo
from empleados inner join cargos on
empleados.id_cargo = cargos.id_cargo
select empleados.app1_empleado,
empleados.app2_empleado,
empleados.nom1_empleado,
empleados.nom2_empleado,
cargos.Nombre_cargo
from empleados, cargos
where empleados.id_cargo = cargos.id_cargo
select A.app1_empleado as ‘primer apellido’,
A.app2_empleado as ‘Segundo apellido’,
A.nom1_empleado as ‘primer nombre’,
A.nom2_empleado as ’segundo nombre’,
B.Nombre_cargo as ‘Cargo’
from empleados A, cargos B
where A.id_cargo = B.id_cargo
order by B.Nombre_cargo, A.app1_empleado desc
select * from cargos
update nombre_tabla
set campo1= valor,
campo2 = valor2,
.
.
.
campo_n = valor_n
where campoX = valorX
select * from empleados
update empleados
set
app2_empleado = ‘correa’,
nom2_empleado = ‘pedro’,
dir_empleado = ‘cra 45 # 56-65′,
telefono_empleado = ‘2558899 ex 852′
where no_doc_empleado = 7412359
and tipo_doc_empleado = ‘TI’
update empleados
set
app2_empleado = ‘martinez’,
nom2_empleado = ‘juan’,
dir_empleado = ‘cra 45 # 56-65′,
telefono_empleado = ‘2558899 ex 852′
where no_doc_empleado = 47582158
and tipo_doc_empleado = ‘TI’
–use mi_database
set dateformat ymd
insert into empleados (t_Id_empleado,no_doc_empleado,prim_app_empleado,
seg_app_empleado,prim_nom_empleado,seg_nom_empleado,fech_nac_empleado,
fech_contrato_empleado,dir_empleado,tel_empleado)
values
(
‘cc’,
85963214,
‘perez’,
‘peres’,
‘juan’,
‘pablo’,
‘1960/12/20′,
‘2005/03/21′,
‘clle 23 # 45 89′,
‘5688966 ext 21′
)
insert into empleados
values
(
‘cc’,
85963455,
‘pereza’,
‘peresa’,
‘juana’,
‘maria’,
‘2000/07/01′,
‘2005/03/21′,
‘clle 23 # 45 89′,
‘5688966 ext 21′
)
insert into empleados (t_Id_empleado,no_doc_empleado,prim_app_empleado,
prim_nom_empleado,fech_nac_empleado,
fech_contrato_empleado,dir_empleado)
values
(
‘cc’,
85963277,
‘dioas’,
‘juan’,
‘1960/12/20′,
‘2005/03/21′,
‘clle 23 # 45 89′
)
select Id_empleado,no_doc_empleado,prim_app_empleado,
seg_app_empleado,prim_nom_empleado,seg_nom_empleado,
fech_nac_empleado,fech_contrato_empleado,dir_empleado,tel_empleado
from empleados
where fech_nac_empleado between ‘1960/01/01′
and ‘1980/12/31′
and no_doc_empleado > 85963500
–Procedimientos almacenados
/*
Create procedure nombre_proedimiento
(
paramerto1 tipo_dato(longitud),
.
.
.,
parametro n tipo_dato(longitud)
)
[as]|[Begin]
Funcion
(
)
[end]
*/
create procedure insertar_cargo
(
@id_cargo int,
@nombre_cargo varchar(60)
)
as
insert into cargos(id_cargo,nombre_cargo)
values
(
@id_cargo,
@nombre_cargo
)
–execute nom_procedimiento (parametros)
select * from cargos
declare
@id_cargos int,
@nombre_cargos varchar(30)
set
@id_cargos = 160
set
@nombre_cargos = ‘arquitecto’
exec insertar_cargo @id_cargos,@nombre_cargos
create procedure elimina_empleado
(
@no_doc_empleado numeric(18,0),
@tipo_doc_empleado char(3)
)
as
begin
delete from empleados
where
no_doc_empleado =@no_doc_empleado
and
tipo_doc_empleado=@tipo_doc_empleado
end
–select * from empleados
declare
@no_doc_empleado numeric(18,0),
@tipo_doc_empleado char(3)
set
@no_doc_empleado = 75412400
set
@tipo_doc_empleado = ‘cc’
exec dbo.elimina_empleado @no_doc_empleado,@tipo_doc_empleado
create procedure actualiza_empleado
(
@tipo_doc_empleado char(3),
@No_doc_empleado numeric (18,0),
@app1_empleado varchar (30),
@app2_empleado varchar (30),
@nom1_empleado varchar (30),
@nom2_empleado varchar (30),
@dir_empleado varchar (60),
@telefono_empleado varchar (20)
)
as
begin
update empleados
set
app1_empleado=@app1_empleado,
app2_empleado=@app2_empleado,
nom1_empleado=@nom1_empleado,
nom2_empleado=@nom2_empleado,
dir_empleado=@dir_empleado,
telefono_empleado=@telefono_empleado
where
no_doc_empleado =@no_doc_empleado
and
tipo_doc_empleado=@tipo_doc_empleado
end
declare
@tipo_doc_empleado char(3),
@No_doc_empleado numeric (18,0),
@app1_empleado varchar (30),
@app2_empleado varchar (30),
@nom1_empleado varchar (30),
@nom2_empleado varchar (30),
@dir_empleado varchar (60),
@telefono_empleado varchar (20)
set
@tipo_doc_empleado=’TI’
set
@No_doc_empleado=47582158
set
@app1_empleado=’matiz’
set
@app2_empleado=’casas’
set
@nom1_empleado=’alvsaro’
set
@nom2_empleado=’ernesto’
set
@dir_empleado=’cll 25 13-45′
set
@telefono_empleado=’4789652′
exec actualiza_empleado @tipo_doc_empleado,@No_doc_empleado,
@app1_empleado,@app2_empleado,
@nom1_empleado,@nom2_empleado,@dir_empleado,
@telefono_empleado
select * from empleados
——
select * from empleados
select tipo_doc_empleado,No_doc_empleado,app1_empleado
from empleados
where app1_empleado like ‘perez’
select tipo_doc_empleado,No_doc_empleado,app1_empleado
from empleados
where app2_empleado is null
select tipo_doc_empleado,No_doc_empleado,app1_empleado
from empleados
where app1_empleado like ‘%a%’
select tipo_doc_empleado,No_doc_empleado,app1_empleado
from empleados
where app1_empleado like ‘__a_’
set dateformat dmy
select tipo_doc_empleado,No_doc_empleado,app1_empleado
from empleados
where fecha_nac_emleado between ‘01/01/1955′ and ‘31/12/1960′
set dateformat dmy
select *
from empleados
where fecha_nac_emleado between ‘01/01/1955′ and ‘31/12/1960′
select *
from empleados
where No_doc_empleado between 75000000 and 75412370
me parece interesante y hasta cioerto punto completo espero q me sirva en mi trabjo
gracias espero q me sirva en mi trabajo
…pues esta bien la pagina pero le falta aun cosas que me hubieran servido…
esta muy chevere tu informacion sigue así………
Que puedo hacer para eliminar un registro de una tabla cuando tengo otra tabla usando la primary key de la primer tabla como llave foranea, quiero que se elimine el registro pero que la llave foranea se quede alli, en este caso tengo que usar procedures, triggers o que, espero y me contesten gracias.
¿Cuales son los tipos de diseñadores de bases de datos que trabajan con SQL?
Gracias……..
Tengo una base de datos al querer modificar un dato en una columna me dice que la columna no existe y tiene relacion con obdc. Necesito modificar esas columnas.
hola, me sirvio mucho tu publicacion, gracias………..
ami me pasaron esa materia en dos dias y ya tengo sertamen pero no cacho ni una pero = sirve .creo q falta un poco para entender bien..
esta casi completo
he venido manipulando sql pero no se como crear una base de datos en sql server 2005
ya tengo montada la maquina virtual y el sql server 2005
HOLA Claudito, no sabes cuanto me ha ayudado este tutorial, porque necesitba saber la definicion de los comandos de sql, y te agradeceria mucho mas si me ayudas con esto: he creado una tabla personal, tiene 7 registros, como nombres apellidos fecha de nac y otros, pero no puedo ingresar mas registros solo he registrado los datos de una sola persona, y me perdi esa clase, entonces no se como reingrasr en la misma tabla para continuar agregando mas datos, mas registros de otras personas, porfa. bendiciones y felicitaciones para ti.
Muy buenas tardes todos los temas son interesantes y de ayuda pero en mi caso no encontre lo q necesito y por favor no soy muy buena realizando bd asi que nesecito ayuda pra crear una tabla interna debo crearla en tablas temporales o como?..
muchas graciaspor todo
Atentamente
Shandel
Maestros del Web es el punto de encuentro para los entusiastas de la red.
Creative Commons by-nc-sa 3.0 | Política de Privacidad | CMS: Wordpress