0% encontró este documento útil (0 votos)
0 vistas17 páginas

Manual SQL

El manual de SQL proporciona una guía completa sobre diversas instrucciones y comandos SQL, incluyendo la selección de bases de datos, manipulación de tablas, inserción y actualización de datos, así como la creación de vistas y procedimientos almacenados. Cada comando se presenta con su sintaxis, descripción y ejemplos prácticos para facilitar su comprensión y aplicación. Este documento es una referencia útil para quienes trabajan con bases de datos SQL.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
0 vistas17 páginas

Manual SQL

El manual de SQL proporciona una guía completa sobre diversas instrucciones y comandos SQL, incluyendo la selección de bases de datos, manipulación de tablas, inserción y actualización de datos, así como la creación de vistas y procedimientos almacenados. Cada comando se presenta con su sintaxis, descripción y ejemplos prácticos para facilitar su comprensión y aplicación. Este documento es una referencia útil para quienes trabajan con bases de datos SQL.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

SQL MANUAL

Angel Aaron Gonzalez


Gonzalez

Databases
11/17/2024

1
2

1. USEUSE
Sintaxis:
USE database_name;
Descripción:
Se utiliza para seleccionar una base de datos específica con la cual trabajar.
Ejemplo:
USE aarondb;

2. ALTER TABLE ... DROP INDEX


Sintaxis:
ALTER TABLE table_name DROP INDEX index_name;
Descripción:
Se usa para eliminar un índice de una tabla.
Ejemplo:
ALTER TABLE sales_detail DROP INDEX fk_details_sale;

3. ALTER TABLE ... DROP FOREIGN KEY


Sintaxis:
ALTER TABLE table_name DROP FOREIGN KEY foreign_key_name;
Descripción:
Elimina una clave foránea de la tabla.
Ejemplo:
ALTER TABLE sales_detail DROP FOREIGN KEY fk_details_sale;

4. SHOW INDEX
Sintaxis:
SHOW INDEX FROM table_name;
Descripción:
Muestra información sobre los índices de una tabla.
Ejemplo:
SHOW INDEX FROM sales_detail;

5. SHOW CREATE TABLE


Sintaxis:
SHOW CREATE TABLE table_name;
Descripción:
Muestra la instrucción CREATE TABLE completa para una tabla.
Ejemplo:
SHOW CREATE TABLE sales_detail;

[Link]
3

6. DESCRIBE
Sintaxis:
DESCRIBE table_name;
Descripción:
Proporciona detalles sobre la estructura de una tabla, como los nombres de
las columnas, tipos de datos y restricciones.
Ejemplo:
DESCRIBE people;

7. ALTER TABLE ... ADD CONSTRAINT ... FOREIGN KEY


Sintaxis:
ALTER TABLE table_name ADD CONSTRAINT constraint_name
FOREIGN KEY (column_name) REFERENCES parent_table
(parent_column)
ON UPDATE action ON DELETE action;
Descripción:
Añade una restricción de clave foránea a una tabla, especificando las
acciones en las operaciones de actualización o eliminación.
Ejemplo:
ALTER TABLE sales_detail ADD CONSTRAINT fk_details_sale
FOREIGN KEY (sale_id) REFERENCES sales (id)
ON UPDATE CASCADE ON DELETE NO ACTION;

8. SHOW VARIABLES
Sintaxis:
SHOW VARIABLES WHERE variable_name = 'variable_name';
Descripción:
Muestra el valor de una variable de sistema específica.
Ejemplo:
SHOW VARIABLES WHERE variable_name = 'foreign_key_checks';

9. INSERT INTO
Sintaxis:
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2,
...);
Descripción:
Inserta nuevas filas en una tabla con valores específicos.
Ejemplo:
INSERT INTO people (names, lastname1, state, zipcode, num)
VALUES ('Aaron Tilin', 'Gonzalez', 'Capilla', '47700', '143');

