Está en la página 1de 6

Creacion/Eliminacion de BD

CREATE DATABASE nombre_bd;


CREATE SCHEMA nombre_bd;
CREATE DATABASE IF NOT EXIST nombre_bd;
DROP DATABASE nombre_bd;
DROP SCHEMA nombre_bd;
DROP DATABASE IF NOT EXIST nombre_bd;
USE nombre_bd;

Cracion/Eliminacion e Inserte de Tabla


CREATE TABLE IF NOT EXISTS nombre_table
(
id int not null,
col1 int(5),
col2 varchar(20),
col3 float(3,2), -- (Total,Detras_del_punto)
primary key (id)
);
INSERT INTO nombre_table (id,col1,col2,col3) VALUES
(id,col1,col2,col3);
INSERT INTO nombre_table (id,col1,col2,col3) VALUES
(id,col1); -- col2 y col3 terminan en NULL
INSERT INTO nombre_table VALUES
(id,col1,col2,col3),
(id,col1,col2,col3),
(id,col1,col2,col3)
;
INSERT INTO nombre_table (col3,col2,col1,id) VALUES
(col3,col2,col1,id),
(col3,col2,col1,id),
(col3,col2,col1,id)
;

Edicion de tablas
DESCRIBE nombre_tabla; -- Adivina
ALTER TABLE nombre_tabla
ADD COLUMN nombre_col varchar(15);
ALTER TABLE nombre_tabla
ADD nombre_col varchar(15) AFTER nombre_col1; -- After es despus de
ALTER TABLE nombre_tabla
ADD nombre_col varchar(15) FIRST;
ALTER TABLE nombre_tabla
CHANGE nombre_col1 new_nombre_col1 INT; -- Changue es cambio de tipo
ALTER TABLE nombre_tabla
CHANGE nombre_col1 new_nombre_col1 VARCHAR(10);
ALTER TABLE nombre_tabla
DROP nombre_col1; -- Elimina columna de la tabla, Elimina los datos contenidos: No hacer
ALTER TABLE nombre_tabla
RENAME TO new_nombre_tabla; -- Cambio de nombre de la tabla

Consultas
SELECT * FROM nombre_table;
SELECT * FROM nombre_table LIMIT 0,5; -- LIMIT primer_a_mostra,cantidad_a_mostrar
SELECT id,col2,col1 FROM nombre_table;
SELECT DISTINCT col2,col1
FROM nombre_table; -- Compara que los valores no se repitan, mostrandolos sin repetir, si la
combinacin es diferente, aunque uno sea igual, se muestra
SELECT *
FROM numero
WHERE nombre_col="valor"; -- CONDICION: Indiferente ante mayusculas y minusculas (solo con
caracteres normales, no coreanos, ahi si importa)

WHERE
SELECT * FROM numero WHERE nombre=''; -- Espacio blanco, es uno
SELECT * FROM numero WHERE nombre=NULL; -- Espacio nulo, es otro
SELECT * FROM numero WHERE nombre=0; --pr alguna razon, se salta los valores nulos
SELECT * FROM relacion
WHERE nombre !="JUAN"; -- muestar los que en nombre_col no tenga el valor
SELECT id,nombre,paterno,materno,parcelas from relacion
WHERE parcelas>10; -- muestra los que nombre_col sean mayores al valor
SELECT id,nombre,paterno,materno,parcelas FROM relacion
WHERE parcelas<=10 && parcelas>=5; -- Usando AND &&
SELECT id,nombre,paterno,materno,parcelas FROM relacion
WHERE parcelas BETWEEN 5 AND 10; -- Usando BETWEEN, solo compatible con AND en letra
SELECT id,nombre,paterno,materno,parcelas
FROM relacion
WHERE (parcelas="5" OR parcelas="10") AND sexo!="M";
SELECT id,nombre,paterno,materno,parcelas, cod_postal FROM relacion
WHERE COD_POSTAL="30400" OR COD_POSTAL="30500" OR COD_POSTAL="30600"; -- Con OR
SELECT id,nombre,paterno,materno,parcelas, cod_postal FROM relacion
WHERE cod_postal IN (30400,30500,30600); -- Con IN
SELECT id,nombre,paterno,materno,parcelas,cod_postal FROM relacion
WHERE (PATERNO IN ("HERNANDEZ")) OR (MATERNO IN ("HERNANDEZ")); -- Complicarse la vida
SELECT id,nombre,paterno,materno FROM relacion
WHERE PATERNO="HERNANDEZ" OR MATERNO="HERNANDEZ";

