p. 1
manual de sql server airam de jesús Índice 1 qué es sql qué es y para qué sirve el sql 2 tipos de campo diferentes tipos campos empleados en las bases de datos 3 añadir un nuevo registro sintaxis y ejemplos para introducir registros en una tabla 4 borrar un registro sintaxis y ejemplos para borrar registros en una tabla 5 actualizar un registro sintaxis y ejemplos para editar registros en una tabla 6 selección de tablas i cómo realizar selecciones eficientemente ejemplos prácticos 7 selección de tablas ii lista de operadores y ejemplos prácticos para realizar selecciones 8 selección de tablas iii cómo realizar selecciones sobre varias tablas ejemplos prácticos basados en una 9 selección de tablas iv el empleo de funciones para la explotación de los campos numéricos y otras 10 optimizar prestaciones i formas de indexar los campos y organizar los enlaces entre tablas para mejorar 11 optimizar prestaciones ii los campos su naturaleza y dimensiones cómo gestionarlos para mejorar la 12 algunos trucos prácticos ejemplos aplicados de cómo mejorar la gestión de bases de datos en sitios web 13 creación de tablas explicamos la manera de crear tablas a partir de sentencias sql definimos los 14 funciones para búsquedas con fechas en access realizar búsquedas en access utilizando en las condiciones del where campos de 15 función en sql para el cálculo de días laborables función que nos permite calcular el número de días laborables entre una fecha y 16 sql con oracle empezamos un nuevo curso sobre sql con oracle que puede resultar muy interesante 17 sql con oracle operadores empezamos a ver los tipos de operadores y trabajamos con algunos ejemplos 18 subconsultas sql 1
[close]
p. 2
manual de sql server airam de jesús explicación y ejemplos de las subconsultas en sql para oracle 19 funciones sql vemos los distintos tipos de funciones y algunos ejemplos de las mismas con sql 20 agrupación y combinación de elementos con sql aprendemos a agrupar elementos y a combinar filas seleccionadas con sql para 21 manipulación de datos con sql utilizando sql con oracle aprendemos como hacer inserciones actualizaciones y a 22 claves primarias con sql con oracle aprendemos a crear y definir claves primarias y sus restricciones 23 definición de claves para tablas y restricciones vemos claves primarias y claves externas foreing keys y aprendemos a aplicar 24 supresión y modificación de tablas con sql vemos sentencias en sql para la supresion y modificación tanto de tablas como de 25 gestión de vistas en sql creación modificación y supresión de vistas con sql 26 usuarios en oracle todo lo relacionado con la gestión de usuarios en oracle 27 gestión en oracle con sql gestión de perfiles roles y tablespaces en oracle bajo sql 28 optimizar consultas sql distintas formas de optimizar las consultas realizadas en sql 29 consultas de selección las consultas de selección se utilizan para indicar al motor de datos que 30 criterios de selección en sql estudiaremos las posibilidades de filtrar los registros con el fin de recuperar 31 criterios de selección en sql ii seguimos con el group by avg sum y con el compute de sql-server 32 consultas de acción explicamos detenidamente las sentencias delete insert into y update para la 33 tipos de datos sql mostramos unas tablas con todos los tipos de datos que hay en sql 34 subconsultas en sql defenimos lo que significa subconsulta y mostramos las diferentes subconsultas 35 consultas sql de unión internas detallamos estas consultas del lenguaje sql tan importantes para el buen 36 consultas sql de unión externas cómo funcionan y cómo se crean estas consultas en sql 37 estructuras de las tablas en sql 2
[close]
p. 3
manual de sql server airam de jesús una base de datos en un sistema relacional está compuesta por un conjunto de 38 cursores en sql qué son y como se construyen los cursores en sql 39 referencias cruzadas en sql qué son las referencias cruzadas cómo se construyen y para qué se utilizan 40 introducción a freetext y contains en sql-server qué son y como es la sintaxis para construir catálogos de datos en sql-server 41 consultas e índices de texto i cómo diseñar índices consultas y sincronización de textos 42 consultas e índices de texto ii continuación del articulo sobre las consultas y los índices de texto 43 acceso a base de datos externas cómo acceder a bases de datos dbase paradox o btrieve 44 consultas con parámetros y omisión de permisos cómo hacer consultas sql con parámetros y la forma de omitir los permisos de 45 procedures y búsqueda de registros duplicados en sql cómo realizar búsquedas de registros duplicados y qué es y cómo se hace un 46 crear una cadena de conexión para sql server podemos crear una cadena de conexión para sql server 2005 de forma muy cómoda y 47 problemas de conexión con sql server 2005 cómo solucionar el error de conexión o acceso denegado que nos da en sql server 48 la función datepart en access ejemplos de sentencias sql que hacen uso de la función datepart de la base de 49 emular un cursor sql con un bucle método para emular el tipico cursor sql con un bucle en sql server 2000 50 tipos de sentencias sql y sus componentes sintácticos pasamos a describir los tipos de sentencias sql que podemos encontrarnos y sus 3
[close]
p. 4
manual de sql server airam de jesús 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 el manual de sql de desarrolloweb pretende dar a conocer las operaciones básicas que se pueden realizar con sql y que tienen una aplicación directa con la creación de aplicaciones en red sin profundizar más de lo estrictamente necesario buscamos con ello ofrecer al webmaster un manual de referencia práctico y aplicado 4
[close]
p. 5
manual de sql server airam de jesús diferentes tipos campos empleados en las bases de datos como sabemos una base de datos esta compuesta de tablas donde almacenamos registros catalogados en función de distintos campos características 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 numéricos booleanos fechas contienen cifras y letras presentan una longitud limitada 255 caracteres existen de varios tipos principalmente enteros sin decimales y reales con decimales poseen dos formas verdadero y falso sí o no 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 son campos alfanuméricos de longitud ilimitada presentan el inconveniente de no poder ser indexados veremos más adelante lo que esto quiere decir memos son campos numéricos enteros que incrementan en una unidad su valor para cada registro incorporado su utilidad resulta más que autoincrementables evidente servir de identificador ya que resultan exclusivos de un registro 5
[close]
p. 6
manual de sql server airam de jesús sintaxis y ejemplos para introducir registros en una tabla los registros pueden ser introducidos a partir de sentencias que emplean la instrucción insert la sintaxis utilizada es la siguiente insert into nombre_tabla nombre_campo1 nombre_campo2 values valor_campo1 valor_campo2 un ejemplo sencillo a partir de nuestra tabla modelo es la introducción de un nuevo cliente lo cual se haría con una instrucción de este tipo insert into clientes nombre apellidos direccion poblacion codigopostal email pedidos values perico palotes percebe n°13 lepe 123456 perico@desarrolloweb.com 33 como puede verse los campos no numéricos o booleanos van delimitados por apostrofes también resulta interesante ver que el código postal lo hemos guardado como un campo no numérico esto es debido a que en determinados paises inglaterra,como no los codigos postales contienen también letras nota si deseamos practicar con una base de datos que está vacía primero debemos crear las tablas que vamos a llenar las tablas también se crean con sentencias sql y aprendemos a hacerlo en el último capítulo aunque de todos modos puede que sea más cómodo utilizar un programa con interfaz gráfica como access que nos puede servir para crear las tablas en bases de datos del propio access o por odbc a otras bases de datos como sql server o mysql por poner dos ejemplos otra posibilidad en una base de datos como mysql sería crear las tablas utilizando un software como phpmyadmin por supuesto no es imprescindible rellenar todos los campos del registro eso sí puede ser que determinados campos sean necesarios estos campos necesarios pueden ser definidos cuando construimos nuestra tabla mediante la base de datos nota si no insertamos uno de los campos en la base de datos se inicializará con el valor por defecto que hayamos definido a la hora de crear la tabla si no hay valor por defecto probablemente se inicialice como null vacío en caso de que este campo permita valores nulos si ese campo no permite valores 6
[close]
p. 7
manual de sql server airam de jesús nulos eso se define también al crear la tabla lo más seguro es que la ejecución de la sentenca sql nos de un error resulta muy interesante ya veremos más adelante el por qué el introducir durante la creación de nuestra tabla un campo autoincrementable que nos permita asignar un único número a cada uno de los registros de este modo nuestra tabla clientes presentaría para cada registro un número exclusivo del cliente el cual nos será muy util cuando consultemos varias tablas simultáneamente 7
[close]
p. 8
manual de sql server airam de jesús sintaxis y ejemplos para borrar registros en una tabla para borrar un registro nos servimos de la instrucción delete en este caso debemos especificar cual o cuales son los registros que queremos borrar es por ello necesario establecer una selección que se llevara a cabo mediante la cláusula where la forma de seleccionar se verá detalladamente en capítulos posteriores por ahora nos contentaremos de mostrar cuál es el tipo de sintaxis utilizado para efectuar estas supresiones delete from nombre_tabla where condiciones_de_selección nota si deseamos practicar con una base de datos que está vacía primero debemos crear las tablas que vamos a llenar las tablas también se crean con sentencias sql y aprendemos a hacerlo en el último capítulo si queremos por ejemplo borrar todos los registros de los clientes que se llamen perico lo haríamos del siguiente modo delete from clientes where nombre perico hay que tener cuidado con esta instrucción ya que si no especificamos una condición con where lo que estamos haciendo es borrar toda la tabla delete from clientes 8
[close]
p. 9
manual de sql server airam de jesús sintaxis y ejemplos para editar registros en una tabla update es la instrucción que nos sirve para modificar nuestros registros como para el caso de delete necesitamos especificar por medio de where cuáles son los registros en los que queremos hacer efectivas nuestras modificaciones además obviamente tendremos que especificar cuáles son los nuevos valores de los campos que deseamos actualizar la sintaxis es de este tipo update nombre_tabla set nombre_campo1 valor_campo1 nombre_campo2 valor_campo2 where condiciones_de_selección un ejemplo aplicado update clientes set nombre josé where nombre pepe mediante esta sentencia cambiamos el nombre pepe por el de josé en todos los registros cuyo nombre sea pepe aquí también hay que ser cuidadoso de no olvidarse de usar where de lo contrario modificaríamos todos los registros de nuestra tabla 9
[close]
p. 10
manual de sql server airam de jesús cómo realizar selecciones eficientemente ejemplos prácticos la selección total o parcial de una tabla se lleva a cabo mediante la instrucción select en dicha selección hay que especificar -los campos que queremos seleccionar -la tabla en la que hacemos la selección en nuestra tabla modelo de clientes podríamos hacer por ejemplo una selección del nombre y dirección de los clientes con una instrucción de este tipo select nombre dirección from clientes si quisiésemos seleccionar todos los campos es decir toda la tabla podríamos utilizar el comodín del siguiente modo select from clientes resulta también muy útil el filtrar los registros mediante condiciones que vienen expresadas después de la cláusula where si quisiésemos mostrar los clientes de una determinada ciudad usaríamos una expresión como esta select from clientes where poblacion like madrid además podríamos ordenar los resultados en función de uno o varios de sus campos para este ultimo ejemplo los podríamos ordenar por nombre así select from clientes where poblacion like madrid order by nombre teniendo en cuenta que puede haber más de un cliente con el mismo nombre podríamos dar un segundo criterio que podría ser el apellido select from clientes where poblacion like madrid order by nombre apellido si invirtiésemos el orden « nombre,apellido » por « apellido nombre » el resultado sería distinto tendríamos los clientes ordenados por apellido y aquellos que tuviesen apellidos idénticos se subclasificarían por el nombre es posible también clasificar por orden inverso si por ejemplo quisiésemos ver nuestros clientes por orden de pedidos realizados teniendo a los mayores en primer lugar escribiríamos algo así select from clientes order by pedidos desc 10
[close]
p. 11
manual de sql server airam de jesús una opción interesante es la de efectuar selecciones sin coincidencia si por ejemplo buscásemos el saber en qué ciudades se encuentran nuestros clientes sin necesidad de que para ello aparezca varias veces la misma ciudad usaríamos una sentencia de esta clase select distinct poblacion from clientes order by poblacion así evitaríamos ver repetido madrid tantas veces como clientes tengamos en esa población 11
[close]
p. 12
manual de sql server airam de jesús lista de operadores y ejemplos prácticos para realizar selecciones hemos querido compilar a modo de tabla ciertos operadores que pueden resultar útiles en determinados casos estos operadores serán utilizados después de la cláusula where y pueden ser combinados hábilmente mediante paréntesis para optimizar nuestra selección a muy altos niveles operadores matemáticos mayor que menor que mayor o igual que menor o igual que distinto igual operadores lógicos and or not otros operadores like in y not in is null y is not null between and distinct desc selecciona los registros cuyo valor de campo se asemeje no teniendo en cuenta mayúsculas y minúsculas da un conjunto de valores para un campo para los cuales la condición de selección es o no valida selecciona aquellos registros donde el campo especificado esta o no vacío selecciona los registros comprendidos en un intervalo selecciona los registros no coincidentes clasifica los registros por orden inverso 12
[close]
p. 13
manual de sql server airam de jesús comodines sustituye a todos los campos sustituye a cualquier cosa o nada dentro de una cadena sustituye un solo carácter dentro de una cadena veamos a continuación aplicaciones practicas de estos operadores en esta sentencia seleccionamos todos los clientes de madrid cuyo nombre no es pepe como puede verse empleamos like en lugar de simplemente para evitar inconvenientes debido al empleo o no de mayúsculas select from clientes where poblacion like madrid and not nombre like pepe si quisiéramos recoger en una selección a los clientes de nuestra tabla cuyo apellido comienza por a y cuyo número de pedidos esta comprendido entre 20 y 40 select from clientes where apellidos like a and pedidos between 20 and 40 el operador in lo veremos más adelante es muy práctico para consultas en varias tablas para casos en una sola tabla es empleado del siguiente modo select from clientes where poblacion in madrid barcelona valencia de esta forma seleccionamos aquellos clientes que vivan en esas tres ciudades 13
[close]
p. 14
manual de sql server airam de jesús cómo realizar selecciones sobre varias tablas ejemplos prácticos basados en una aplicación de e-comercio una base de datos puede ser considerada como un conjunto de tablas estas tablas en muchos casos están relacionadas entre ellas y se complementan unas con otras refiriéndonos a nuestro clásico ejemplo de una base de datos para una aplicación de ecomercio la tabla clientes de la que hemos estado hablando puede estar perfectamente coordinada con una tabla donde almacenamos los pedidos realizados por cada cliente esta tabla de pedidos puede a su vez estar conectada con una tabla donde almacenamos los datos correspondientes a cada artículo del inventario de este modo podríamos fácilmente obtener informaciones contenidas en esas tres tablas como puede ser la designación del artículo más popular en una determinada región donde la designación del artículo sería obtenida de la tabla de artículos la popularidad cantidad de veces que ese artículo ha sido vendido vendría de la tabla de pedidos y la región estaría comprendida obviamente en la tabla clientes este tipo de organización basada en múltiples tablas conectadas nos permite trabajar con tablas mucho más manejables a la vez que nos evita copiar el mismo campo en varios sitios ya que podemos acceder a él a partir de una simple llamada a la tabla que lo contiene en este capítulo veremos como sirviéndonos de lo aprendido hasta ahora podemos realizar fácilmente selecciones sobre varias tablas definamos antes de nada las diferentes tablas y campos que vamos a utilizar en nuestros ejemplos tabla de clientes nombre campo id_cliente nombre apellidos direccion poblacion codigopostal telefono email tipo campo numérico entero texto texto texto texto texto numérico entero texto 14
[close]
p. 15
manual de sql server airam de jesús tabla de pedidos nombre campo id_pedido id_cliente id_articulo fecha cantidad tipo campo numérico entero numérico entero numérico entero fecha numérico entero tabla de artículos nombre campo id_articulo titulo autor editorial precio tipo campo numérico entero alfanumérico alfanumérico alfanumérico numérico real estas tablas pueden ser utilizadas simultáneamente para extraer informaciones de todo tipo supongamos que queremos enviar un mailing a todos aquellos que hayan realizado un pedido ese mismo día podríamos escribir algo así select clientes.apellidos clientes.email from clientes,pedidos where pedidos.fecha like 25/02/00 and pedidos.id_cliente clientes.id_cliente como puede verse esta vez después de la cláusula from introducimos el nombre de las dos tablas de donde sacamos las informaciones además el nombre de cada campo va precedido de la tabla de provenencia separados ambos por un punto en los campos que poseen un nombre que solo aparece en una de las tablas no es necesario especificar su origen aunque a la hora de leer la sentencia puede resultar más claro el precisarlo en este caso el campo fecha podría haber sido designado como fecha en lugar de pedidos.fecha veamos otro ejemplo más para consolidar estos nuevos conceptos esta vez queremos ver el título del libro correspondiente a cada uno de los pedidos realizados select pedidos.id_pedido articulos.titulo from pedidos articulos where pedidos.id_articulo=articulos.id_articulo 15
[close]