[Link]
4

10. INSERT IGNORE INTO


Sintaxis:
INSERT IGNORE INTO table_name VALUES (value1, value2, ...), (value1,
value2, ...);
Descripción:
Inserta nuevas filas, ignorando los errores si los datos ya existen (por
ejemplo, si hay duplicados).
Ejemplo:
INSERT IGNORE INTO people
VALUES (2, 'Angel Tilin', 'Barba', 'Perez', 'EL Salvador', 'La Mara', 'SMA',
'12345', '42', 'GOGA030309'),
(5, 'Tilin', 'Barba', 'Perez', 'EL Salvador', 'La Mara', 'SMA', '12345', '42',
'GOGA030309');

11. SELECT * FROM


Sintaxis:
SELECT * FROM table_name;
Descripción:
Selecciona y muestra todas las columnas de la tabla.
Ejemplo:
sql
Copy code
SELECT * FROM people;

12. SELECT ... WHERE ... IN


Sintaxis:
SELECT * FROM table_name WHERE column_name IN (value1, value2, ...);
Descripción:
Selecciona las filas en las que el valor de la columna especificada coincide
con cualquiera de los valores en la lista.
Ejemplo:
SELECT * FROM people WHERE lastname1 IN ('Alcala', 'Perez', 'Muñoz')
ORDER BY lastname1;

13. SELECT ... WHERE ... BETWEEN


Sintaxis:
SELECT * FROM table_name WHERE column_name BETWEEN value1
AND value2;

[Link]
5

Descripción:
Selecciona las filas en las que el valor de la columna está dentro del rango
especificado, incluyendo los extremos.
Ejemplo:
SELECT * FROM people WHERE lastname1 BETWEEN 'Alcala' AND
'Muñoz' ORDER BY lastname1;

14. SELECT ... WHERE ... NOT BETWEEN


Sintaxis:
SELECT * FROM table_name WHERE column_name NOT BETWEEN
value1 AND value2;
Descripción:
Selecciona las filas en las que el valor de la columna no está dentro del
rango especificado.
Ejemplo:
SELECT * FROM employees WHERE dob NOT BETWEEN '1998-01-01'
AND '2000-01-01' ORDER BY dob;

15. CREATE TABLE ... LIKE


Sintaxis:
CREATE TABLE new_table LIKE existing_table;
Descripción:
Crea una nueva tabla con la misma estructura (columnas, índices) que una
tabla existente.
Ejemplo:
CREATE TABLE copia LIKE people;

16. SHOW TABLES


Sintaxis:
SHOW TABLES;
Descripción:
Muestra una lista de todas las tablas en la base de datos seleccionada.
Ejemplo:
SHOW TABLES;

17. INSERT INTO ... SELECT


Sintaxis:
INSERT INTO target_table SELECT * FROM source_table WHERE
condition;

[Link]
6

Descripción:
Inserta filas en una tabla a partir de una consulta SELECT.
Ejemplo:
INSERT INTO copia SELECT * FROM people WHERE city = 'Capilla';

18. TRUNCATE
Sintaxis:
TRUNCATE TABLE table_name;
Descripción:
Elimina todos los registros de una tabla de forma rápida y eficiente,
restableciendo el auto_increment.
Ejemplo:
TRUNCATE copia;

19. SHOW TABLE STATUS


Sintaxis:
SHOW TABLE STATUS WHERE NAME = 'table_name';
Descripción:
Proporciona información sobre el estado de una tabla, como el tamaño y el
motor de almacenamiento.
Ejemplo:
SHOW TABLE STATUS WHERE NAME = 'copia';

20. SHOW COLUMNS FROM


Sintaxis:
SHOW COLUMNS FROM table_name;
Descripción:
Muestra detalles sobre las columnas de una tabla, incluyendo tipo de datos y
restricciones.
Ejemplo:
SHOW COLUMNS FROM copia;