LIKE
SELECT * FROM relacion
WHERE NOMBRE LIKE 'juan%'; -- los % % son comodines, es decir, toman cualquier valor como
vacio o cualquier caracter''
SELECT *FROM relacion
WHERE nombre LIKE '_____' and sexo="M"; -- el _ es otro comodin, ocupa cualquier lugar
SELECT *FROM relacion
WHERE
nombre not LIKE '%c%' and
nombre not LIKE '%a%' and
nombre not LIKE '%r%' and
nombre not LIKE '%l%' and
nombre not LIKE '%o%' and

nombre not LIKE '%s%'; -- con un not, se invierte el uso


SELECT id,
nombre AS NOMBRE, -- el Alias "AS" cambia el encabezado del atributo en la busqueda
paterno PATERNO, -- Si la cadena de caracteres no trae espacios ni cosas raras, se puede omitir las
comillas
materno 'MATERNO', -- Incluso se puede omitir el AS en el comando :D
f_nac AS "FECHA DE NACIMIENTO"
FROM relacion;

Funciones
CURDATE()
:Para sacar la fecha actual
TO_DAY()
:Convierte una fecha en dias
TO_DAYS(CURDATE()) : Da el numero de dias pasados desde 01-01-1900
YEAR(fecha)
:Regresa el ao de la fecha ingresada
(YEAR(CURDATE())-YEAR(F_NAC))-(RIGHT(CURDATE(),5)<RIGHT(F_NAC,5)) -- Obtencion de la edad
en base a la fechade nacimient (F_NAC): la primera parte calcula los aos pasados desde su
nacimiento hasta ahora, mientras que se le resta una validacin, si el mes y el dia son menores a
los actuales, se le resta un ao, puesto que no lo a cumplido.
LEFT(P,n)
:Toma las primeras n letras de la palabra P
RIGTH(P,n)
:Toma las ultimas n letras de la palabra P
TRUNCATE(V,c)
:TRUNCATE(Valor,cantidad_de_decimales_que_quiero_tener)
SELECT nombre, paterno, materno, f_nac,
truncate ((to_days(curdate())- to_days(f_nac))/365.35,0) as Edad
from relacion
where f_nac =(select min(f_nac) from relacion); -- Parac alcular al mas Viejo: se usa min(f_nac) por
la fecha con menos disas, es decir, la mas alejada

curtime()

: Obtiene el momento actual en el formato 19:58:38

Hora:Minutos:Segundos
SELECT curtime();
CONCAT()
: Junta cadenas de caracteres
SELECT id, CONCAT(paterno,' ',materno,' ',nombre) as 'NOMBRE COMPLETO' FROM relacion;
LENGTH()
:Obtiene el numero de caracteres de un valor
SELECT nombre,paterno,materno FROM relacin WHERE length(nombre)= 3;
COUNT(*)
:Devuelve la cantidad de row regresados.
select count(*) from relacion where nombre='juan';

MAX(col)
:devuelve el valor mximo en la columna
MIN(col)
:devuelve el valor minimo en la columna
BIN()
:devuelve convertido en nmeros binarios el valor insertado
dayname()
:devuelve que dia de la seman es una fecha
dayofyear()
:del uno al
period_diff("P","n")
: period_diff("ao_mayor","ao_menor"):Saca los meses entre 2
aos, el formato es "AoMes" en los aos. Ejemplo: period_diff("201410","201401") = 112
ABS()
:Devuelve el valor absoluto
monthname(fecha)
:devuelve el nombre del mes

locate('P','n')
:Devuelve el bumero en el cual se encontr la palabara P en el
valor n O funciona como el like
SUM(valores o col)
:Devuelve la suma de los valores
DEGREES()
:Convierte en grados un valor
PI()
:3.1415
UPPER()
:Convierte de minsculas a maysculas
LOWER()
:Convierte de maysculas a minsculas
REVERSE()
:Devuelve el valor con los caracteres en orden contrario

SELECT paterno,materno,nombre,f_nac
from relacion
ORDER BY paterno; -- ORDER BY ordena los resultados en alfabetico o ascendente a los cmpos que
se le especifiquen

También podría gustarte