Una vez creada la base de datos con sus tablas, debemos poder insertar, modificar y borrar los valores de las filas de las tablas.
Para poder hacer esto, el SQL92 nos ofrece las siguientes sentencias INSERT para insertar, UPDATE para modificar y DELETE para borrar. Una vez hemos insertado valores en nuestras tablas, tenemos !ue poder consultarlos. La sentencia para hacer consultas a una base de datos con el SQL92 es SELECT FROM. "eamos a continuaci#n estas sentencias.
1. INSERCIN DE FILAS EN UNA TABLA
$ntes de poder consultar los datos de una base de datos, es preciso introducirlos con la sentencia INSERT INTO VALUES, !ue tiene el formato
INSERT INTO nombre_tabla [(columnas)] {VALUES ({v1|DEFAULT|NULL}, ..., {vn/DEFAULT/NULL})|<consulta>};
Los valores v%, v2,..., vn se deben corresponder e&actamente con las columnas !ue hemos dicho !ue tendr'amos con el ()*$+* +$,L* y deben estar en el mismo orden, a menos !ue las volvamos a poner a continuaci#n del nombre de la tabla. *n este -ltimo caso, los valores se deben disponer de forma coherente con el nuevo orden !ue hemos impuesto. Podr'a darse el caso de !ue !uisi.ramos !ue algunos valores para insertar fuesen valores por omisi#n, definidos previamente con la opci#n /*0$UL+. *ntonces pondr'amos la palabra reservada /*0$UL+. Si se trata de introducir valores nulos, tambi.n podemos utilizar la palabra reservada 1ULL.
Insercin de una i!a en "RUPOTEC
La forma de insertar a un cliente en la tabla clientes de la base de datos de 2)UP3+*( es
INSERT INTO clientes VALUES (10, 'JUAN', '40201516', 'JR. LIMA S/N', 'ABANCAY', 083- 321565);
o bien
INSERT INTO clientes (cdigo_cli, nombre_cli, dni, direccion, ciudad, telefono) VALUES (20, 'PEDRO', '40151218', 'AV. EL SOL 1045', 'CUSCO', '084- 234561');
#. BORRADO DE FILAS DE UNA TABLA
Para borrar valores de algunas filas de una tabla podemos utilizar la sentencia DELETE FROM $%ERE. Su formato es el siguiente
DELETE FROM nombre_tabla [WHERE condiciones];
*n cambio, si lo !ue !uisi.ramos conseguir es borrar todas las filas de una tabla, entonces s#lo tendr'amos !ue poner la sentencia /*L*+* 0)34, sin 56*)*.
Lenguaje SQL: Sentencias de Manipulacin Administracin de Base de Datos [2] Ing. Eduardo Chvez Vsquez B&rrar '&das !as i!as de una 'a(!a en "RUPOTEC
*n nuestra base de datos, borrar los datos del cliente con c#digo 27 se har'a de la forma !ue mostramos a continuaci#n
DELETE FROM clientes WHERE codigo_cli = 20;
Podemos de8ar la tabla clientes sin ninguna fila
DELETE FROM clientes;
). MODIFICACIN DE FILAS DE UNA TABLA
Si !uisi.ramos modificar los valores de algunas filas de una tabla, tendr'amos !ue utilizar la sentencia UPDATE SET $%ERE. $ continuaci#n presentamos su formato
UPDATE nombre_tabla SET columna = {expresin|DEFAULT|NULL} [, columna = {expr|DEFAULT|NULL} ...] WHERE condiciones;
M&diicacin de !&s *a!&res de a!+unas i!as en "RUPOTEC
Supongamos !ue !ueremos incrementar el sueldo de todos los empleados del proyecto 2 en %777. La modificaci#n a e8ecutar ser'a
UPDATE empleados SET sueldo = sueldo + 1000 WHERE num_proyec = 2;
,. INTRODUCCIN DE FILAS EN LA BASE DE DATOS RELACIONAL BDUOC
$ntes de empezar a hacer consultas a la base de datos "RUPOTEC, habremos introducido unas cuantas filas en sus tablas con la sentencia INSERT INTO. /e esta forma, podremos ver refle8ado el resultado de las consultas !ue iremos haciendo, a partir de este momento, sobre cada e&tensi#n9 esto lo podemos observar en las tablas correspondientes a cada e&tensi#n, !ue presentamos a continuaci#n
: Ta(!a departamentos
departamentos nombre_dep ciudad_dep telefono DIR Abancay 1234568 DIR Cusco 7895649 DIS Lima 1598747 DIS Arequipa 1245789 PROG Callao 3265984 PROG Abancay 1562345 PROG Cusco 3020541
Lenguaje SQL: Sentencias de Manipulacin Administracin de Base de Datos [3] Ing. Eduardo Chvez Vsquez : Ta(!a clientes
clientes Codigo_cli Nombre_cli Dni Direccin Ciudad telefono 10 Juan 01230654 Av. Arequipa 120 Abancay 083-321245 20 Pedro 01548746 Av. El sol 1045 Cusco 084-235689 30 Joaquin 31254876 Av. Arica 1084 Lima 01-3265987 40 Remo 12345678 Jr. Cusco 425 Abancay 083-326598
La opci#n AS nos permite renombrar las columnas !ue !ueremos seleccionar o las tablas !ue !ueremos consultar !ue en este caso, es s#lo una. /icho de otro modo, nos permite la definici#n de alias. 0i8.monos en !ue la palabra clave $S es opcional, y es bastante habitual poner s#lo un espacio en blanco en lugar de toda la palabra.
Lenguaje SQL: Sentencias de Manipulacin Administracin de Base de Datos [4] Ing. Eduardo Chvez Vsquez C&nsu!'as a "RUPOTEC
$ continuaci#n presentamos un e8emplo de consulta a la base de datos ,/U3( para conocer todos los datos !ue aparece en la tabla clientes
SELECT * FROM clientes;
Si hubi.semos !uerido ver s#lo el c#digo, el nombre, la direcci#n y la ciudad, habr'amos hecho
SELECT codigo_cli, nombre_cli, direccion, ciudad FROM clientes;
(on la sentencia S*L*(+ 0)34 podemos seleccionar columnas de una tabla, pero para seleccionar filas de una tabla es preciso a;adirle la cl<usula 56*)*. *l formato es
SELECT nombre_columnas_a_seleccionar FROM tabla_a_consultar WHERE condiciones;
La cl<usula 56*)* nos permite obtener las filas !ue cumplen la condici#n especificada en la consulta.
"eamos un e8emplo en el !ue pedimos =los c#digos de los empleados !ue traba8an en el proyecto n-mero >?
SELECT codigo_empl FROM empleados WHERE num_proyec = 4;
Para definir las condiciones en la cl<usula 56*)*, podemos utilizar alguno de los operadores de los !ue dispone el SQL, !ue son los siguientes
Operadores de comparacin Operadores lgicos = Igual
NOT Para la negacin de condiciones < Menor
AND Para la conjuncin de condiciones > Mayor
OR Para la disyuncin de condiciones <= Menor o igual
>= Mayor o igual
< > Diferente
Si !ueremos !ue en una consulta nos aparezcan las filas resultantes sin repeticiones, es preciso poner la palabra clave /@S+@1(+ inmediatamente despu.s de S*L*(+. +ambi.n podr'amos e&plicitar !ue lo !ueremos todo, incluso con repeticiones, poniendo $LL Aopci#n por defectoB en lugar de /@S+@1(+. *l formato de /@S+@1(+ es
SELECT DISTINCT nombre_columnas_a_seleccionar FROM tabla_a_consultar [WHERE condiciones];
Por e8emplo, si !uisi.ramos ver !u. sueldos se est<n pagando en nuestra empresa, podr'amos hacer