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