21. ALTER TABLE ... AUTO_INCREMENT


Sintaxis:
ALTER TABLE table_name AUTO_INCREMENT = value;
Descripción:
Establece el valor inicial del contador de auto_increment de una tabla.
Ejemplo:
ALTER TABLE copia AUTO_INCREMENT = 1000;

[Link]
7

22. SELECT ... FROM ... WHERE ... = (SELECT)


Sintaxis:
SELECT column1, column2 FROM table_name WHERE column_name =
(SELECT ...);
Descripción:
Usa una subconsulta para comparar y seleccionar datos de otra tabla.
Ejemplo:
SELECT mail, type FROM email WHERE id_people = (SELECT code FROM
people WHERE names = 'Emmanuel' AND lastname1 = 'Alcala' AND city =
'San Miguel el Alto');

23. UPDATE ... SET ... = (SELECT)


Sintaxis:
UPDATE table_name SET column_name = (SELECT column FROM
other_table WHERE condition) WHERE condition;
Descripción:
Actualiza valores en una tabla usando una subconsulta para obtener los
nuevos valores.
Ejemplo:
UPDATE sales_detail SET price = (SELECT saleprice FROM products
WHERE id = 31) WHERE prod_id = 31;

24. SELECT * FROM


Sintaxis:
SELECT * FROM table_name;
Descripción:
Selecciona y muestra todas las columnas de la tabla (ya mencionado).
Ejemplo:
SELECT * FROM products;
SELECT * FROM sales_detail WHERE prod_id = 31;

25. SELECT ... WHERE ... REGEXP


Sintaxis:
SELECT * FROM table_name WHERE column_name REGEXP 'pattern';
Descripción:
Realiza una búsqueda de patrones en la columna especificada utilizando
expresiones regulares.
Ejemplos:
• Buscar registros donde el nombre contenga "JOSE":

[Link]
8

SELECT * FROM people WHERE names REGEXP 'JOSE';

26. UPDATE ... SET


Sintaxis:
UPDATE table_name SET column_name = 'value' WHERE condition;
Descripción:
Actualiza el valor de una columna específica en una o varias filas de la tabla.
Ejemplos:
• Actualizar el valor de num:
UPDATE people SET num = '222|2' WHERE code = 66;

27. SELECT ... WHERE ... REGEXP


Sintaxis:
SELECT * FROM table_name WHERE column_name REGEXP 'pattern';
Descripción:
Utiliza una expresión regular para buscar un patrón en los registros.
Ejemplo:
SELECT * FROM email WHERE mail REGEXP 'alumnos';

28. JOIN
Sintaxis:
SELECT columns FROM table1 JOIN table2 ON [Link] =
[Link];
Descripción:
Realiza una combinación de filas de dos o más tablas basándose en una
condición relacionada.
Ejemplo:
SELECT [Link], email.id_people, [Link], people.lastname1,
[Link]
FROM people JOIN email ON [Link] = email.id_people
WHERE [Link] = 196;

29. LEFT JOIN


Sintaxis:
sql
Copy code
SELECT columns FROM table1 LEFT JOIN table2 ON [Link] =
[Link];
Descripción:
Combina todas las filas de la tabla de la izquierda y las filas coincidentes de

[Link]
9

la tabla de la derecha. Si no hay coincidencia, los resultados de la tabla


derecha serán NULL.
Ejemplo:
SELECT [Link], email.id_people, [Link], people.lastname1,
[Link]
FROM people LEFT JOIN email ON [Link] = email.id_people
ORDER BY mail;

30. RIGHT JOIN


Sintaxis:
SELECT columns FROM table1 RIGHT JOIN table2 ON [Link] =
[Link];
Descripción:
Combina todas las filas de la tabla de la derecha y las filas coincidentes de la
tabla de la izquierda. Si no hay coincidencia, los resultados de la tabla
izquierda serán NULL.
Ejemplo:
SELECT [Link], email.id_people, [Link], people.lastname1,
[Link]
FROM people RIGHT JOIN email ON [Link] = email.id_people
ORDER BY mail;

