SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
PROGRAMACIÓN SQL
1
Tutor: Yasser Alvarado S.
UNIDAD II
PRIMEROS PASOS EN LA CONSOLA DE MYSQL
Antes de empezar, se debe aclarar que toda sentencia de SQL termina con un punto y coma (;).
Para mostrar las bases de datos existentes en el Servidor MySql, utilizamos el siguiente comando:
mysql > show databases;
Para trabajar con una base de datos utilizamos:
mysql > use nombreBaseDatos;
Para visualizar las tablas de una Base de Datos:
mysql > show tables;
Para observar la estructura de una tabla, digitamos el siguiente comando:
Mysql > describe NombredeTabla;
1. mysql > describe autosenventa;
PROGRAMACIÓN SQL
2
Tutor: Yasser Alvarado S.
Asi mismo para visualizar la versión de MySql utilizamos el comando:
mysql> SELECT VERSION();
Para observar la fecha actual:
se pueden hacer pequeñas operaciones como:
mysql> SELECT CURRENT_DATE();
Se puede utilizar 2 o más comandos a la vez:
mysql> SELECT VERSION(), CURRENT_DATE();
Se puede realizer operaciones matematicas:
mysql> SELECT SIN(PI()/4), (4+1)*5;
mysql> SELECT 7 *8;
Para visualizar el usuario actual:
mysql> select user();
Para visualizar fecha y hora actual:
mysql> select now();
Para cerrar o salir de la consola:
mysql> exit;
PROGRAMACIÓN SQL
3
Tutor: Yasser Alvarado S.
CREANDO UNA BASE DE DATOS
Mysql> create database biblioteca;
Si todo va como esperado, aparecerá una línea de código similar a ésta: Query OK, 1 row affected
(0.05 sec). Acabamos de crear una base de datos llamada “biblioteca”. Para comprobarlo, es tan fácil
como utilizar el comando que justo acabamos de aprender, show databases; Veremos que ahora en el
listado aparece biblioteca.
Para empezar, seleccionemos ahora la base de datos “biblioteca:
Mysql> use biblioteca;
CREAR UNA TABLA
Partimos de la base de datos que acabamos de crear llamada “biblioteca”. En ella queremos crear una
tabla llamada “libros” que recoja el fondo bibliográfico. En nuestra tabla de ejemplo crearemos los
campos “titulo”, “autor”, “fecha_publicacion” y “cantidad”.
Mysql> create table libros(
libro_id int unsigned auto_increment,
titulo varchar(50) not null,
autor varchar(30) not null default 'Desconocido',
cantidad smallint unsigned default 0,
primary key (libro_id)
);
No nos asustemos, aquí hemos introducido muchas cosas de golpe, vayamos paso por paso. Hemos
creado varios campos con una serie de parámetros. Los campos han de ir separados por coma y dentro
del paréntesis. Aquí el punto y coma va al final, después del paréntesis. Es muy fácil olvidárselo, por
lo que prestad especial atención en este punto. Veamos ahora que hemos hecho: create table libros crea
una tabla llamada libros. Podríamos haber hecho lo siguiente:
create table libros;
PROGRAMACIÓN SQL
4
Tutor: Yasser Alvarado S.
Lo que habría pasado, es que habríamos creado una tabla vacía, esto es, sin ningún campo. Como
hemos dicho, una tabla está compuesta por campos y por registros. Para poder introducir un registro
en la misma, primero es necesario crear los campos, que es lo que hemos hecho. Así en nuestro
ejemplo hemos creado cuatro campos:libro_id, titulo, autor y cantidad. ¿por qué crear un libro_id?
Veamos ahora uno por uno cada uno de los campos creados:
libro_id int unsigned auto_increment,
Lo primero que indicamos siempre es el nombre del campo que estamos creando. int significa integer,
lo que quiere decir que tiene que ser un número entero. unsigned significa que no puede ser negativo,
por lo que la cuenta empezará con el 1. auto_increment significa que el propio gestor de bases de
datos, en este caso MySQL, incrementará de manera automática este valor cada vez que introduzcamos
un registro en esta tabla.
titulo varchar(50) not null,
Ahora estamos creando un campo llamado titulo. Varchar significa caracteres y varchar(50) indica que
este campo está formado por una cadena de como máximo 50 caracteres. Significa que este campo es
obligatorio y que no podemos dejarlo en blanco.
autor varchar(30) not null default 'Desconocido',
Efectivamente, esta sentencia crea un campo llamado autor de como mucho 30 caracteres que tampoco
puede dejarse en blanco. Aquí introducimos una diferencia, y es que hemos añadido default
'Desconocido'. Significa que si no introducimos nada, el sistema automáticamente pondrá que el autor
es Desconocido. Así, un libro siempre tiene título, pero no siempre aparece un autor, pensemos en
muchos libros de texto o en libros de autor anónimo.
cantidad smallint unsigned default 0,
smallint es un tipo de número entero que no admite valores grandes, esto nos sirve para evitar errores
de tecleado. Aquí hemos creado un campo llamado cantidad que es un número entero pequeño positivo
y que en caso de dejarlo en blanco el sistema pondrá que no hay ninguno. El motivo por el que el
default es 0 y no 1, es porque un libro se puede haber extraviado.
1 primary key (libro_id)
Aquí definimos que la clave primaria de esta tabla será el id del libro.
PROGRAMACIÓN SQL
5
Tutor: Yasser Alvarado S.
Mostrar las tablas de una base de datos
Para ver la tabla que acabamos de crear, utilizamos este comando:
Mysql> show tables;
Veremos ahora que aparece "libros" en el resultado.
Mostrar los campos de una tabla
Para inspeccionar los campos de la tabla "libros", usamos el comando explain:
Mysql> explain libros;
Mysql> describe libros;
MODIFICAR UNA TABLA
Imaginemos ahora que queremos añadir el campo "editorial" a nuestra tabla "libros".
Mysql> alter table libros add editorial varchar(50) not null;
Si ahora ejecutamos el comando explain libros; veremos que ha creado un campo llamado editorial.
Imaginemos que en lugar de 50 caracteres sólo admita 20. Lo podemos modificar así
Mysql> alter table libros modify column editorial varchar(20) not null;
Ya hemos creado nuestra tabla libros con cuatro campos. Ahora vamos a proceder a incluir registros en
la tabla.
INSERTAR REGISTROS EN LA TABLA
Mysql> insert into libros (titulo, autor, cantidad)
values ('Un mundo cualquiera', 'Pepito Frito', 2);
Con esta simple sentencia hemos creado nuestro primer registro en MySQL. Lo que le decimos es que
inserte dentro de libros "Un mundo cualquiera" en el campo título, "Pepito Frito" en el campo autor y 2
en el campo cantidad.
PROGRAMACIÓN SQL
6
Tutor: Yasser Alvarado S.
Para visualizar los registros de la tabla libros, escribimos el siguiente comando:
Mysql> select * from libros;
Imaginemos ahora que hemos comprado un libro más y que queremos actualizar la cantidad a 3,
veamos ahora como lo podemos modificar.
Modificar registros de una tabla
Mysql> update libros set cantidad=3
where
titulo like 'Un mundo cualquiera';
Le decimos que actualiza la tabla libros, poniendo en cantidad 3 y que la condición es que el título sea
"Un mundo cualquiera". Con where estamos estableciendo una condición, si no la ponemos, lo que
hará es poner 3 en TODOS los registros, por lo que es muy importante no olvidarse el where. Podemos
también hacer la modificación de la siguiente manera:
Mysql> update libros set cantidad=10
where
libro_id = 1;
MODIFICAR EL NOMBRE DE UNA TABLA
Si quisiéramos cambiar el nombre de la tabla libros al de fondo_bibliotecario, haríamos lo siguiente:
Mysql> rename table libros to fondo_bibliotecario;
PROGRAMACIÓN SQL
7
Tutor: Yasser Alvarado S.
CONSULTAS DE ACCIÓN
Explicamos detenidamente las sentencias delete, insert into y update, para la realización de
consultas en las bases de datos.
Las consultas de acción son aquellas que no devuelven ningún registro, son las encargadas de acciones
como añadir y borrar y modificar registros. Tanto las sentencias de actualización como las de borrado
desencaderán (según el motor de datos) las actualizaciones en cascada, borrados en cascada,
restricciones y valores por defecto definidos para los diferentes campos o tablas afectadas por la
consulta.
DELETE
Crea una consulta de eliminación que elimina los registros de una o más de las tablas listadas en la
cláusula FROM que satisfagan la cláusula WHERE. Esta consulta elimina los registros completos, no
es posible eliminar el contenido de algún campo en concreto. Su sintaxis es:
DELETE FROM Tabla WHERE criterio
Una vez que se han eliminado los registros utilizando una consulta de borrado, no puede deshacer la
operación. Si desea saber qué registros se eliminarán, primero examine los resultados de una consulta
de selección que utilice el mismo criterio y después ejecute la consulta de borrado. Mantenga copias de
seguridad de sus datos en todo momento. Si elimina los registros equivocados podrá recuperarlos
desde las copias de seguridad.
DELETE
FROM
Empleados
WHERE
Cargo = 'Vendedor'
INSERT INTO
Agrega un registro en una tabla. Se la conoce como una consulta de datos añadidos. Esta consulta
puede ser de dos tipo: Insertar un único registro ó Insertar en una tabla los registros contenidos en otra
tabla.
Para insertar un único Registro:
En este caso la sintaxis es la siguiente:
INSERT INTO Tabla (campo1, campo2, ..., campoN)
VALUES (valor1, valor2, ..., valorN)
Esta consulta graba en el campo1 el valor1, en el campo2 y valor2 y así sucesivamente.
PROGRAMACIÓN SQL
8
Tutor: Yasser Alvarado S.
Para seleccionar registros e insertarlos en una tabla nueva
En este caso la sintaxis es la siguiente:
SELECT campo1, campo2, ..., campoN INTO nuevatabla
FROM tablaorigen [WHERE criterios]
Se pueden utilizar las consultas de creación de tabla para archivar registros, hacer copias de seguridad
de las tablas o hacer copias para exportar a otra base de datos o utilizar en informes que muestren los
datos de un periodo de tiempo concreto. Por ejemplo, se podría crear un informe de Ventas mensuales
por región ejecutando la misma consulta de creación de tabla cada mes.
Para insertar Registros de otra Tabla:
En este caso la sintaxis es:
INSERT INTO Tabla [IN base_externa] (campo1, campo2, , campoN)
SELECT TablaOrigen.campo1, TablaOrigen.campo2,,TablaOrigen.campoN FROM Tabla Origen
En este caso se seleccionarán los campos 1,2,..., n de la tabla origen y se grabarán en los campos 1,2,..,
n de la Tabla. La condición SELECT puede incluir la cláusula WHERE para filtrar los registros a
copiar. Si Tabla y Tabla Origen poseen la misma estructura podemos simplificar la sintaxis a:
INSERT INTO Tabla SELECT Tabla Origen.* FROM Tabla Origen
De esta forma los campos de Tabla Origen se grabarán en Tabla, para realizar esta operación es
necesario que todos los campos de Tabla Origen estén contenidos con igual nombre en Tabla. Con
otras palabras que Tabla posea todos los campos de Tabla Origen (igual nombre e igual tipo).
En este tipo de consulta hay que tener especial atención con los campos contadores o autonuméricos
puesto que al insertar un valor en un campo de este tipo se escribe el valor que contenga su campo
homólogo en la tabla origen, no incrementándose como le corresponde.
Se puede utilizar la instrucción INSERT INTO para agregar un registro único a una tabla, utilizando la
sintaxis de la consulta de adición de registro único tal y como se mostró anteriormente. En este caso,
su código especifica el nombre y el valor de cada campo del registro. Debe especificar cada uno de los
campos del registro al que se le va a asignar un valor así como el valor para dicho campo. Cuando no
se especifica dicho campo, se inserta el valor predeterminado o Null. Los registros se agregan al final
de la tabla.
También se puede utilizar INSERT INTO para agregar un conjunto de registros pertenecientes a otra
tabla o consulta utilizando la cláusula SELECT... FROM como se mostró anteriormente en la sintaxis
de la consulta de adición de múltiples registros. En este caso la cláusula SELECT especifica los
campos que se van a agregar en la tabla destino especificada.
La tabla destino u origen puede especificar una tabla o una consulta. Si la tabla destino contiene una
clave principal, hay que asegurarse que es única, y con valores no nulos; si no es así, no se agregarán
los registros. Si se agregan registros a una tabla con un campo Contador, no se debe incluir el campo
PROGRAMACIÓN SQL
9
Tutor: Yasser Alvarado S.
Contador en la consulta. Se puede emplear la cláusula IN para agregar registros a una tabla en otra
base de datos.
Se pueden averiguar los registros que se agregarán en la consulta ejecutando primero una consulta de
selección que utilice el mismo criterio de selección y ver el resultado. Una consulta de adición copia
los registros de una o más tablas en otra. Las tablas que contienen los registros que se van a agregar no
se verán afectadas por la consulta de adición. En lugar de agregar registros existentes en otra tabla, se
puede especificar los valores de cada campo en un nuevo registro utilizando la cláusula VALUES. Si
se omite la lista de campos, la cláusula VALUES debe incluir un valor para cada campo de la tabla, de
otra forma fallará INSERT.
Ejemplos
INSERT INTO
Clientes
SELECT
ClientesViejos.*
FROM
ClientesNuevos
SELECT
Empleados.*
INTO Programadores
FROM
Empleados
WHERE
Categoria = 'Programador'
Esta consulta crea una tabla nueva llamada programadores con igual estructura que la tabla empleado y
copia aquellos registros cuyo campo categoria se programador
INSERT INTO
Empleados (Nombre, Apellido, Cargo)
VALUES
(
'Luis', 'Sánchez', 'Becario'
)
INSERT INTO
Empleados
SELECT
Vendedores.*
FROM
Vendedores
WHERE
Provincia = 'Madrid'
UPDATE
PROGRAMACIÓN SQL
10
Tutor: Yasser Alvarado S.
Crea una consulta de actualización que cambia los valores de los campos de una tabla especificada
basándose en un criterio específico. Su sintaxis es:
UPDATE Tabla SET Campo1=Valor1, Campo2=Valor2, CampoN=ValorN
WHERE Criterio
UPDATE es especialmente útil cuando se desea cambiar un gran número de registros o cuando éstos
se encuentran en múltiples tablas. Puede cambiar varios campos a la vez. El ejemplo siguiente
incrementa los valores Cantidad pedidos en un 10 por ciento y los valores Transporte en un 3 por
ciento para aquellos que se hayan enviado al Reino Unido.:
UPDATE
Pedidos
SET
Pedido = Pedidos * 1.1,
Transporte = Transporte * 1.03
WHERE
PaisEnvío = 'ES'
UPDATE no genera ningún resultado. Para saber qué registros se van a cambiar, hay que examinar
primero el resultado de una consulta de selección que utilice el mismo criterio y después ejecutar la
consulta de actualización.
UPDATE
Empleados
SET
Grado = 5
WHERE
Grado = 2
UPDATE
Productos
SET
Precio = Precio * 1.1
WHERE
Proveedor = 8
AND
Familia = 3
Si en una consulta de actualización suprimimos la cláusula WHERE todos los registros de la tabla
señalada serán actualizados.
UPDATE
Empleados
SET
Salario = Salario * 1.1

