El lenguaje de consulta estructurado Lenguaje estndar de comunicacin con bases de datos. Las bases de datos no necesariamente respetan el estndar. Consta de: Lenguaje de definicin de datos Los DLL que permiten crear y definir nuevas bases de datos, campos e ndices. Lenguaje de manipulacin de datos los DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos DLL y DML Tipos de dato tinyint --> 1 byte longblob --> objeto binario largo (grande) smallint --> 2 byte tinytext --> cadena de texto muy pequea mediumint --> 3 byte text --> cadena de texto pequea int --> 4 byte mediumtext --> cadena de texto media bigint --> 8 byte longtext --> cadena de texto larga float --> 4 byte enum --> una enumeracin double --> 8 byte set --> un conjunto decimal --> variable date --> valor fecha (aaaa-mm-dd) char(n) --> cadena de caracteres de longitud fija time --> valor de hora (hh-mm-ss) varchar(n) --> cadena de caracteres de longitud variables datetime --> valor de fecha y hora tinyblob --> objeto binario largo (muy pequeo) timestamp --> valor de lapso de tiempo blob --> objeto binario largo (pequeo) (aaaammddhhmmss) mediumblob --> objeto binario largo (medio) year --> valor de ao Comandos para el manejo de Bases de Datos en MySQL: CREATE [nombre]: Crea una base de datos con el nombre dado mysql> create database miprueba; SELECT: Es un comando utilizado para traer informacin desde una tabla SELECT seleccionar_Esto FROM desde_tabla WHERE condiciones; SHOW: Lista las bases de datos que hay en el servidor MySQL o las tablas de la base de datos mysql> show databases; mysql> show tables; DESCRIBE permite obtener informacin sobre una tabla, para saber qu campos tiene y de qu tipo, mysql> describe prueba; USE db_nombre: indica a MySQL que use la base de datos db_nombre como la base de datos por defecto. mysql> use miprueba; DROP DATABASE: elimina todas las tablas de la base de datos, juntamente con la base de datos. QUIT permite salir de la lnea de comandos de MySQL. mysql> quit CREATE TABLE: Sentencia para especificar la estructura de una tabla donde se especifica los tipos de variable para cada tem de la tabla. mysql> CREATE TABLE usuario (usua_id INT(11), usua_nombres VARCHAR(20), usua_apellidos VARCHAR(20), usua_sexo ENUM(F,M), usua_fechanac DATE, ); DROP TABLE, elimina una tabla de la base de datos DROP TABLE usuario; CREATE TABLE IF NOT EXISTS usuario ( usua_id INT NOT NULL, usua_nombres VARCHAR(45) NULL, usua_apellidos VARCHAR(45) NULL, usua_sexo ENUM('F', 'M') NULL, usua_fechanac DATE NULL, PRIMARY KEY (usua_id)) ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS cargo (
carg_id INT NOT NULL, carg_nombre VARCHAR(45) NULL, PRIMARY KEY (carg_id)) ENGINE = InnoDB; mysql> describe usuario; mysql> ALTER TABLE usuario ADD COLUMN usua_carg_id INT(11) NULL DEFAULT NULL AFTER usua_fechanac; mysql> describe usuario; ALTER TABLE usuario ADD INDEX fk_usuario_cargo_index (usua_carg_id ASC);
ALTER TABLE usuario
ADD CONSTRAINT fk_usuario_cargo FOREIGN KEY (usua_carg_id) REFERENCES cargo (carg_id) ON DELETE NO ACTION ON UPDATE NO ACTION; INSERT: Comando para insertar registros a la tabla INSERT INTO cargo (carg_id, carg_nombre) VALUES (1, Administrador); INSERT INTO cargo (carg_id, carg_nombre) VALUES (2, Operador); INSERT INTO usuario (usua_id, usua_nombres, usua_apellidos, usua_sexo, usua_fechanac, usua_carg_id) VALUES (1, Jose, Apaza, M, 2016-05-01, 1); INSERT INTO usuario (usua_id, usua_nombres, usua_apellidos, usua_sexo, usua_fechanac, usua_carg_id) VALUES (2, Carlos, Quispe, M, 2016-03-01, 2); SELECT: Selecciona registros de una tabla, se puede agregar condiciones de seleccin SELECT * FROM cargo; SELECT usua_nombres, usua_sexo FROM usuario; SELECT * FROM usuario WHERE usua_fechanac>2000-01-01 UPDATE: Comando que modifica solo el registro en cuestin y no requiere que se vuelva a llenar la tabla. mysql> UPDATE usuario SET usua_fechanac = '1989-08-31' WHERE usua_nombres= Jose'; DELETE: Comando para elminiar registros de una tabla mediante una condicion: DELETE FROM usuario WHERE usua_nombres=Jose