31. JOIN con múltiples tablas


Sintaxis:
SELECT columns FROM table1 JOIN table2 ON [Link] =
[Link]
JOIN table3 ON [Link] = [Link];
Descripción:
Une varias tablas en una consulta mediante combinaciones basadas en
condiciones específicas.
Ejemplo:
SELECT [Link], [Link], people.lastname1, [Link],
[Link], [Link], phasp.people_id, phasp.phone_id
FROM people JOIN phasp ON [Link] = phasp.people_id
JOIN phone ON [Link] = phasp.phone_id
ORDER BY code;

32. SELECT ... AS y alias


Sintaxis:
SELECT column_name AS 'alias' FROM table_name;

[Link]
10

Descripción:
Usa alias para renombrar columnas en los resultados.
Ejemplo:
SELECT [Link] AS 'Codigo', e.id_people AS 'id Persona', [Link] AS
'Nombres', p.lastname1 AS 'Apellidos', [Link] AS 'Correos'
FROM people AS p JOIN email AS e ON [Link] = e.id_people
WHERE [Link] = 196;

33. SELECT con múltiples tablas y ORDER BY


Sintaxis:
SELECT columns FROM table1, table2, table3 WHERE conditions ORDER
BY column;
Descripción:
Selecciona datos de múltiples tablas usando condiciones específicas y
ordena el resultado.
Ejemplo:
SELECT [Link], [Link], p.lastname1, [Link], [Link], [Link],
php.people_id, php.phone_id
FROM people AS p, phone AS ph, phasp AS php
WHERE [Link] = php.people_id AND [Link] = php.phone_id
ORDER BY code;

34. SELECT * FROM ... WHERE


Sintaxis:
SELECT * FROM table_name WHERE condition;
Descripción:
Selecciona todos los registros de una tabla que cumplen con una condición
específica.
Ejemplo:
SELECT * FROM sales_detail WHERE sale_id = 31;

35. SELECT AVG()


Sintaxis:
SELECT AVG(column_name) FROM table_name;
Descripción:
Calcula el promedio de los valores de una columna.
Ejemplo:
SELECT AVG(price * quantity) FROM sales_detail;

36. SELECT COUNT()

[Link]
11

Sintaxis:
SELECT COUNT(*) FROM table_name WHERE condition;
Descripción:
Cuenta el número de registros que cumplen con una condición.
Ejemplo:
SELECT COUNT(*) FROM sales_detail WHERE sale_id = 31;

37. SELECT MIN()


Sintaxis:
SELECT MIN(column_name) FROM table_name;
Descripción:
Devuelve el valor mínimo de una columna.
Ejemplo:
SELECT MIN(price) FROM sales_detail;

38. SELECT MAX()


Sintaxis:
SELECT MAX(column_name) FROM table_name;
Descripción:
Devuelve el valor máximo de una columna.
Ejemplo:
SELECT MAX(price) FROM sales_detail;

39. SELECT ... ORDER BY ... LIMIT


Sintaxis:
SELECT * FROM table_name ORDER BY column_name DESC LIMIT n;
Descripción:
Ordena los registros en orden descendente y devuelve un número limitado
de filas.
Ejemplo:
SELECT * FROM sales_detail ORDER BY id DESC LIMIT 1;

40. SELECT SUM()


Sintaxis:
SELECT SUM(expression) FROM table_name WHERE condition;
Descripción:
Calcula la suma total de una expresión en los registros que cumplen una
condición.
Ejemplo:

[Link]
12

SELECT SUM(price * quantity) 'SubTotal' FROM sales_detail WHERE


sale_id = 31;

41. CREATE VIEW