Más contenido relacionado

La actualidad más candente

Guzman cusihunca fredy_taller _my_sql_n1
Guzman cusihunca fredy_taller _my_sql_n1Guzman cusihunca fredy_taller _my_sql_n1
Guzman cusihunca fredy_taller _my_sql_n1Tigger_Fred
 
Command oracle
Command oracleCommand oracle
Command oraclednrdeleon
 
Triggers o disparadores en MySQL
Triggers o disparadores en MySQL Triggers o disparadores en MySQL
Triggers o disparadores en MySQL Jair Ospino Ardila
 
Microsoft sql server
Microsoft sql serverMicrosoft sql server
Microsoft sql serverDeisyVilchez
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Sergio Sanchez
 
DDL - Lenguaje de definición de datos
DDL - Lenguaje de definición de datosDDL - Lenguaje de definición de datos
DDL - Lenguaje de definición de datosvargasaldanajohanna
 
Comandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizComandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizBolivar Castillo
 
Taller de MySQL (DDL)
Taller de MySQL (DDL)Taller de MySQL (DDL)
Taller de MySQL (DDL)mgpc
 
Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)José Toro
 
Tutorial 9 consultar, modificar, insertar y borrar con asp
Tutorial 9   consultar, modificar, insertar y borrar con aspTutorial 9   consultar, modificar, insertar y borrar con asp
Tutorial 9 consultar, modificar, insertar y borrar con aspSoftHard Tech.
 
