Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Lenguaje SQL

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 14

Lenguaje SQL

El documento esta divido en 3 partes; la primera es la parte teórica con ejercicios,


la segunda es una práctica resuelta y la tercera una práctica que debes resolver en
la libreta, para ello se sugiere analices la teoría y la práctica resuelta.

Lenguaje SQL
SQL significa (Structured Query Language) es un lenguaje que nos permite
interactuar con una base de datos relacional.

Un motor de base de datos (RDBMS) permite administrar a las bases de datos, en


nuestro caso trabajaremos en MySQL.

Ejemplos de gestores de bases de datos son MySql, Oracle, SQLServer, Postgresql,


etc.
Una base de datos contiene tablas relacionadas entre sí y cada tabla contiene
renglones y columnas que guardan cierta información, estos son solo algunos
de los conceptos utilizados en las bases de datos, a continuación, vamos a
revisar algunos ejemplos de sentencias en MySQL y así observaremos cómo vamos
a manipular la información almacenada en una base de datos.

En SQL existen varias clasificaciones para poder interactuar con una base de
datos desde administrarla, manipular sus datos, hasta poder corregir
información errónea e incongruente dentro de una base de datos.

El lenguaje de definición de datos.

 Brinda la posibilidad de describir los


elementos de los datos, sus
interrelaciones, sus estructuras y sus
validaciones a nivel interno y externo.

 CREATE. Permite la creación de bases de datos y tablas.

Ejemplo creación de BD:


créate database dbTienda;
Donde:
create → sentencia.
database → palabra reservada de lenguaje que hace referencia al objeto
creado.
dbprueba → nombre del objeto creado.
Lenguaje SQL

Ejemplo creación de una tabla:


create table Clientes (id_cliente int, nombre varchar(50), teléfono int(10),
id_proveedor int, primary key(id_cliente), foreign key (id_proveedor) references
tbproveedores);

Donde:
create → sentencia.
table → palabra reservada de lenguaje que hace referencia al objeto
creado.
id_cliente int
nombre varchar(50) → campos y tipo de datos de la tabla.
teléfono int(10)
primary key(id_cliente). → Asignación de la llave primaria a la
tabla.
Foreig key (id_provedor) references tbproveedores → Asigna llave foránea
de la tabla proveedores.

 ALTER TABLE. Como su nombre lo indica sirve para alterar objetos ya


creados en un base de datos, su uso principal es la modificación de tablas.

Ejemplos con ALTER TABLE:

ALTER TABLE CLIENTES RENAME CLIENTES1


Cambia el nombre de la tabla ‘CLIENTES’ a ‘CLIENTES1’

ALTER TABLE PRODUCTOS AUTO_INCREMENT=0


En la tabla 'ejemplo' cualquiera que sea la columna que tenga 'AUTO_INCREMENT'
en sus propiedades (solo puede haber una), los nuevos registros comenzarán a
partir de ‘0' o cualquier número indicado, no es posible utilizar un valor ya existente.

ALTER TABLE clientes DROP COLUMN nombre


Elimina la columna 'nombre' de la tabla 'ejemplo’.

ALTER TABLE clientes DROP COLUMN nombre, DROP COLUMN telefono


Elimina más de una columna.

ALTER TABLE clientes DROP PRIMARY KEY


Elimina la llave primaria de la tabla clientes’

ALTER TABLE productos DROP FOREIGN KEY id_usuario


Elimina de la taba ‘productos' la llave foránea ‘clave’

ALTER TABLE ejemplo CHANGE monto cantidad FLOAT(8,2)


Lenguaje SQL

Cambia el nombre de la columna 'monto' al nuevo nombre 'cantidad' con la


definición del tipo de datos.

ALTER TABLE ejemplo CHANGE cantidad cantidad FLOAT(10,2)


Cambia solo el tipo de datos de la columna, conservando el mismo nombre.

ALTER TABLE ejemplo MODIFY cantidad FLOAT(10,2)


Cambia solo el tipo de datos de la columna, conservando el mismo nombre. (Igual
que el anterior)

ALTER TABLE ejemplo MODIFY cantidad FLOAT(6,2) NOT NULL


Cambia el tipo de datos de la columna 'cantidad' y especifica que no admite nulos.

ALTER TABLE ejemplo MODIFY paterno VARCHAR(30)


Modifica el tamaño de la columna 'paterno’.

