Sie sind auf Seite 1von 12

SQL

SQL : Structured Query Language


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

Das könnte Ihnen auch gefallen