81 Php. Creacion De Tablas
81 Php. Creacion De Tablas81 Php. Creacion De Tablas
81 Php. Creacion De TablasJosé M. Padilla
 
Sesión02 - Creación de objetos (Oracle)
Sesión02 - Creación de objetos (Oracle)Sesión02 - Creación de objetos (Oracle)
Sesión02 - Creación de objetos (Oracle)José Toro
 
Breve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLBreve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLTotus Muertos
 

La actualidad más candente (19)

Guzman cusihunca fredy_taller _my_sql_n1
Guzman cusihunca fredy_taller _my_sql_n1Guzman cusihunca fredy_taller _my_sql_n1
Guzman cusihunca fredy_taller _my_sql_n1
 
Command oracle
Command oracleCommand oracle
Command oracle
 
Ejemplo ddl dml
Ejemplo ddl dmlEjemplo ddl dml
Ejemplo ddl dml
 
Triggers o disparadores en MySQL
Triggers o disparadores en MySQL Triggers o disparadores en MySQL
Triggers o disparadores en MySQL
 
Microsoft sql server
Microsoft sql serverMicrosoft sql server
Microsoft sql server
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
 
DDL - Lenguaje de definición de datos
DDL - Lenguaje de definición de datosDDL - Lenguaje de definición de datos
DDL - Lenguaje de definición de datos
 
Comandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizComandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-liz
 
Disparadores
DisparadoresDisparadores
Disparadores
 
Taller de MySQL (DDL)
Taller de MySQL (DDL)Taller de MySQL (DDL)
Taller de MySQL (DDL)
 
Introduccion a SQL
Introduccion a SQL Introduccion a SQL
Introduccion a SQL
 
Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)
 
Comandos ddl
Comandos ddlComandos ddl
Comandos ddl
 
Tutorial 9 consultar, modificar, insertar y borrar con asp
Tutorial 9   consultar, modificar, insertar y borrar con aspTutorial 9   consultar, modificar, insertar y borrar con asp
Tutorial 9 consultar, modificar, insertar y borrar con asp
 
81 Php. Creacion De Tablas
81 Php. Creacion De Tablas81 Php. Creacion De Tablas
81 Php. Creacion De Tablas
 
Sesión02 - Creación de objetos (Oracle)
Sesión02 - Creación de objetos (Oracle)Sesión02 - Creación de objetos (Oracle)
Sesión02 - Creación de objetos (Oracle)
 
Breve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLBreve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQL
 
Fundamentos sql server2
Fundamentos sql server2Fundamentos sql server2
Fundamentos sql server2
 
Consultas SQL
Consultas SQLConsultas SQL
Consultas SQL
 

Destacado

Administración y Programación microsoft SQL Server 2008 por Yamil Lambert Sar...
Administración y Programación microsoft SQL Server 2008 por Yamil Lambert Sar...Administración y Programación microsoft SQL Server 2008 por Yamil Lambert Sar...
Administración y Programación microsoft SQL Server 2008 por Yamil Lambert Sar...Yamil Lambert
 
Administración y programación en sql server
Administración y programación en sql serverAdministración y programación en sql server
Administración y programación en sql serverIsabel_Samir
 
Sql Consultas MáS Complejas
Sql Consultas MáS ComplejasSql Consultas MáS Complejas
Sql Consultas MáS Complejasalexmerono
 
MANUAL COMPLETO DE SQL
MANUAL COMPLETO DE SQLMANUAL COMPLETO DE SQL
MANUAL COMPLETO DE SQLEdgar Sandoval
 
Waste on Water - Preliminary Research Paper
Waste on Water - Preliminary Research PaperWaste on Water - Preliminary Research Paper
Waste on Water - Preliminary Research PaperYi Yun Low
 

Destacado (6)

Administración y Programación microsoft SQL Server 2008 por Yamil Lambert Sar...
Administración y Programación microsoft SQL Server 2008 por Yamil Lambert Sar...Administración y Programación microsoft SQL Server 2008 por Yamil Lambert Sar...
Administración y Programación microsoft SQL Server 2008 por Yamil Lambert Sar...
 