El lenguaje de manipulación de datos.

 Permite buscar, modificar, añadir y


borrar los datos, de la información
almacenada de una base
de datos.

❖ Sentencia Select: Selecciona registros de la base de datos.


❖ Sentencia Insert: Inserta registros en la base de datos.
❖ Sentencia Update: Actualiza registros en la base de datos.
❖ Sentencia Delete: Elimina registros de una base de datos.

 INSERT INTO. Inserta nuevos registros en una tabla existente. Las formas
INSERT ... VALUES y INSERT ... SET del comando insertan registros basados en
valores explícitamente especificados.

Ejemplo:
INSERT INTO CLIENTES VALUES (“Andrea Martínez”,5555555555);
Donde:
INSERT INTO → sentencia.
TBCLIENTES → nombre de la tabla en la que se agregaran los
registros.
VALUES (Andrea Martínez”,5555555555) → Datos que se ingresan a la
tabla.
Lenguaje SQL

Ejemplos de sentencias de manipulación de datos.

INSERT INTO
INSERT INTO Clientes VALUES(‘ADRIANA PAOLA CUJAR ALARCON’,’Mujer’,
5510548020);
Inserta en la tabla clientes un registro con los datos que están entre “()”

UPDATE
UPDATE Clientes set telefono= 5510548222 where nombre=‘ADRIANA
GIRALDO GOMEZ’;
Actualiza el campo teléfono del registro donde el nombre es igual a ‘ADRIANA
GIRALDO GOMEZ’

DELETE
DELETE Productos where clave=‘AP001’;
Elimina el registro de la tabla productos , en donde el campo clave es ‘AP001’

 SELECT. Selecciona registros de la base de datos, puede ir acompañado de la


clausula WHERE, ORDER BY, ETC.

Ejemplos de consultas simples.

Consulta todos los registros de una tabla llamada tbproductos.


SELECT *FROM TBPRODUCTOS;

Consulta campos específicos de la tabla tbclientes


SELECT id_cliente, nombre FROM TBCLIENTES;

Consulta el campo nombre de la tabla clientes, evitando repeticiones.


SELECT DISTINCT id_nombre FROM TBCLIENTES;

Ejemplo de consultas → Cláusula WHERE

SELECT *FROM TBPRODUCTOS WHERE NOMBRE_PRODUCTO="SAL";


Selecciona los registros que tengan el valor de ‘SAL’ en el campo
nombre_producto.

Ejemplo de consultas → Cláusula ORDER BY


SELECT *FROM TBCLIENTES WHERE ID_CLIENTE > 200 ORDER BY
NOMBRE_CLIENTE;
Selecciona los clients cuyo ID_CLIENTE sea mayor a 200 y ordena los registros
mostrados por el campo NOMBRE_CLIENTE.

Ejemplo de consultas → Cláusula LÍMIT


Lenguaje SQL

SELECT *FROM TBCLIENTES ORDER BY ID_CLIENTE DESC LIMIT 10;


Selecciona todos los registros de la tabla TBCLIENTES, ordena por el campo
ID_CLIENTE de forma descendente y limita la consulta a 10 registros.

Práctica 1 “Lenguaje SQL” (Resuelta)

A continuación se presenta el diseño relacional y físico de una base de datos


que organiza la información de recursamientos con 3 tablas; alumnos, docentes,
cursos.

A partir del diseño relacional mostrado se requiere realizar las siguientes acciones
utilizando el lenguaje de definición de datos.

1. Código para crear la base de datos dbrecursamiento.


CREATE DATABASE dbrecursamiento;

Resultado de forma gráfica:


Lenguaje SQL

2. Código para la creación de las tablas


CREATE TABLE tbalumnos(id_alumno int AUTO_INCREMENT, nombre
varchar(50), edad int(2), direccion varchar(60), telefono
varchar(10), email varchar(50), PRIMARY KEY(id_alumno));

CREATE TABLE tbdocentes(id_docente int AUTO_INCREMENT, nombre


varchar(50), direccion varchar(60), telefono varchar(10), email
varchar(50), PRIMARY KEY(id_docente));

CREATE TABLE tbcursos(id_curso int AUTO_INCREMENT, id_alumno


int, id_docente int, nombre varchar(50), PRIMARY KEY(id_curso),
FOREIGN KEY(id_alumno) REFERENCES tbalumnos(id_alumno), FOREIGN
KEY(id_docente) REFERENCES tbdocentes(id_docente));

