Sei sulla pagina 1di 7

Eduardo Perez Mondragn

Definicin De SQL
La sigla que se conoce como SQL corresponde a la expresin inglesa
Structured Query Language (entendida en espaol como Lenguaje de
Consulta Estructurado), la cual identifica a un tipo de lenguaje vinculado
con la gestin de bases de datos de carcter relacional que permite la
especificacin de distintas clases de operaciones entre stas. Gracias a
la utilizacin del lgebra y de clculos relacionales, el SQL brinda la
posibilidad de realizar consultas con el objetivo de recuperar informacin
de las bases de datos de manera sencilla.
El cientfico Edgar Frank Codd (19232003) fue quien propuso un modelo
relacional para las bases de datos y cre un sublenguaje para acceder a
los datos a partir del clculo de predicados. En base al trabajo de Codd,
IBM (International Business Machines) defini el lenguaje conocido como
Structured English Query Language (SEQUEL).

Como se crea una base de datos


con SQL?
Crear Base de Datos en SQL Server y Configuracin (ODBC) System DNS
En la siguiente prctica vamos a crear una Base de Datos en el Sistema
Gestor de Bases de Datos SQL Server. Practicamente al instalar un
Scada uno de los requisitos es instalar un Sistema Gestor de Bases de
Datos, unos ejemplos de ellos es WinCC, Factory Talk View SE, Intouch
Aplication Server, Vijeo Citect etc... y todos estos camparten el mismo
sistema Gestor de Microsoft, el SQL Server ya sea en la version
2000,2005 o 2008 dependiendo de la versin del Software.
No es la primera vez que ya he creado una base de datos y administrar
Open DataBase Connection ODBC, para no tener que repetir en futuras
prcticas, har esta que servir de referencia.
Si alguien esta interesado, se pueden incluir las tpicas consultas o crear
algn procedimiento, funcin.
Lo primero que necesitamos para conectarnos al Servidor es el
administrador que por defecto en algunas instalaciones no viene
incluido, se puede descargar sin coste alguno de Microsoft al igual que la
versin gratuita Expres SQL Server

Eduardo Perez Mondragn


Una vez descargado e instalado el Microsoft SQL Server Management
Studio, ya podemos conectarnos con interfaz grfica, y nos vamos a
conectar al servidor Local y la instancia FTVIEWX64TAGDB, esta
instancia se crea cuando se instala el Factory Talk View
Una vez nos hemos conectado nos aparecern todas las bases de datos
que ya existan. Sobre Database con el botn derecho de mouse New
Database

Cmo eliminar un registro de una


tabla SQL?
Sintaxis y ejemplos para borrar registros en una tabla
Para borrar un registro nos servimos de la instruccin Delete. En este caso
debemos especificar cual o cuales son los registros que queremos borrar. Es
por ello necesario establecer una seleccin que se llevara a cabo mediante la
clusula Where.
La forma de seleccionar se ver detalladamente en captulos posteriores. Por
ahora nos contentaremos de mostrar cul es el tipo de sintaxis utilizado para
efectuar estas supresiones:
Delete From nombre_tabla Where condiciones_de_seleccin
Nota: Si deseamos practicar con una base de datos que est vaca
primero debemos crear las tablas que vamos a llenar. Las tablas
tambin se crean con sentencias SQL y aprendemos a hacerlo en el
ltimo captulo.
Si queremos por ejemplo borrar todos los registros de los clientes que se
llamen Perico lo haramos del siguiente modo
Delete From clientes Where nombre='Perico'
Hay que tener cuidado con esta instruccin ya que si no especificamos una
condicin con Where, lo que estamos haciendo es borrar toda la tabla.
Delete From clientes.

Cmo se crea una tabla en SQL?


Las tablas son la estructura bsica donde se almacena la informacin en la
base de datos. Dado que en la mayora de los casos, no hay forma de que el
proveedor de base de datos sepa con antelacin cuales son sus necesidades de
almacenamiento de datos, es probable que necesite crear tablas en la base de
datos usted mismo. Muchas herramientas de base de datos le permiten crear

Eduardo Perez Mondragn