Administración y programación en sql server
Administración y programación en sql serverAdministración y programación en sql server
Administración y programación en sql server
 
Sql Consultas MáS Complejas
Sql Consultas MáS ComplejasSql Consultas MáS Complejas
Sql Consultas MáS Complejas
 
MANUAL COMPLETO DE SQL
MANUAL COMPLETO DE SQLMANUAL COMPLETO DE SQL
MANUAL COMPLETO DE SQL
 
Waste on Water - Preliminary Research Paper
Waste on Water - Preliminary Research PaperWaste on Water - Preliminary Research Paper
Waste on Water - Preliminary Research Paper
 
Manual sql server parte 1
Manual sql server parte 1Manual sql server parte 1
Manual sql server parte 1
 

Similar a Modulo de programacion sql unidad II

Manual MySQL.pdf
Manual MySQL.pdfManual MySQL.pdf
Manual MySQL.pdfquesadah
 
Sql desde cero
Sql desde ceroSql desde cero
Sql desde ceroshochino
 
MySQL. Tutorial Básico
MySQL. Tutorial BásicoMySQL. Tutorial Básico
MySQL. Tutorial BásicoJosu Orbe
 
Sql manipulacion de tabla
Sql manipulacion de tablaSql manipulacion de tabla
Sql manipulacion de tabladmonges
 
Proyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases DatosProyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases DatosAndreitap de Granda
 
Guia basica de MySQL 2
Guia basica de MySQL 2Guia basica de MySQL 2
Guia basica de MySQL 2vinceq
 
Material Clase BDD: Diseño de una Base de Datos
Material Clase BDD: Diseño de una Base de DatosMaterial Clase BDD: Diseño de una Base de Datos
Material Clase BDD: Diseño de una Base de Datosliras loca
 
Instrucciones basicas my sql
Instrucciones basicas my sqlInstrucciones basicas my sql
Instrucciones basicas my sqlnilzealvarez1
 
ManualPracticoSQL.pdf
ManualPracticoSQL.pdfManualPracticoSQL.pdf
ManualPracticoSQL.pdfJenny29068
 
Sesión03 - Creación de objetos (Oracle)
Sesión03 - Creación de objetos (Oracle)Sesión03 - Creación de objetos (Oracle)
Sesión03 - Creación de objetos (Oracle)José Toro
 
04 Primeros pasos con my sql
04 Primeros pasos con my sql04 Primeros pasos con my sql
04 Primeros pasos con my sqltoniserna
 
T8 – Bases de Datos en MySQL (1).pptx
T8 – Bases de Datos en MySQL (1).pptxT8 – Bases de Datos en MySQL (1).pptx
T8 – Bases de Datos en MySQL (1).pptxDanaSoto7
 
Manual practico para sql ingieneria de sistemas
Manual practico para sql ingieneria de sistemas  Manual practico para sql ingieneria de sistemas
Manual practico para sql ingieneria de sistemas Crhis
 

Similar a Modulo de programacion sql unidad II (20)

210927124637-Manual MySQL.pdf
210927124637-Manual MySQL.pdf210927124637-Manual MySQL.pdf
210927124637-Manual MySQL.pdf
 
Manual MySQL.pdf
Manual MySQL.pdfManual MySQL.pdf
Manual MySQL.pdf
 
Curso my sql
Curso my sqlCurso my sql
Curso my sql
 
Clase 2 El lenguaje DDL de SQL
Clase 2 El lenguaje DDL de SQLClase 2 El lenguaje DDL de SQL
Clase 2 El lenguaje DDL de SQL
 
Sql desde cero
Sql desde ceroSql desde cero
Sql desde cero
 
MySQL. Tutorial Básico
MySQL. Tutorial BásicoMySQL. Tutorial Básico
MySQL. Tutorial Básico
 
Parte 08 my sql
Parte 08 my sqlParte 08 my sql
Parte 08 my sql
 
Indices en workbench
Indices en workbenchIndices en workbench
Indices en workbench
 
Sql manipulacion de tabla
Sql manipulacion de tablaSql manipulacion de tabla
Sql manipulacion de tabla
 
Proyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases DatosProyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases Datos
 
Guia basica de MySQL 2
Guia basica de MySQL 2Guia basica de MySQL 2
Guia basica de MySQL 2
 
Material Clase BDD: Diseño de una Base de Datos
Material Clase BDD: Diseño de una Base de DatosMaterial Clase BDD: Diseño de una Base de Datos
Material Clase BDD: Diseño de una Base de Datos
 
54563910 curso-de-mysql
54563910 curso-de-mysql54563910 curso-de-mysql
54563910 curso-de-mysql
 
Instrucciones basicas my sql
Instrucciones basicas my sqlInstrucciones basicas my sql
Instrucciones basicas my sql
 
Mysql
MysqlMysql
Mysql
 
ManualPracticoSQL.pdf
ManualPracticoSQL.pdfManualPracticoSQL.pdf
ManualPracticoSQL.pdf
 
Sesión03 - Creación de objetos (Oracle)
Sesión03 - Creación de objetos (Oracle)Sesión03 - Creación de objetos (Oracle)
Sesión03 - Creación de objetos (Oracle)
 
04 Primeros pasos con my sql
04 Primeros pasos con my sql04 Primeros pasos con my sql
04 Primeros pasos con my sql
 