Resultado de forma gráfica:

3. A continuación, y tomando los datos de las siguientes tablas, realiza el script


para su llenado, utilizando para ello el lenguaje de manipulación de datos.

id_docente Nombre direccion Teléfono email


1 Daniela Suarez Islas Blvl Indepependencia #2250 5678987654 daniela@gmail.com
2 Juan Pedro Ortiz Escamilla Av del trabajo #123 7865434567 pedro@gmail.com
3 Luis Mendoza Cortez Av. Matamoros #1312 8987544345 luis@gmail.com
4 Samanta López Carrillo Av. Granda # 345 7865439876 samanta@gmail.com
5 Manuel Sánchez Andrade AV. 2 cruces #456 7896543567 manuel@gmail.com

id_alumno nombre semestre grupo edad direccion telefono email


Juan López Av. 20 de
1 Pérez 1 A 18 noviembre #406 5678987654 juan@gmail.com
Sandra Salas Av. 16 de
2 Castro 3 C 16 semptiembre #765 2345676434 sandra@gmail.com
Debora Calle de los olivos
3 Sánchez Lira 5 D 17 #23 4578987789 debora@gmail.com
Mario Marquez Av. 5 de febrero
4 Hernández 1 N 15 #45 5678987654 mario@gmail.com
Mariel Cortes
5 Aguilar 1 F 15 Av. 5 de mayo #34 5678567874 mariel@gmail.com
Francisco Calle Ignacio
6 Gómez Cerón 5 E 17 Zaragoza s/n 9876567845 franciso@gmail.com
Alfredo Av. Guerrero
7 Zacarias Pérez 5 A 18 #1029 5676432311 alfredo@gmail.com
Lenguaje SQL

Blvl
Sarai Islas Indepependencia
8 Mendoza 3 B 16 #2000 5678987654 sarai@gmail.com

Id_curso Alumno Docente Docente


Matemáticas
1 Juan López Pérez Daniela Suarez Islas 1
Matemáticas
2 Sandra Salas Castro Luis Mendoza Cortez 2
Matemáticas
3 Mario Marquez Hernández Samanta López Carrillo 1
Matemáticas
4 Mariel Cortes Aguilar Daniela Suarez Islas 2
5 Francisco Gómez Cerón Daniela Suarez Islas Español 1
6 Alfredo Zacarias Pérez Juan Pedro Ortiz Escamilla Español 2
Matemáticas
7 Sarai Islas Mendoza Samanta López Carrillo 2
Matemáticas
8 Debora Sánchez Lira Samanta López Carrillo 1
Matemáticas
9 Sandra Salas Castro Manuel Sánchez Andrade 2
10 Sarai Islas Mendoza Daniela Suarez Islas Español 1
11 Alfredo Zacarias Pérez Juan Pedro Ortiz Escamilla Español 2

INSERT INTO tbalumnos(nombre, edad, direccion, telefono, email) VALUES


('Juan López Pérez',18, 'Av. 20 de noviembre #406',5678987654,
'juan@gmail.com');
INSERT INTO tbalumnos(nombre, edad, direccion, telefono, email) VALUES
('Sandra Salas Castro',16, 'Av. 16 de semptiembre #765',2345676434,
'sandra@gmail.com');
INSERT INTO tbalumnos(nombre, edad, direccion, telefono, email) VALUES
('Debora Sánchez Lira',17, 'Calle de los olivos #23',4578987789,
'debora@gmail.com');
INSERT INTO tbalumnos(nombre, edad, direccion, telefono, email) VALUES
('Mario Marquez Hernández',15, 'Av. 5 de febrero #45',5678987654,
'mario@gmail.com');
INSERT INTO tbalumnos(nombre, edad, direccion, telefono, email) VALUES
('Mariel Cortes Aguilar',15, 'Av. 5 de mayo #34',5678567874,
'mariel@gmail.com');
INSERT INTO tbalumnos(nombre, edad, direccion, telefono, email) VALUES
('Francisco Gómez Cerón',17, 'Calle Ignacio Zaragoza s/n',9876567845,
'franciso@gmail.com');
INSERT INTO tbalumnos(nombre, edad, direccion, telefono, email) VALUES
('Alfredo Zacarias Pérez',18, 'Av. Guerrero #1029',5676432311,
'alfredo@gmail.com');
INSERT INTO tbalumnos(nombre, edad, direccion, telefono, email) VALUES
('Sarai Islas Mendoza',16, 'Blvl Indepependencia #2000',5678987654,
'sarai@gmail.com');
Lenguaje SQL