tablas sin ingresar SQL, pero debido a que las tablas son los contenedores de
toda la informacin, es importante incluir la sintaxis CREATE TABLE en esta
gua de referencia.
Antes de sumergirnos en la sintaxis SQL para CREATE TABLE, es una buena
idea comprender lo que se incluye en una tabla. Las tablas se dividen en filas y
columnas. Cada fila representa una parte de los datos, y cada columna puede
pensarse como la representacin de un componente de aquella parte de los
datos. Entonces, por ejemplo, si tenemos una tabla para registrar la
informacin del cliente, las columnas pueden incluir informacin tal como
Primer Nombre, Apellido, Direccin, Ciudad, Pas, Fecha de Nacimiento y
dems. Como resultado, cuando especificamos una tabla, incluimos los ttulos
de columna y los tipos de datos para esta columna en particular.
Entonces Qu son los tipos de datos? Generalmente, los datos se generan en
formas variadas. Podra ser un entero (tal como 1), un nmero real (tal como
0,55), una lnea (tal como 'sql'), una fecha/expresin de tiempo (tal como '25ene-2000 03:22:22'), o incluso en formato binario. Cuando especificamos una
tabla, necesitamos especificar el tipo de dato asociado con cada columna (es
decir, especificaremos que First_Name es de char(50) tipo lo que significa
que es una lnea con 50 caracteres). Una cosa a tener en cuenta es que las
diferentes bases de datos relacionales permiten diferentes tipos de datos,
entonces es prudente consultar primero una referencia especfica de base de
datos.

Cmo se agrega un registro en


una tabla con SQL?
Anexa un registro al final de una tabla que contiene los valores de campo especificados.
INSERT INTO dbf_name [(fname1 [, fname2, ...])]
VALUES (eExpression1 [, eExpression2, ...])
O bien
INSERT INTO dbf_name FROM ARRAY ArrayName | FROM MEMVAR
Parmetros
INSERT INTO dbf_name
Especifica el nombre de la tabla a la que se anexar un registro. dbf_name puede incluir
una ruta de acceso y puede ser una expresin de nombre.
Si la tabla especificada no est abierta, se abrir en un rea de trabajo nueva y se
anexar el nuevo registro a la tabla. El rea de trabajo nueva no se selecciona, sino que
permanece seleccionada el rea de trabajo actual.

Eduardo Perez Mondragn


Si la tabla que especifica est abierta, INSERT anexa el registro a la tabla. Si la tabla est
abierta en un rea de trabajo distinta del rea de trabajo actual, no se seleccionar
despus de anexar el registro; el rea de trabajo actual permanecer seleccionada.
[(fname1 [, fname2 [, ...]])]
Especifica los nombres de los campos del nuevo registro donde se insertan los valores.
VALUES (eExpression1 [, eExpression2 [, ...]])
Especifica los valores de campo que se insertan en el nuevo registro. Si omite los
nombres de los campos, debe especificar los valores de campo en el orden definido por la
estructura de la tabla. Si SET NULL est ON, INSERT - SQL intentar insertar valores
nulos en cualquier campo no especificado de la clusula VALUES.
FROM ARRAY ArrayName
Especifica la matriz cuyos datos se insertan en el nuevo registro. El contenido de los
elementos de la matriz, comenzando por el primer elemento, se inserta en los campos
correspondientes del registro. El contenido del primer elemento de la matriz se inserta en
el primer campo del nuevo registro, el contenido del segundo elemento se inserta en el
segundo campo, y as sucesivamente.
Se ignora cualquier valor predeterminado de los campos cuando se incluye la clusula
FROM ARRAY.
FROM MEMVAR
Especifica que el contenido de las variables se inserta en los campos que tengan los
mismos nombres que dichas variables. Si no existe una variable con el mismo nombre
que el campo, ste permanecer vaco.
Observaciones
El nuevo registro contiene los datos indicados en la clusula VALUES o incluidos en la
matriz o las variables especificadas. El puntero de registro se coloca en el nuevo registro.
Ejemplo
En el siguiente ejemplo se abre la tabla employee y se agrega un registro.
USE employee
INSERT INTO employee (emp_no, fname, lname, officeno) ;
VALUES (3022, "John", "Smith", 2101)

Cmo elimino una tabla con SQL?


Si necesita eliminar tablas que estn relacionadas mediante restricciones FOREIGN KEY,
UNIQUE o PRIMARY KEY, antes deber eliminar las tablas con restricciones FOREIGN
KEY. Si necesita eliminar una tabla a la que se hace referencia en una restriccin
FOREIGN KEY, pero no puede eliminar toda la tabla de clave externa, debe eliminar la
restriccin FOREIGN KEY.

Eduardo Perez Mondragn


Si desea eliminar todos los datos de la tabla, pero no la tabla en s, puede truncarlos. Para
obtener ms informacin, vea Eliminar todas las filas mediante TRUNCATE TABLE.
Es posible eliminar o truncar tablas e ndices grandes que utilizan ms de 128
extensiones, sin mantener bloqueos simultneos en todas las extensiones necesarias
para la operacin de eliminacin. El Motor de base de datos administra operaciones de
eliminacin de grandes objetos dividindolos en dos fases independientes: lgica y fsica.
En la fase lgica, las unidades de asignacin existentes que utiliza la tabla se marcan
para la cancelacin de asignacin y se bloquean hasta que se confirme la transaccin. En
la fase fsica, las unidades de asignacin marcadas para cancelacin de asignacin se
quitan fsicamente en lotes. Para obtener ms informacin, vea Quitar y volver a generar
objetos grandes.
Para eliminar una tabla
DROP TABLE (Transact-SQL)
Para eliminar una restriccin FOREIGN KEY
ALTER TABLE (Transact-SQL)
Para truncar una tabla
TRUNCATE TABLE (Transact-SQL)