Sintaxis:
CREATE VIEW view_name AS (SELECT columns FROM table_name
WHERE condition);
Descripción:
Crea una vista que es una tabla virtual basada en el resultado de una
consulta SELECT. Las vistas permiten simplificar consultas complejas y
proporcionar una capa de seguridad al restringir el acceso directo a ciertas
columnas de las tablas.
Ejemplo:
CREATE VIEW people_correo AS (
SELECT CONCAT(names, ' ', lastname1, ' ', lastname2) AS nombre,
mail AS correo FROM people JOIN email ON [Link] = email.id_people
);

42. SELECT * FROM view_name


Sintaxis:
SELECT * FROM view_name;
Descripción:
Recupera todos los registros de la vista creada.
Ejemplo:
SELECT * FROM people_correo;

43. CREATE TABLE IF NOT EXISTS


Sintaxis:
CREATE TABLE IF NOT EXISTS table_name (
column_name column_type,
...
);
Descripción:
Crea una tabla si no existe una tabla con el mismo nombre. Es útil para evitar
errores al intentar crear una tabla que ya está presente en la base de datos.
Ejemplo:
CREATE TABLE IF NOT EXISTS log (
id INT NOT NULL PRIMARY KEY auto_increment,
description TEXT NOT NULL,
user VARCHAR(25) NOT NULL,

[Link]
13

peopleadd VARCHAR(25) NOT NULL,


dateadd DATETIME NOT NULL DEFAULT NOW()
);

44. CREATE TRIGGER


Sintaxis:
CREATE TRIGGER trigger_name
{BEFORE|AFTER} {INSERT|UPDATE|DELETE} ON table_name
FOR EACH ROW
BEGIN
-- trigger logic
END;
Descripción:
Crea un desencadenador (trigger) que se ejecuta automáticamente antes o
después de una operación en una tabla. Los triggers pueden ser útiles para
auditar, validar o modificar datos de forma automática.
Ejemplo:
DELIMITER $$
CREATE TRIGGER peopleadded AFTER INSERT
ON people
FOR EACH ROW
BEGIN
SET @fecha = NOW();
SET @usuario = USER();
SET @peopleadd = [Link];
IF [Link] THEN
INSERT INTO log (description, user, peopleadd)
VALUES ('Somebody added someone on table people', @usuario,
@peopleadd);
END IF;
END $$

45. DELIMITER
Sintaxis:
DELIMITER new_delimiter
Descripción:
Cambia el delimitador de las instrucciones SQL para permitir el uso de
puntos y coma dentro de bloques como procedimientos almacenados o
triggers.
Ejemplo:

[Link]
14

DELIMITER $$

46. SHOW TRIGGERS


Sintaxis:
SHOW TRIGGERS [LIKE 'pattern'];
Descripción:
Muestra todos los triggers en la base de datos o filtra los resultados según el
patrón especificado.
Ejemplo:
SHOW TRIGGERS LIKE 'people';

47. SIGNAL SQLSTATE


Sintaxis:
SIGNAL SQLSTATE 'sqlstate_value' SET MESSAGE_TEXT = 'message';
Descripción:
Se utiliza dentro de triggers o procedimientos almacenados para generar un
error con un mensaje personalizado.
Ejemplo:
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'No puede modificar el precio de venta';

48. CREATE PROCEDURE


Sintaxis:
CREATE PROCEDURE procedure_name ([parameters])
BEGIN
-- procedure logic
END;
Descripción:
Crea un procedimiento almacenado que contiene una serie de instrucciones
SQL que pueden ser ejecutadas cuando se invoca el procedimiento.
Ejemplo:
DELIMITER \\
CREATE PROCEDURE consultapernum(IN val1 INT, IN val2 INT)
BEGIN
WHILE val1 < val2 DO
SELECT names, lastname1, lastname2 FROM people WHERE
code=val1;
SET val1 = val1 + 1;
END WHILE;
END \\

[Link]
15

49. CALL PROCEDURE