INSERT INTO tbdocentes(nombre, direccion, telefono, email) VALUES


('Daniela Suarez Islas', 'Blvl Indepependencia #2250',5678987654,
'daniela@gmail.com');
INSERT INTO tbdocentes(nombre, direccion, telefono, email) VALUES
('Pedro Ortíz Escamilla', 'Av del trabajo #123',7865434567,
'pedro@gmail.com');
INSERT INTO tbdocentes(nombre, direccion, telefono, email) VALUES
('Luis Mendoza Cortez', 'Av. Matamoros #1312',8987544345,
'luis@gmail.com');
INSERT INTO tbdocentes(nombre, direccion, telefono, email) VALUES
('Samanta López Carrillo', 'Av. Granda # 345',7865439876,
'samanta@gmail.com');
INSERT INTO tbdocentes(nombre, direccion, telefono, email) VALUES
('Manuel Sánchez Andrade', 'AV. 2 cruces #456',7896543567,
'manuel@gmail.com');

INSERT INTO tbcursos(id_alumno, id_docente, nombre) VALUES


(1,1,'Matemáticas 1');
INSERT INTO tbcursos(id_alumno, id_docente, nombre) VALUES
(2,3,'Matemáticas 2');
INSERT INTO tbcursos(id_alumno, id_docente, nombre) VALUES
(4,4,'Matemáticas 1');
INSERT INTO tbcursos(id_alumno, id_docente, nombre) VALUES
(5,1,'Matemáticas 2');
INSERT INTO tbcursos(id_alumno, id_docente, nombre) VALUES
(6,1,'Español 1');
INSERT INTO tbcursos(id_alumno, id_docente, nombre) VALUES
(7,2,'Español 2');
INSERT INTO tbcursos(id_alumno, id_docente, nombre) VALUES
(8,4,'Matemáticas 2');
INSERT INTO tbcursos(id_alumno, id_docente, nombre) VALUES
(3,4,'Matemáticas 1');
INSERT INTO tbcursos(id_alumno, id_docente, nombre) VALUES
(2,5,'Matemáticas 2');
INSERT INTO tbcursos(id_alumno, id_docente, nombre) VALUES
(8,1,'Español 1');
INSERT INTO tbcursos(id_alumno, id_docente, nombre) VALUES
(7,2,'Español 2');

Resultado de forma gráfica


Lenguaje SQL

4. Ahora realizaremos las siguientes consultas a la base de datos.


a) Seleccionar todos los registros de la tabla tbalumnos.

SELECT * FROM tbalumnos

Resultado de forma gráfica:

b) Seleccionar el nombre y grupo de los alumnos que recursen matemáticas


1.
SELECT tbalumnos.nombre, tbalumnos.semestre, tbalumnos.grupo
FROM tbalumnos,tbcursos WHERE tbcursos.nombre='Matématicas 1'
AND tbalumnos.id_alumno=tbcursos.id_curso;

Resultado de forma gráfica:


Lenguaje SQL

c) Ordenar la tabla de docentes por el campo nombre.

SELECT * FROM tbdocentes ORDER by nombre ASC;

Resultado de forma gráfica.

d) Indicar ¿Cuántos alumnos recursan Español 1?

SELECT count(tbalumnos.id_alumno) AS Alumnos_Recursan_Español


FROM tbalumnos, tbcursos WHERE
tbcursos.id_alumno=tbalumnos.id_alumno AND
tbcursos.nombre='Español 1';

Resultado de forma gráfica:

e) Selecciona el nombre del docente o docentes que imparten clase al


alumno Sandra Salas Castro.

SELECT tbdocentes.nombre FROM tbdocentes, tbcursos, tbalumnos


WHERE tbalumnos.nombre='Sandra Salas Castro' AND
tbcursos.id_alumno=tbalumnos.id_alumno AND
tbdocentes.id_docente=tbcursos.id_docente;

Resultado de forma gráfica


Lenguaje SQL

5. Renombrar la tabla tbcurso por tbasignatura.

ALTER TABLE tbcursos RENAME tbasignaturas;

Resultado de forma gráfica:

Antes Después

6. Agregar un campo (columna) en la tabla docentes con el nombre rfc, de tipo


varchar y tamaño 10.

