Para poder insertar un registro hacemos uso de la instrucción INSERT INTO, la cual tiene hasta 3 formas distintas de insertar registros.
Ejm
-- Mala práctica
INSERT INTO usuarios VALUES(0, "Francisco","Paredes","info@sutilweb.eu","Dirección",51);
-- Buena práctica
INSERT INTO usuarios (nombre, apellidos, edad) VALUES ("Francisco","Paredes",51);
-- Otra forma no muy utilizada
INSERT INTO usuarios SET nombre = "Francisco", apellidos = "Paredes", edad = 51;
-- Insertar varios registros
INSERT INTO usuarios (nombre, apellidos, edad) VALUES
("Francisco","Paredes",51),
("Ines","Paredes",38),
("Eva","Paredes",24);
Leer datos
La instrucción para leer los datos es SELECT, que utiliza la siguiente sintaxis.
-- Leer todos los datos
SELECT * FROM usuarios;
-- Leer algunos datos
SELECT nombre, apellidos, edad FROM usuarios;
-- Número de registros
SELECT COUNT(*) FROM usuarios;
-- Claúsula WHERE
SELECT * FROM usuarios WHERE nombre="Francisco";
SELECT * FROM usuarios WHERE nombre IN("Francisco","Inés","Eva");
-- Uso del operador LIKE
-- Empiezan con la letra F
SELECT * FROM usuarios WHERE nombre LIKE "F%";
-- Terminan con la letra o
SELECT * FROM usuarios WHERE nombre LIKE "%o";
-- Empiezan con la letra F y terminan con la letra o
SELECT * FROM usuarios WHERE nombre LIKE "F%o";
-- Uso del operador NOT LIKE
-- Funciona al contrario que el operador LIKE
SELECT * FROM usuarios NOT LIKE "F%"
La claúsula WHERE se suele utilizar con el comando SELECT
Operadores relacionales
Veamos ahora ejms de uso de los operadores relacionales con el comando WHERE.
Ejm
-- Registros mayores que 18 SELECT * FROM usuarios WHERE edad > 18; -- Registros mayores o iguales que 18 SELECT * FROM usuarios WHERE edad >= 18; -- Registros iguales a 18 SELECT * FROM usuarios WHERE edad = 18; -- Registros diferentes a 18 SELECT * FROM usuarios WHERE edad <> 18; SELECT * FROM usuarios WHERE edad != 18;
Operadores lógicos
Los típicos operadores lógicos son:
- OR
- AND
- NOT: Negar un valor diferente
Ejm
-- Operador de la negación SELECT * FROM usuarios WHERE NOT nombre = "Francisco"; -- Comparar más de un campo con el operador AND -- (ambas condiciones se deben cumplir) SELECT * FROM usuarios WHERE nombre = "Francisco" AND edad > 18; -- Mostrar uno u otro valor con OR -- (se debe cumplir una u otra condición) SELECT * FROM usuarios WHERE nombre = "Francisco" OR edad > 18;