T8 – Bases de Datos en MySQL (1).pptx
T8 – Bases de Datos en MySQL (1).pptxT8 – Bases de Datos en MySQL (1).pptx
T8 – Bases de Datos en MySQL (1).pptx
 
Manual practico para sql ingieneria de sistemas
Manual practico para sql ingieneria de sistemas  Manual practico para sql ingieneria de sistemas
Manual practico para sql ingieneria de sistemas
 

Último

Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)veganet
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesRaquel Martín Contreras
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxEribertoPerezRamirez
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfEDILIAGAMBOA
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 

Último (20)

DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materiales
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdf
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 

Modulo de programacion sql unidad II

  • 1. PROGRAMACIÓN SQL 1 Tutor: Yasser Alvarado S. UNIDAD II PRIMEROS PASOS EN LA CONSOLA DE MYSQL Antes de empezar, se debe aclarar que toda sentencia de SQL termina con un punto y coma (;). Para mostrar las bases de datos existentes en el Servidor MySql, utilizamos el siguiente comando: mysql > show databases; Para trabajar con una base de datos utilizamos: mysql > use nombreBaseDatos; Para visualizar las tablas de una Base de Datos: mysql > show tables; Para observar la estructura de una tabla, digitamos el siguiente comando: Mysql > describe NombredeTabla; 1. mysql > describe autosenventa;
  • 2. PROGRAMACIÓN SQL 2 Tutor: Yasser Alvarado S. Asi mismo para visualizar la versión de MySql utilizamos el comando: mysql> SELECT VERSION(); Para observar la fecha actual: se pueden hacer pequeñas operaciones como: mysql> SELECT CURRENT_DATE(); Se puede utilizar 2 o más comandos a la vez: mysql> SELECT VERSION(), CURRENT_DATE(); Se puede realizer operaciones matematicas: mysql> SELECT SIN(PI()/4), (4+1)*5; mysql> SELECT 7 *8; Para visualizar el usuario actual: mysql> select user(); Para visualizar fecha y hora actual: mysql> select now(); Para cerrar o salir de la consola: mysql> exit;
  • 3. PROGRAMACIÓN SQL 3 Tutor: Yasser Alvarado S. CREANDO UNA BASE DE DATOS Mysql> create database biblioteca; Si todo va como esperado, aparecerá una línea de código similar a ésta: Query OK, 1 row affected (0.05 sec). Acabamos de crear una base de datos llamada “biblioteca”. Para comprobarlo, es tan fácil como utilizar el comando que justo acabamos de aprender, show databases; Veremos que ahora en el listado aparece biblioteca. Para empezar, seleccionemos ahora la base de datos “biblioteca: Mysql> use biblioteca; CREAR UNA TABLA Partimos de la base de datos que acabamos de crear llamada “biblioteca”. En ella queremos crear una tabla llamada “libros” que recoja el fondo bibliográfico. En nuestra tabla de ejemplo crearemos los campos “titulo”, “autor”, “fecha_publicacion” y “cantidad”. Mysql> create table libros( libro_id int unsigned auto_increment, titulo varchar(50) not null, autor varchar(30) not null default 'Desconocido', cantidad smallint unsigned default 0, primary key (libro_id) ); No nos asustemos, aquí hemos introducido muchas cosas de golpe, vayamos paso por paso. Hemos creado varios campos con una serie de parámetros. Los campos han de ir separados por coma y dentro del paréntesis. Aquí el punto y coma va al final, después del paréntesis. Es muy fácil olvidárselo, por lo que prestad especial atención en este punto. Veamos ahora que hemos hecho: create table libros crea una tabla llamada libros. Podríamos haber hecho lo siguiente: create table libros;
  • 4. PROGRAMACIÓN SQL 4 Tutor: Yasser Alvarado S. Lo que habría pasado, es que habríamos creado una tabla vacía, esto es, sin ningún campo. Como hemos dicho, una tabla está compuesta por campos y por registros. Para poder introducir un registro en la misma, primero es necesario crear los campos, que es lo que hemos hecho. Así en nuestro ejemplo hemos creado cuatro campos:libro_id, titulo, autor y cantidad. ¿por qué crear un libro_id? Veamos ahora uno por uno cada uno de los campos creados: libro_id int unsigned auto_increment, Lo primero que indicamos siempre es el nombre del campo que estamos creando. int significa integer, lo que quiere decir que tiene que ser un número entero. unsigned significa que no puede ser negativo, por lo que la cuenta empezará con el 1. auto_increment significa que el propio gestor de bases de datos, en este caso MySQL, incrementará de manera automática este valor cada vez que introduzcamos un registro en esta tabla. titulo varchar(50) not null, Ahora estamos creando un campo llamado titulo. Varchar significa caracteres y varchar(50) indica que este campo está formado por una cadena de como máximo 50 caracteres. Significa que este campo es obligatorio y que no podemos dejarlo en blanco. autor varchar(30) not null default 'Desconocido', Efectivamente, esta sentencia crea un campo llamado autor de como mucho 30 caracteres que tampoco puede dejarse en blanco. Aquí introducimos una diferencia, y es que hemos añadido default 'Desconocido'. Significa que si no introducimos nada, el sistema automáticamente pondrá que el autor es Desconocido. Así, un libro siempre tiene título, pero no siempre aparece un autor, pensemos en muchos libros de texto o en libros de autor anónimo. cantidad smallint unsigned default 0, smallint es un tipo de número entero que no admite valores grandes, esto nos sirve para evitar errores de tecleado. Aquí hemos creado un campo llamado cantidad que es un número entero pequeño positivo y que en caso de dejarlo en blanco el sistema pondrá que no hay ninguno. El motivo por el que el default es 0 y no 1, es porque un libro se puede haber extraviado. 1 primary key (libro_id) Aquí definimos que la clave primaria de esta tabla será el id del libro.
  • 5. PROGRAMACIÓN SQL 5 Tutor: Yasser Alvarado S. Mostrar las tablas de una base de datos Para ver la tabla que acabamos de crear, utilizamos este comando: Mysql> show tables; Veremos ahora que aparece "libros" en el resultado. Mostrar los campos de una tabla Para inspeccionar los campos de la tabla "libros", usamos el comando explain: Mysql> explain libros; Mysql> describe libros; MODIFICAR UNA TABLA Imaginemos ahora que queremos añadir el campo "editorial" a nuestra tabla "libros". Mysql> alter table libros add editorial varchar(50) not null; Si ahora ejecutamos el comando explain libros; veremos que ha creado un campo llamado editorial. Imaginemos que en lugar de 50 caracteres sólo admita 20. Lo podemos modificar así Mysql> alter table libros modify column editorial varchar(20) not null; Ya hemos creado nuestra tabla libros con cuatro campos. Ahora vamos a proceder a incluir registros en la tabla. INSERTAR REGISTROS EN LA TABLA Mysql> insert into libros (titulo, autor, cantidad) values ('Un mundo cualquiera', 'Pepito Frito', 2); Con esta simple sentencia hemos creado nuestro primer registro en MySQL. Lo que le decimos es que inserte dentro de libros "Un mundo cualquiera" en el campo título, "Pepito Frito" en el campo autor y 2 en el campo cantidad.
  • 6. PROGRAMACIÓN SQL 6 Tutor: Yasser Alvarado S. Para visualizar los registros de la tabla libros, escribimos el siguiente comando: Mysql> select * from libros; Imaginemos ahora que hemos comprado un libro más y que queremos actualizar la cantidad a 3, veamos ahora como lo podemos modificar. Modificar registros de una tabla Mysql> update libros set cantidad=3 where titulo like 'Un mundo cualquiera'; Le decimos que actualiza la tabla libros, poniendo en cantidad 3 y que la condición es que el título sea "Un mundo cualquiera". Con where estamos estableciendo una condición, si no la ponemos, lo que hará es poner 3 en TODOS los registros, por lo que es muy importante no olvidarse el where. Podemos también hacer la modificación de la siguiente manera: Mysql> update libros set cantidad=10 where libro_id = 1; MODIFICAR EL NOMBRE DE UNA TABLA Si quisiéramos cambiar el nombre de la tabla libros al de fondo_bibliotecario, haríamos lo siguiente: Mysql> rename table libros to fondo_bibliotecario;
  • 7. PROGRAMACIÓN SQL 7 Tutor: Yasser Alvarado S. CONSULTAS DE ACCIÓN Explicamos detenidamente las sentencias delete, insert into y update, para la realización de consultas en las bases de datos. Las consultas de acción son aquellas que no devuelven ningún registro, son las encargadas de acciones como añadir y borrar y modificar registros. Tanto las sentencias de actualización como las de borrado desencaderán (según el motor de datos) las actualizaciones en cascada, borrados en cascada, restricciones y valores por defecto definidos para los diferentes campos o tablas afectadas por la consulta. DELETE Crea una consulta de eliminación que elimina los registros de una o más de las tablas listadas en la cláusula FROM que satisfagan la cláusula WHERE. Esta consulta elimina los registros completos, no es posible eliminar el contenido de algún campo en concreto. Su sintaxis es: DELETE FROM Tabla WHERE criterio Una vez que se han eliminado los registros utilizando una consulta de borrado, no puede deshacer la operación. Si desea saber qué registros se eliminarán, primero examine los resultados de una consulta de selección que utilice el mismo criterio y después ejecute la consulta de borrado. Mantenga copias de seguridad de sus datos en todo momento. Si elimina los registros equivocados podrá recuperarlos desde las copias de seguridad. DELETE FROM Empleados WHERE Cargo = 'Vendedor' INSERT INTO Agrega un registro en una tabla. Se la conoce como una consulta de datos añadidos. Esta consulta puede ser de dos tipo: Insertar un único registro ó Insertar en una tabla los registros contenidos en otra tabla. Para insertar un único Registro: En este caso la sintaxis es la siguiente: INSERT INTO Tabla (campo1, campo2, ..., campoN) VALUES (valor1, valor2, ..., valorN) Esta consulta graba en el campo1 el valor1, en el campo2 y valor2 y así sucesivamente.
  • 8. PROGRAMACIÓN SQL 8 Tutor: Yasser Alvarado S. Para seleccionar registros e insertarlos en una tabla nueva En este caso la sintaxis es la siguiente: SELECT campo1, campo2, ..., campoN INTO nuevatabla FROM tablaorigen [WHERE criterios] Se pueden utilizar las consultas de creación de tabla para archivar registros, hacer copias de seguridad de las tablas o hacer copias para exportar a otra base de datos o utilizar en informes que muestren los datos de un periodo de tiempo concreto. Por ejemplo, se podría crear un informe de Ventas mensuales por región ejecutando la misma consulta de creación de tabla cada mes. Para insertar Registros de otra Tabla: En este caso la sintaxis es: INSERT INTO Tabla [IN base_externa] (campo1, campo2, , campoN) SELECT TablaOrigen.campo1, TablaOrigen.campo2,,TablaOrigen.campoN FROM Tabla Origen En este caso se seleccionarán los campos 1,2,..., n de la tabla origen y se grabarán en los campos 1,2,.., n de la Tabla. La condición SELECT puede incluir la cláusula WHERE para filtrar los registros a copiar. Si Tabla y Tabla Origen poseen la misma estructura podemos simplificar la sintaxis a: INSERT INTO Tabla SELECT Tabla Origen.* FROM Tabla Origen De esta forma los campos de Tabla Origen se grabarán en Tabla, para realizar esta operación es necesario que todos los campos de Tabla Origen estén contenidos con igual nombre en Tabla. Con otras palabras que Tabla posea todos los campos de Tabla Origen (igual nombre e igual tipo). En este tipo de consulta hay que tener especial atención con los campos contadores o autonuméricos puesto que al insertar un valor en un campo de este tipo se escribe el valor que contenga su campo homólogo en la tabla origen, no incrementándose como le corresponde. Se puede utilizar la instrucción INSERT INTO para agregar un registro único a una tabla, utilizando la sintaxis de la consulta de adición de registro único tal y como se mostró anteriormente. En este caso, su código especifica el nombre y el valor de cada campo del registro. Debe especificar cada uno de los campos del registro al que se le va a asignar un valor así como el valor para dicho campo. Cuando no se especifica dicho campo, se inserta el valor predeterminado o Null. Los registros se agregan al final de la tabla. También se puede utilizar INSERT INTO para agregar un conjunto de registros pertenecientes a otra tabla o consulta utilizando la cláusula SELECT... FROM como se mostró anteriormente en la sintaxis de la consulta de adición de múltiples registros. En este caso la cláusula SELECT especifica los campos que se van a agregar en la tabla destino especificada. La tabla destino u origen puede especificar una tabla o una consulta. Si la tabla destino contiene una clave principal, hay que asegurarse que es única, y con valores no nulos; si no es así, no se agregarán los registros. Si se agregan registros a una tabla con un campo Contador, no se debe incluir el campo
  • 9. PROGRAMACIÓN SQL 9 Tutor: Yasser Alvarado S. Contador en la consulta. Se puede emplear la cláusula IN para agregar registros a una tabla en otra base de datos. Se pueden averiguar los registros que se agregarán en la consulta ejecutando primero una consulta de selección que utilice el mismo criterio de selección y ver el resultado. Una consulta de adición copia los registros de una o más tablas en otra. Las tablas que contienen los registros que se van a agregar no se verán afectadas por la consulta de adición. En lugar de agregar registros existentes en otra tabla, se puede especificar los valores de cada campo en un nuevo registro utilizando la cláusula VALUES. Si se omite la lista de campos, la cláusula VALUES debe incluir un valor para cada campo de la tabla, de otra forma fallará INSERT. Ejemplos INSERT INTO Clientes SELECT ClientesViejos.* FROM ClientesNuevos SELECT Empleados.* INTO Programadores FROM Empleados WHERE Categoria = 'Programador' Esta consulta crea una tabla nueva llamada programadores con igual estructura que la tabla empleado y copia aquellos registros cuyo campo categoria se programador INSERT INTO Empleados (Nombre, Apellido, Cargo) VALUES ( 'Luis', 'Sánchez', 'Becario' ) INSERT INTO Empleados SELECT Vendedores.* FROM Vendedores WHERE Provincia = 'Madrid' UPDATE
  • 10. PROGRAMACIÓN SQL 10 Tutor: Yasser Alvarado S. Crea una consulta de actualización que cambia los valores de los campos de una tabla especificada basándose en un criterio específico. Su sintaxis es: UPDATE Tabla SET Campo1=Valor1, Campo2=Valor2, CampoN=ValorN WHERE Criterio UPDATE es especialmente útil cuando se desea cambiar un gran número de registros o cuando éstos se encuentran en múltiples tablas. Puede cambiar varios campos a la vez. El ejemplo siguiente incrementa los valores Cantidad pedidos en un 10 por ciento y los valores Transporte en un 3 por ciento para aquellos que se hayan enviado al Reino Unido.: UPDATE Pedidos SET Pedido = Pedidos * 1.1, Transporte = Transporte * 1.03 WHERE PaisEnvío = 'ES' UPDATE no genera ningún resultado. Para saber qué registros se van a cambiar, hay que examinar primero el resultado de una consulta de selección que utilice el mismo criterio y después ejecutar la consulta de actualización. UPDATE Empleados SET Grado = 5 WHERE Grado = 2 UPDATE Productos SET Precio = Precio * 1.1 WHERE Proveedor = 8 AND Familia = 3 Si en una consulta de actualización suprimimos la cláusula WHERE todos los registros de la tabla señalada serán actualizados. UPDATE Empleados SET Salario = Salario * 1.1