Cmo visualizar los datos de una tabla


con SQL?
Despus de crear las tablas en una base de datos, puede tener que buscar informacin
acerca de las propiedades de la tabla, como el nombre o el tipo de datos de una columna
o la naturaleza de sus ndices, pero lo ms importante, tendr que ver los datos en la
tabla.
Tambin puede ver las dependencias de la tabla para determinar qu objetos (como las
vistas, los procedimientos almacenados y los desencadenadores) dependen de la tabla.
Si realiza cambios en la tabla, es posible que algunos objetos dependientes se vean
afectados.
Para ver la definicin de una tabla
sp_help (Transact-SQL)
Para ver los datos de una tabla
SELECT (Transact-SQL)
Para obtener informacin adicional acerca de las tablas
sys.tables (Transact-SQL)
Para obtener informacin adicional acerca de las columnas de las tablas
sys.columns (Transact-SQL)

Eduardo Perez Mondragn


COLUMNPROPERTY (Transact-SQL)
Cmo modificar un registro en una tabla con SQL?
Update es la instruccin del lenguaje SQL que nos sirve para modificar los registros de
una tabla. Como para el caso de Delete, necesitamos especificar por medio de Where
cules son los registros en los que queremos hacer efectivas nuestras modificaciones.
Adems, obviamente, tendremos que especificar cules 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_seleccin
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 tambin hay que ser cuidadoso de no olvidarse de usar Where, de lo contrario,
modificaramos todos los registros de nuestra tabla.
Update producto Set precio=990, descuento=25
Esa sentencia modificara el campo precio y el campo descuento en todos los productos
de la tabla producto. Si tenemos una tabla con miles de productos con esa sentencia se
actualizaran todos, de modo que la totalidad de los registros tendran el mismo precio y el
mismo descuento. Os aseguro que este problema de olvidarse el where no es algo
extrao que ocurra, incluso para programadores experimentados y puede acarrear
problemas serios.

Cmo agrupar datos con SQL?


La clusula GROUP BY se usa para generar valores de agregado para cada fila del
conjunto de resultados. Cuando se usan sin una clusula GROUP BY, las funciones de
agregado slo devuelven un valor de agregado para una instruccin SELECT.
En el ejemplo siguiente se calcula el total de cada pedido de ventas de la base de datos.
Despus de las palabras clave GROUP BY aparece una lista de columnas, conocidas
como las columnas de agrupacin. La clusula GROUP BY restringe las filas del conjunto
de resultados; slo hay una fila por cada valor distintivo de las columnas de agrupacin.
Cada fila del conjunto de resultados contiene los datos de resumen relacionados con el
valor especfico de sus columnas de agrupacin.
Los elementos que se pueden especificar en la lista de seleccin cuando una instruccin
SELECT contiene una clusula GROUP BY estn restringidos. Los elementos permitidos
en la lista de seleccin son los siguientes:
Las columnas de agrupacin.

Eduardo Perez Mondragn


Expresiones que devuelven un solo valor por cada valor de las columnas de agrupacin,
por ejemplo, las funciones de agregado que tienen un nombre de columna como uno de
sus parmetros. Se conocen como agregados vectoriales.
Si ColumnA es la columna de agrupacin, habr dos filas en el conjunto de resultados,
una que resume la informacin del valor 1 y otra que resume la del valor 2.
Cuando ColumnA es la columna de agrupacin, la nica forma en la que se puede hacer
referencia a ColumnB o ColumnC es en el caso de que sean parmetros de una funcin
de agregado que pueda devolver un valor nico para cada valor de ColumnA. La lista de
seleccin puede incluir expresiones como MAX(ColumnB), SUM(ColumnC) o
AVG(ColumnC)
Puesto que GROUP BY slo puede devolver una fila con el valor 1 de ColumnA, no hay
forma de devolver los tres valores de ColumnB (abc, def y ghi) asociados al valor 1 de
ColumnA.
No es posible utilizar GROUP BY o HAVING en las columnas ntext, text, image o bit, a
menos que se encuentren en una funcin que devuelva un valor con otro tipo de datos.
Dos ejemplos de estas funciones son SUBSTRING y CAST.

Potrebbero piacerti anche