MYSQL
Como utilizar los comandos en la
consola de MySQL.
Mysql es uno de los sistemas de gestión más
populares del mercado. Se trata de un SGBD y el cual está basado en el modelo
relacional, con licencia dual GPL y la cual es propietaria. Fue desarrollado
por MySQL AB propiedad de Sun
Microsystems, desde enero del 2008.
Para iniciar el
cliente indicando el nombre de usuario
♥ MySQL –u root.
Después para que nos
pida una contraseña.
♥ MySQL –u root –p
Para indicar en la
maquina en el que esta es servidor MySQL.
♥
MySQL
–u root –p –h localhost.
Después para
especificar la base de datos que se va a utilizar.
♥ MySQL –u root –p –h localhost base_datos.
Y por ultimo para
ejecutar un script SQL:
♥ MySQL <
archivo.sql.
Pasos para crear una
base de datos:
Primero se empieza por crear una
base de datos. En este paso se va a utilizar el comando create databases y el
nombre de la base de datos.
Ya que si existe la base de datos
MySQL nos mandara un error y si queremos crear la base de datos solo cuando no
exista una con el mismo nombre.
También a la hora de crear la base
de datos se puede especificar el juego de caracteres y la colección. Esto se
lograra con un DEFAULT CHARACTER SET y DEFAULT COLLATE. O también se
puede realizar con --character-set-server y --collation-server.
Para poder comunicarnos con el
servidor podemos hacerlo con el comando: SET NAMES.
Podemos ver una lista de los juegos
de caracteres admitidos mediante el comando show carácter set. Algunos de los
caracteres mas utilizados:
♫
Ascci.
♫
Latin1
♫
Utf8.
Para ascii la
colación por defecto es ascii_general_ci,
para latin1latin1_swedish_ci y para utf8 utf8_general_ci.
Los nombres de las
colaciones comienzan con el nombre del juego de caracteres asociado y terminan
con _ci (case insensitive) si la comparación no tiene en cuenta
mayúsculas y minúsculas, _cs (case sensitive) en caso contrario
y _bin si es binaria (también case sensitive). Por tanto se pueden
consultar las distintas colaciones disponibles para un juego de caracteres con
un comando similar a:
Show collation like
“utf8”;
Si queremos ver las
bases de datos ya existentes utilizamos el comando show databases;
Después si quieres
eliminar una base de datos se hacer con la siguiente instrucción: drop
databases y el nombre de la base de datos que se va a eliminar.
Si vamos a utilizar
una base de datos tenemos que usar el comando use y el nombre de la base de datos.
Para ver las tablas de
la base de datos se usa el comando SHOW TABLES;
Al igual para ver las
columnas de la tabla se usa SHOW COLUMNS FROM TABLA;
Si necesitamos ver la
colocación o los comentarios que tenemos de las columnas se añade la palabra
clave FULL a SHOW COLUMNS. Y se hace de la siguiente manera: SHOW FULL COLUMNS
FROM TABLA;.
Para crear una tabla
nueva se usa el comando CREATE TABLE tabla al que se le pasa la
definición de las columnas, las posibles restricciones (constraints) y las
opciones de la tabla y de partición. Como se muestra en el ejemplo:
CREATE TABLE usuario (
id_usuario INT PRIMARY KEY AUTO_INCREMENT,
nombre VARCHAR(50) NOT NULL,
direccion VARCHAR(50) NOT NULL,
ciudad VARCHAR(20) NOT NULL,
edad TINYINT NOT NULL
);
Los tipos de las columnas pueden ser números enteros, decimales, fechas,
horas, cadenas y los tipos especiales.
Tipos de números:
ü BIT.
ü TINYINT.
ü BOOL.
ü BOOLEAN.
ü SMALLINT.
ü MEDIUMINT.
ü INT.
ü INTEGER.
ü BIGINT.
ü SERIAL.
ü FLOAT.
ü DOUBLE.
ü REAL.
ü DOUBLE PRECISION.
ü DECIMAL.
ü DESC.
ü DATE.
ü DATETIME.
ü TIMESTAMP.
ü TIME.
ü YEAR.
ü CHAR.
ü VARCHAR.
ü BINARY.
ü ENTRE OTROS.
Para cada columna,
además del tipo, podemos definir otras propiedades:
҉
NOT NULL: No se puede
introducir valores nulos.
҉
DEFAULT valor: Para
definir un valor por defecto.
҉
PRIMARY KEY: La clave
primaria de la relación. Los valores deben ser únicos y no nulos. Una tabla,
como es lógico, sólo puede tener una clave primaria.
҉
COMMENT
"comentario": Comentarios varios sobre el campo..
҉
ETC.
Las restricciones
posibles para la tabla son:
⃰
PRIMARY KEY (campo1, campo2, ...): Para indicar el campo o campos que
conforman la clave primaria.
⃰
KEY (campo1, campo2, ...): Para crear una clave no primaria ni única. Esto
creará un índice para el campo.
⃰
INDEX (campo1, campo2, ...): Sinónimo de KEY.
⃰
FOREIGN KEY (campo1, campo2, ...) REFERENCES tabla (campo3, campo4, ...):
Para crear una clave foránea o ajena. Sigue el mismo formato
queREFERENCES para las columnas.
⃰
CHECK (expresion): En teoría, para definir otras restricciones. En realidad
esta opción se admite por el parser, pero se ignora. Tenemos que recurrir a
triggers o disparadores.
Para poder eliminar una tabla se necesita el comando DROP TABLE TABLA;
Para modificar una tabla es el con
el comando ALTER TABLE este comando también lo podemos usar para eliminar
columnas, cambiar la definicion de las columnas, etc.
Para insertar valores
en una tabla, si vamos a dar valores a todas las columnas como en ejemplo que
se muestra:
INSERT INTO usuario VALUES (1, "Pablo Santander", "Calle Bolivia 18", "Madrid", 17);
Si sólo vamos a dar
valores solo a algunas columnas hay que indicar a cuáles específicamente.
Para insertar varias
tuplas con un solo INSERT solo hay que separarlas con comas como en el ejemplo
siguiente:
INSERT INTO usuario VALUES
(3, "Marta Marsopa", "Calle Italia 4", "Madrid", 58),
(4, "Jaime Torres", "Avenida de Barcelona 12", "Valladolid" , 37),
(10, "Juan Martero", "Calle Madrid 12", "Barcelona", 26);
Para seleccionar
tuplas se utiliza SELECT. Basta con especificar qué columnas queremos
seleccionar de las tuplas y la tabla en la que se encuentran:
SELECT nombre, direccion
FROM usuario;
Si queremos seleccionar
todos los campos podemos usar el caracter * como atajo.
También podemos usar
funciones en las expresiones que determinan lo que estamos seleccionando. En
este caso se usa LOWER, que transforma una cadena en minúsculas:
SELECT LOWER(nombre), LOWER(direccion)
FROM usuario;
Para agrupar las
tuplas por un determinado campo:
SELECT ciudad, COUNT(ciudad)
FROM usuario
GROUP BY ciudad;
Para seleccionar solo
algunas tuplas de entre el resultado de un GROUP BY se puede utilizar
la cláusula HAVING:
SELECT ciudad, COUNT(ciudad)
FROM usuario
GROUP BY ciudad DESC
HAVING COUNT(ciudad) < 1;
Para limitar el número
de tuplas que queremos que devuelva SELECT se utiliza LIMIT:
SELECT *
FROM usuario
LIMIT 2;
Si usaramos
un RIGHT JOIN ocurriría algo semejante con las tuplas de la tabla
derecha, asegurándonos de que se mencionen todos los blogs, aunque no tengan un
usuario asociado:
SELECT nombre, titulo
FROM usuario RIGHT JOIN blog ON usuario.id_usuario = blog.id_usuario;
);
No hay comentarios:
Publicar un comentario