Sintaxis:
CALL procedure_name([parameters]);
Descripción:
Invoca un procedimiento almacenado para ejecutar sus instrucciones SQL.
Ejemplo:
CALL consultapernum(61,65);

50. INFORMATION_SCHEMA.Routines
Sintaxis:
SELECT routine_name FROM INFORMATION_SCHEMA.Routines WHERE
routine_schema = 'schema_name';
Descripción:
Consulta las rutinas (procedimientos y funciones) de una base de datos
específica.
Ejemplo:
SELECT routine_name FROM INFORMATION_SCHEMA.Routines WHERE
routine_schema = 'aarondb';

51. INFORMATION_SCHEMA.ROUTINES
Sintaxis:
SELECT SPECIFIC_NAME, ROUTINE_SCHEMA ROUTINE_NAME,
ROUTINE_TYPE
FROM INFORMATION_SCHEMA.ROUTINES
WHERE routine_schema = 'schema_name';
Descripción:
Consulta información sobre las rutinas (funciones o procedimientos) en una
base de datos específica.
Ejemplo:
SELECT SPECIFIC_NAME, ROUTINE_SCHEMA ROUTINE_NAME,
ROUTINE_TYPE
FROM INFORMATION_SCHEMA.ROUTINES
WHERE routine_schema = 'aarondb';

52. ROUTINE_DEFINITION en INFORMATION_SCHEMA.ROUTINES


Sintaxis:
SELECT ROUTINE_DEFINITION
FROM INFORMATION_SCHEMA.ROUTINES
WHERE routine_schema = 'schema_name';

[Link]
16

Descripción:
Obtiene el código de definición de las rutinas almacenadas, como funciones
o procedimientos, de una base de datos.
Ejemplo:
SELECT ROUTINE_DEFINITION
FROM INFORMATION_SCHEMA.ROUTINES
WHERE routine_schema = 'aarondb';

53. CREATE FUNCTION


Sintaxis:
CREATE FUNCTION function_name ([parameters])
RETURNS return_type
DETERMINISTIC
BEGIN
-- function logic
END;
Descripción:
Crea una función que devuelve un valor calculado. El modificador
DETERMINISTIC indica que la función siempre devolverá el mismo resultado
para los mismos parámetros.
Ejemplo:
DELIMITER \\
CREATE FUNCTION subtotal (precio DECIMAL(10,2), cant DECIMAL(10,2))
RETURNS DECIMAL(10,2)
DETERMINISTIC
BEGIN
RETURN precio * cant / 100;
END \\

54. CREATE FUNCTION con CONCAT


Copy code
CREATE FUNCTION function_name ([parameters])
RETURNS return_type
DETERMINISTIC
BEGIN
-- function logic
RETURN CONCAT(string1, string2);
END;

[Link]
17

Descripción:
Crea una función que devuelve una concatenación de cadenas, en este
caso, los valores de fecha.
Ejemplo:
DELIMITER $
CREATE FUNCTION fecha (fechain DATETIME)
RETURNS TEXT
DETERMINISTIC
BEGIN
DECLARE dia VARCHAR(20);
DECLARE mes VARCHAR(20);
SET dia = DAYNAME(fechain);
SET mes = DAY(fechain);
RETURN CONCAT('HOY ES', dia, ' de ', mes);
END $

55. DROP FUNCTION


Sintaxis:
DROP FUNCTION function_name;
Descripción:
Elimina una función almacenada de la base de datos.
Ejemplo:
DROP FUNCTION subtotal;

56. Uso de funciones dentro de una consulta SELECT


Sintaxis:
SELECT SUM(function_name(parameters)) AS 'alias'
FROM table_name
WHERE condition;
Descripción:
Utiliza una función personalizada en una consulta para calcular o manipular
datos en la base de datos.
Copy code
SELECT SUM(subtotal(price, quantity)) AS 'Sub-Total' FROM sales_detail
WHERE sale_id = 31;

[Link]

También podría gustarte