sábado, 4 de mayo de 2013


Primer resumen:
Tema: MySQL

MySQL es uno de los sistemas de gestión de bases de datos más populares del mercado. Se trata de un SGBD basado en el modelo relacional.
A continuación veremos comando para MySQL
Para crear una base de datos:
CREATE DATABASE base_datos; 
Si ya existe una base de datos con ese nombre, MySQL devolverá un error. Podemos añadir el texto IF NOT EXISTS:
CREATE DATABASE IF NOT EXISTS base_datos; 
A la hora de crear la base de datos también se puede especificar el juego de caracteres y la colación (conjunto de reglas utilizadas para comparar los caracteres) a utilizar por defecto. Esto se logra con DEFAULT CHARACTER SET y DEFAULT COLLATE respectivamente.
CREATE DATABASE IF NOT EXISTS base_datos  
DEFAULT CHARACTER SET utf8  
DEFAULT COLLATE utf8_general_ci;

Para comunicarnos con el servidor usando un cierto juego de caracteres se puede usar el comando SET NAMES.
SET NAMES "utf8"
Podemos ver una lista de los juegos de caracteres admitidos por MySQL mediante el comando SHOW CHARACTER SET;. Algunos juegos de caracteres comúnmente utilizados son:
§  ascii; Es una codificación de caracteres de 7 bits basado en el alfabeto inglés con 95 caracteres imprimibles.
ascii_general_ci
§  latin1, el juego de caracteres por defecto en MySQL.
latin1_swedish_ci
§  utf8, de 8-bit Unicode Transformation Format. Unicode es un acrónimo de “Universal Code” (código universal) y es, como su nombre indica, un juego de caracteres con el que podemos representar textos escritos en la mayoría de los alfabetos del planeta.
utf8_general_ci
Los nombres de las colaciones comienzan con el nombre del juego de caracteres asociado y terminan con _ci (case insensitive).
SHOW COLLATION LIKE "utf8%";  
Para ver las distintas bases de datos disponibles en nuestro servidor MySQL:
SHOW DATABASES; 
Para borrar una base de datos:
DROP DATABASE base_datos; 
Para seleccionar la base de datos con la que queremos trabajar:
USE base_datos; 
Para ver las tablas de la base de datos:
SHOW TABLES; 
Para ver las columnas de la tabla:
SHOW COLUMNS FROM tabla; 
o bien el atajo:
DESCRIBE tabla; 
e incluso:
DESC tabla; 
Si necesitamos ver también la colación, los privilegios que tenemos o los comentarios de las columnas añadiremos la palabra clave FULL a SHOW COLUMNS.
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 y las opciones de la tabla y de partición.
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  
); 

Para eliminar una tabla:
DROP TABLE tabla; 
Para que no produzca un error si la tabla no existe:
DROP TABLE IF EXISTS tabla; 
Para modificar una tabla se utiliza ALTER TABLE que permite cosas como añadir columnas:
ALTER TABLE tabla ADD COLUMN valor INT
Eliminar columnas:
ALTER TABLE tabla DROP COLUMN valor; 
Cambiar la definición de las columnas:
ALTER TABLE tabla MODIFY COLUMN valor TINYINT; 
O renombrar la tabla:
ALTER TABLE tabla RENAME TO tabla2;
Para insertar valores en una tabla, si vamos a dar valores a todas las columnas:
INSERT INTO usuario VALUES (1, "Pablo Santander""Calle Bolivia 18""Madrid", 17);
Para insertar varias tuplas con un solo INSERT solo hay que separarlas con comas:
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 actualizar las tuplas:
UPDATE usuario  
SET nombre = "Marta Marsupial", direccion = "Calle Italia 14"  
WHERE id = 3; 

Para borrar tuplas:
DELETE FROM usuario  
WHERE id = 2; 

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 limitar el número de tuplas que queremos que devuelva SELECT se utiliza LIMIT:

SELECT *  
FROM usuario 
LIMIT 2; 

LIMIT se le pueden pasar dos números separados por comas, en cuyo caso el primer número indica la tupla desde la que se empieza a y el segundo el número de tuplas a devolver.
SELECT *  
FROM usuario  
LIMIT 2,2;

No hay comentarios:

Publicar un comentario