Professional Documents
Culture Documents
Eugenia Bahit
187
Eugenia Bahit
Acerca de MySQL
MySQL es un servidor de Bases de Datos SQL (Structured
Query Language) que se distribuye en dos versiones:
188
Eugenia Bahit
esa
189
Eugenia Bahit
detiene el servidor
inicia el servidor
reinicia el servidor
190
Eugenia Bahit
Administracin de MySQL
Una vez que comencemos a utilizar bases de datos,
necesitars poder acceder a las opciones de aministracin de
las mismas. Por lo tanto, te recomiendo tener siempre a mano
este captulo, para poder consultarlo con frecuencia.
necesarios
para
Eugenia Bahit
mano :)
COMANDO
DESCRIPCIN
show databases;
use nombre_de_la_base_de_datos;
create database
nombre_de_la_db;
quit
192
Eugenia Bahit
Denominacin
INT(N)
Especificaciones
Ejemplo
N = cantidad de dgitos
totales
DECIMAL(10, 2)
DECIMAL(N, D)
D = cantidad de
decimales
Booleano
BOOL
BOOL
Fecha
DATE
DATE
Fecha y hora
DATETIME
DATETIME
Fecha y hora
automtica
TIMESTAMP
TIMESTAMP
Hora
TIME
TIME
193
Eugenia Bahit
Ao
YEAR(D)
D = cantidad de dgitos
YEAR(4)
(2 o 4)
Cadena de
longitud fija
CHAR(N)
N = longitud de la
cadena entre 0 y 255
CHAR(2)
VARCHAR(N)
N = longitud mxima de
la cadena entre 0 y
65532
VARCHAR(100)
Cadena de
longitud
variable
Bloque de
texto de gran
longitud
variable
BLOB
BLOB
Ejemplo:
CREATE TABLE productos(
producto VARCHAR(125),
descripcion BLOB,
precio DECIMAL(6, 2),
en_stock BOOL
);
Explicacin:
CREATE TABLE productos
194
Eugenia Bahit
producto VARCHAR(125),
descripcion BLOB,
en_stock BOOL
195
Eugenia Bahit
Ejemplo:
INSERT INTO
productos(producto, precio, en_stock)
VALUES('Bolsa de dormir para alta montaa', 234.65, TRUE);
Explicacin:
INSERT INTO
productos(producto, precio, en_stock)
Seleccionar registros
Sintaxis:
SELECT
FROM
Ejemplo:
SELECT
producto, precio
196
FROM
productos;
Explicacin:
SELECT
producto, precio
productos;
De la tabla productos
Modificar registros
Sintaxis:
UPDATE
SET
tabla
campo1 = valor,
campo2 = valor,
campo10 = valor;
Ejemplo:
UPDATE
SET
productos
en_stock = FALSE,
precio = 0;
Explicacin:
UPDATE
productos
SET
en_stock = FALSE,
precio = 0;
197
Eugenia Bahit
y el campo precio a 0
Eliminar registros
Sintaxis:
DELETE FROM tabla;
Ejemplo:
DELETE FROM productos;
Explicacin:
DELETE FROM productos;
198
Eugenia Bahit
Eugenia Bahit
Consultas avanzadas
Si bien no veremos aqu consultas realmente complejas, ya que
el curso se basa en el lenguaje de programacin PHP y no, en el
lenguaje de consulta SQL, haremos un rpido paseo, por las
opciones disponibles en SQL para sentencias ms complejas
que las anteriores.
La clusula WHERE
Las sentencias en SQL, se componen de c lusulas. Y WHERE es
una de ellas. La clusula WHERE nos permite filtrar registros
en una sentencia SQL.
Esta clusula, funciona de forma similar a la comparacin de
expreciones en PHP, utilizando los siguientes o peradores de
comparcin:
>
=
>=
mayor que
igual que
mayor o igual que
BETWEEN n1 AND n2
IS NULL|TRUE|FALSE
IN(valor1, valor2, va...)
<
<>
<=
menor que
distinto que
menor o igual que
entre n1 y n2
es nulo | es verdadero | es falso
contiene
NOT (negacin)
OR (o)
199
Eugenia Bahit
producto,
precio
FROM
WHERE
productos
precio < 1000;
productos
precio = (precio * 1.10)
precio BETWEEN 150 AND 200;
producto,
precio
productos
en_stock IS NOT FALSE;
productos
precio IN(100, 200, 300)
(en_stock IS FALSE
producto IS NULL);
productos
en_stock = TRUE
precio < 50
en_stock IS NOT NULL;
200
Eugenia Bahit
producto,
descripcion,
precio
FROM
productos
WHERE
AND
ORDER BY
precio DESC;
producto,
descripcion,
precio
FROM
productos
WHERE
AND
ORDER BY
precio DESC,
producto ASC;
producto
descripcion
precio
FROM
productos
AS p
WHERE
AND
201
ORDER BY
Eugenia Bahit
precio DESC,
producto ASC;
COUNT(producto)
productos;
AS Cantidad
SUM(precio)
productos;
AS Total
producto,
CONCAT('USD ', precio, '.-')
productos;
AS Precio
202
Eugenia Bahit
UCASE(producto),
LCASE(descripcion)
productos;
AS Descripcion
LEFT(producto, 50)
productos;
ROUND(precio, 2)
productos;
DATE(campo_datetime)
tabla;
DATE_FORMAT(campo_fecha, '%d/%m/%Y')
tabla;
203
Eugenia Bahit
MAX(precio)
productos;
SELECT
FROM
MIN(precio)
productos;
204
Eugenia Bahit
205
Eugenia Bahit
206