2. I.- Conectividad con la BD
-- Conectar con el servidor MySQL
mysql -u usuario –p
-- Sintaxis extendida
mysql -h <servidor> -D <BD> -u <usuario>
-p<password>
-- ¿Qué comando utilizamos para salir de MySQL -?
3. II.- Crear un esquema (“Base de Datos”)
-- Visualizar las BD existentes
SHOW DATABASES;
-- Crear esquema
CREATE SCHEMA <nombre esquema>;
CREATE DATABASE <nombre BD>;
-- Usar un esquema/BD
USE <nombre BD>;
-- Eliminar esquema
DROP [SCHEMA | DATABASE] <nombre BD>;
4. III.- Crear, modificar y eliminar tablas
-- Crear tabla (sintaxis)
CREATE TABLE <tabla> (
campo1 Tipo[(tamaño)] [NOT NULL],
campoN Tipo() [NULL] [DEFAULT<valor>],
PRIMARY KEY (nombre_campo),
INDEX indice1 (nombre_campo)
) [ENGINE = INNODB];
-- Visualizar tablas creadas y existentes
SHOW TABLES;
-- Eliminar tabla
DROP TABLE <nombre tabla>;
5. III.- Crear, modificar y eliminar tablas
-- EJEMPLO
CREATE TABLE medicos(
id MEDIUMINT NOT NULL AUTO_INCREMENT,
cedula INT(8) UNIQUE,
apellido_p VARCHAR(25),
apellido_m VARCHAR(25),
nombre VARCHAR(30),
especialidad VARCHAR(50) DEFAULT ‘Médico
General’,
PRIMARY KEY (id)
);
6. III.- Crear, modificar y eliminar tablas
-- Visualizar tablas creadas
SHOW TABLES;
-- Eliminar tabla
DROP TABLE <nombre tabla>;
-- Ver propiedades de una tabla
EXPLAIN <nombre_tabla>;
DESCRIBE <nombre_tabla>;
DESC <nombre_tabla>;
7. III.- Crear, modificar y eliminar tablas
-- Modificar nombre de tablas
RENAME TABLE <tabla1> TO <tabla1n>, <tabla2>
TO <tabla2n>;
-- Agregar columna
ALTER TABLE <nombre_tabla>
ADD (<campo_nuevo> TIPO NOT NULL);
-- Eliminar columna
ALTER TABLE <nombre_tabla>
DROP COLUMN <nombre_campo>;
8. III.- Crear, modificar y eliminar tablas
-- Modificar nombre de columna
ALTER TABLE <nombre_tabla>
CHANGE <nombre_campo> <nombre_nuevo TipoDato>;
-- Modificar tipo de dato
ALTER TABLE <nombre_tabla>
MODIFY <campo> TipoNuevo…>;
9. IV.- CreateReadUpdateDelete básico
-- Insertar registro
INSERT INTO medicos VALUES(
'', 87654321, 'Peraza', 'Mena', 'Yazmín
Alexandra', DEFAULT
);
NOTA: Al insertar datos, los campos de cadena y fecha
van entre comillas(‘)
-- Leer registros
SELECT * FROM medicos;
-- Eliminar registros
DELETE FROM medicos; --PRECAUCIÓN!!!
10. IV.- CreateReadUpdateDelete básico
-- Modificar información
UPDATE <nombre_tabla>
SET <columna>=<dato_actualizado>
WHERE <columna_id>=<valor_de_referencia>;
-- Eliminando registro(s) especifico(s)
DELETE FROM <nombre_tabla>
WHERE
<columna_id>[>|<|=|<>]<valor_de_referencia>;
-- Comprobar las sintaxis anteriores en registros
insertados en su BD
11. La instrucción INSERT
Permite agregar datos a las diferentes tablas en una base de datos. El
usuario tiene la opción de identificar los nombres de la columna en la
tabla que recibirán los datos. Es posible especificar una o más
columnas, debiendo estar dentro de paréntesis y separadas por
comas.
-- Sintaxis básica
INSERT INTO <nombre_tabla>
[ ( <nombre_columna1>, … , <nombre_columnaN> )]
VALUES(
<valor_columna1>, … , <valor_columnaN>
);
12. La instrucción UPDATE
Permite actualizar los datos en una base de datos SQL. Con la
instrucción UPDATE se pueden modificar datos en una o más filas
para una o más columnas.
-- Sintaxis básica
UPDATE <nombre_tabla>
SET <columna = nuevo valor o expresión>, …
WHERE <condición de búsqueda> ;
-- NOTA: La cláusula WHERE es opcional
13. La instrucción DELETE
Contiene solamente dos cláusulas, y una sola de ellas es obligatoria.
Si no se incluye una cláusula WHERE en la instrucción DELETE,
todas las filas serán eliminadas de la tabla especificada. Es importante
comprender que la instrucción DELETE no elimina la tabla en sí, sino
solamente filas en la tabla.
-- Sintaxis básica
DELETE FROM <nombre_tabla>
WHERE <condición de búsqueda> ;
-- NOTA: No es posible eliminar valores de columna
individuales desde una tabla, solamente filas. Si se
necesita eliminar un valor de columna específico, se
deberá utilizar una instrucción UPDATE para determinar el
valor a nulo siempre que la columna soporte valores
nulos.
14. Ingresando datos en tabla “medicos”
-- EJEMPLO
INSERT INTO medicos VALUES
('',22091928,'Fleming', NULL, 'Alexander','Infectólogo’),
('',28081930,'Freud', '', 'Sigmund','Neurólogo’),
('',18801885,'Pasteur', '', 'Louis','Microbiólogo’),
('',18691900,'Lister', ' ', 'Joseph','Cirujano’),
('',18691872,'Miescher', NULL, 'Friedrich','Genetista’),
('',26102010,'Simi', 'Lares', 'Victor',DEFAULT);
15. V.- Integridad referencial
-- EJEMPLO
CREATE TABLE consultorios(
no_cons INT(3) PRIMARY KEY,
horario CHAR(11),
doctor MEDIUMINT
);
-- Ingrese 3 registros asignando a un par de ellos el id
de un médico inexistente
-- verifique las características de la tabla creada
16. V.- Integridad referencial
-- Modificando la tabla para crear la integridad…
ALTER TABLE consultorios
ADD CONSTRAINT medico_cons_fk
FOREIGN KEY(doctor) REFERENCES medicos(id)
ON DELETE RESTRICT ON UPDATE CASCADE;
-- Elimine los datos de la tabla e ingrese nuevamente 3
registros asignando a un par de ellos el id de un médico
inexistente
-- verifique las características de la tabla creada
17. V.- Integridad referencial
Para hacer un manejo más adecuado sobre tablas relacionadas, se
pueden crear las siguientes restricciones al momento de eliminar y/o
actualizar. Si se utilizan ambas opciones al mismo tiempo, primero
debemos ingresar ON DELETE y posteriormente ON UPDATE:
OPCIÓN DESCRIPCIÓN
ON DELETE RESTRICT
ON UPDATE RESTRICT
Es la opción por defecto, no permite la eliminación
mostrando un mensaje de error si se intentase
eliminar.
ON DELETE NO ACTION
ON UPDATE NO ACTION
Se comporta de la misma manera que la instrucción
anterior.
ON DELETE CASCADE
ON UPDATE CASCADE
Elimina/Actualiza los registros de la tabla hija.
ON DELETE SET NULL
ON UPDATE SET NULL
Pone en NULL los campos de la tabla hija que
perdieron/modificaron el registro en la tabla padre.