ALTER TABLE tbdocentes ADD COLUMN RFC varchar(10);

Resultado de forma gráfica:

7. Actualiza el nombre del docente Pedro Ortiz Escamilla por Juan Pedro Ortiz
Escamilla.

UPDATE tbdocentes SET nombre='Juan Pedro Ortiz Escamilla' WHERE


nombre='Pedro Ortíz Escamilla';

Resultado de forma gráfica:


Lenguaje SQL

Práctica 2 “Lenguaje SQL” (Resolver)


En tu cuaderno realizar las actividades de los puntos 1 al 10., como ejemplo
puedes tomar las repuestas a la práctica 1. Para cada punto se solicita escribir
el script (código), así como dibujar la forma gráfica del resultado que se
obtendría.

Se presenta el diseño relacional es de una base de datos que tiene por objetivo
reservar asesorías académicas durante el curso escolar, y lleva por nombre
dbasesorias.

1. Código para crear la base de datos dbasesorias.


2. Código para la creación de las tablas
3. A continuación, y tomando los datos de las siguientes tablas, realiza el
script para su llenado, utilizando para ello el lenguaje de manipulación de
datos.

Tabla tbasignatura
id_asignatura nombre
1 Física 1
2 Física 2
3 Matemáticas 1
4 Matemáticas aplicadas
5 Quimica
6 Biología
7 Ciencias
Lenguaje SQL
Tabla tbdocentes
id_docente nombre especialidad
8 Artes 1 Margarita Olvera Ing. Industrial
9 Sociedad 2 Manuel Manriquez Matemáticas Aplicada
10 Comercio 3 Melisa Morales Maestra en ciencias
11 Diseño de redes 4 Fidel García Maestro en Educación
12 Ética 5 Maribel Martínez Psicologa
13 TICS 6 Francisco Pérez Medico Veterianario
14 Habilidades digitales 7 Angela Martínez Biologo
15 Programación 1 8 Ana María Silva Ing. Industrial
9 Sandra Solis Sistemas de control
Tabla tbestudiantes
numero_control nombre apellido semestre grupo pasword email telefono fecha_reg
Sánchez
56785 Luis Mendoza 2 A ****** luis@gmail.com 6738383838
12345 Cecilia Álvarez López 4 C ****** ceci@gmail.com 7648983554
22222 Andrea Marquez 6 C ****** andrea@hotmail.com 8765432111
33333 Jose Pérea 2 E ****** jose@gmail.com 8764345668
98765 Cintia Garrido Solis 4 C ***** cinty@hotmail.com 5455455556

Tabla tbasesorias
id_asesoria horario id_docente id_asignatura
10 17:00 - 18:00 Fidel García Matemáticas aplicadas
11 12:00 - 13:00 Margarita Olvera Matemáticas aplicadas
12 12:00 - 13:00 Francisco Pérez Matemáticas aplicadas
13 9:00 - 10:00 Fidel García Ciencias
14 10:00 - 11:00 Fidel García Ética
15 15:00 - 16:00 Angela Martínez Sociedad
16 7:00 - 8:00 Sandra Solis Programación 1
17 14:00 - 15:00 Ana María Silva Habilidades digitales
18 10:00 - 11:00 Maribel Martínez Comercio
19 10:00 - 11:00 Francisco Pérez Diseño de redes
20 13:00 - 14:00 Manuel Manriquez Artes

4. Ahora realizaremos las siguientes consultas a la base de datos.

a) Seleccionar todos los registros de la tabla tbasesorias.


b) Seleccionar el nombre y grupo que cursen el cuarto (4) semestre.
c) Ordenar la tabla de docentes por el campo nombre.
d) Indicar ¿Cuántos docentes imparten asesorías de Matemáticas
aplicadas?
e) Selecciona el nombre de los estudiantes que pertenecen al 4° C.

5. Renombrar la la tabla tbestudiantes por tbalumnos.


Lenguaje SQL

6. Agregar un campo (columna) en la tabla docentes con el nombre rfc, de


tipo varchar y tamaño 10.

7. Actualiza el nombre del alumno Jose Peréa por José Pérez.

8. Elimina la tabla tbalumnos.

9. Actualiza el email del alumno Luis Sánchez Mendoza, ya que cambio


ahora es luismendoza@cetis26.edu.mx.

10. Elimina la columna fecha_reg de la tabla tbalumnos.

También podría gustarte