mysql

Que es mysql?

MySQL es un sistema de gestión de base de datos.
Una base de datos es una colección estructurada de datos. Puede ser cualquier cosa, desde una simple lista de la compra a una galería de fotos o las grandes cantidades de información en una red corporativa. Para agregar, el acceso y proceso de los datos almacenados en una base de datos, se necesita un sistema de gestión de base de datos como MySQL Server. Dado que los ordenadores son muy buenos en el manejo de grandes cantidades de datos, sistemas de gestión de bases de datos juegan un papel central en la computación, como aplicaciones autónomas o como parte de otras aplicaciones.
Las bases de datos MySQL son relacionales
Las bases de datos relacionales almacenan los datos en tablas separadas en lugar de poner todos los datos en un gran almacén. Las estructuras de bases de datos están organizados en archivos físicos optimizadas para la velocidad. El modelo lógico, con objetos tales como bases de datos, tablas, vistas, filas y columnas, ofrece un entorno de programación flexible. Configure las reglas que rigen las relaciones entre los diferentes campos de datos, como uno-a-uno, uno-a-muchos, único, obligatorio u opcional, y "punteros" entre diferentes tablas. La base de datos hace cumplir estas normas, de manera que con una base de datos bien diseñada, su aplicación nunca ve incoherente, duplicar, huérfano, fuera de fecha, o los datos que faltan.

La parte SQL de "MySQL" es sinónimo de "Structured Query Language". SQL es el lenguaje estandarizado más común utilizado para acceder a bases de datos. Dependiendo de su entorno de programación, es posible entrar en SQL directamente (por ejemplo, para generar informes), sentencias SQL incrustar en el código escrito en otro idioma, o utilizar una API específica del idioma que esconde la sintaxis SQL.

Requisitos

Para poder continuar con el tutorial es necesario que descargues la última versión de MySQL server y también es necesario que descargues MySQL Workbench para interctuar con mysql de manera gráfica lo descargamos del siguiente link

MySQL Community Dowloads

Instalación

Como hay diversas formas de instalar mysql dependiendo de sistema operativo que se este utilizando te dejamos un link hacia la documentación de mysql y esta parte nos dice como instalar mysql en mi caso lo realice con el instalador de mysql para windows ya que cuando se realizo este tutorial se contaba con windows 8

La comunicación con el servidor

Un servidor MySQL se encuentra inactivo, a la espera de recibir consultas. Cuando se recibe una, el servidor lleva a cabo la acción solicitada en nuestro nombre y responde con el resultado. Hay varias formas en las que se puede comunicar con MySQL, por ejemplo mediante programación desde una aplicación que escribimos o de forma interactiva utilizando un cliente dedicado.

Ahora vamos a comunicarnos con mysql desde consola de la siguiete manera:


mysql project
La consola te pedira la contraseña del usuario root que introduciste a la hora de instalar.Una vez dentro se muestra la consola de la siguiente manera:
mysql project
En la consola de Unix o linux se manda a llamar con el comando:
mysql -u root -p
-u significa usuario
-p password
-u y -p son sólo dos de las muchas opciones aceptadas por el cliente. He aquí una lista de algunas otras opciones que puede encontrar por sí mismo utilizando con frecuencia (se puede llamar al cliente con la opción -? para una lista completa):
  • -A - no vuelva a inicializar la búsqueda de autocompletar
  • -B -ejecución en modo batch
  • -e sentencia - ejecute la instrucción SQL dada
  • -h nombre del host - especificar un nombre de host de un servidor de base de datos remota
  • -N - suprimir nombres de las columnas de la salida de resultados
  • -p - preguntar por el password de la cuenta para conectar
  • -u nombre de usuario - especificar el nombre de usuario de una cuenta para conectarse
  • -? - Una lista de todas las opciones disponibles

Para mostrar las bases de datos que hay en nuestro servidor se realiza con la sentencia show databases;

mysql project

A continuación vamos a crear un bases de datos desde línea de comandos para ver como se muestra en la sentencia anterior al momento de crearla escribmos el siguiente comando:

CREATE DATABASE pruebadb CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql project
Volviendo a escribir SHOW DATABASES; podemos notar que agrego la base de datos.
mysql project

Para usar una base de datos específica basta utilizar la sentecia:

USE pruebadb;
mysql project
Para mostrar las tablas de la base de datos se realizá con la sentencia SHOW TABLES;
mysql project
la respuesta que nos arrojo de tablas vacías porque no hemos creado una tabla todovía más adelante empezaremos a crear tablas.

La comunicación con el servidor( MySQL Workbench)

Ahora la comunicación la realizaremos con MySQL Workbench iniciamos pulsando nuestro icono
mysql project
Seleccionamos nuestra instancia local
mysql project
Introducimos nuestra contraseña de usuario root y presionamos ok
mysql project
En la parte donde dice SCHEMAS nos muestra las bases de datos disponibles
mysql project
Para crear una base de datos seleccionamos el icono de bases de datos y nos crea una nuevo esquema
mysql project
A nuestro esquema le pondremos prueba2db en Collation selecionamos utf8-utf8_general_ci y presionamos Apply
mysql project
Nos aparece la siguiente pantalla y hacemos clic en Apply
mysql project
Luego presionamos Finish
mysql project
Luego en donde dice SCHEMAS nos aparace prueba2db y podemos destender y vemos que todavia no tenemos ninguna tabla creada.
mysql project

Cuentas de usuario Mysql

Incluso cuando el usuario root de MySQL no es la misma que la cuenta root del sistema, todavía no es destinados a ser utilizados sobre una base regular. El usuario root de MySQL sólo debe utilizarse para tareas administrativas tales como la creación de nuevas cuentas de usuario, la configuración de permisos, y el lavado de las memorias caché de acceso. cuentas menos privilegiadas se deben utilizar en un día a día.

la sentencia utilizada para crear un usuario es la siguiente:

 CREATE USER 'usuario'@localhost IDENTIFIED BY 'password';


Si MySQL permite que un usuario realice una actividad depende de qué privilegios Se asocian con la cuenta. Se crean nuevas cuentas sin privilegios Por lo que debemos conceder explícitamente cualquier privilegio que la cuenta necesite la sentecia es la siguiente:
GRANT CREATE, DROP, ALTER, INSERT, UPDATE, SELECT, DELETE,
INDEX ON pruebadb.* TO 'usuario'@'localhost';
 

Aquí decimos que se tengan los privilegio de la base de datos puebadb con el usuario que le estamos asignando. Aquí listamos algunos de los privilegios que se utilizar con la sentencia GRANT:
  • ALL PRIVILEGES:esto permite a un usuario de MySQL acceder a todas las bases de datos asignadas en el sistema.
  • CREATE: permite crear nuevas tablas o bases de datos.
  • DROP: permite eliminar tablas o bases de datos.
  • DELETE: permite eliminar registros de tablas.
  • ALTER:permite al usuario cambiar la definición de una tabla existente.
  • INSERT: permite insertar registros en tablas.
  • SELECT: permite leer registros en las tablas
  • UPDATE: permite actualizar registros seleccionados en tablas.
  • INDEX: permite al usuario crear o eliminar índices
  • GRANT OPTION: permite remover privilegios de usuarios.

Los privilegios pueden ser revocados con una sentencia REVOKE, cuya sintaxis es idéntica a la de GRANT:
 
 REVOKE CREATE, DROP, ALTER, INDEX ON pruebadb.* TO
'usuario'@'localhost';
 
 

Siempre que se realice un cambio relacionado con el usuario o el privilegio, debemos enviar un FLUSH PRIVILEGES para instruir a MySQL que debe recargar la memoria caché de la información de la cuenta. Se mantiene para que las actualizaciones puedan tener efecto. De lo contrario, los cambios pueden pasar desapercibido hasta que se reinicie MySQL:
 
 FLUSH PRIVILEGES;
 
 

Como crear un usuario con mysql desde línea de comandos

A continuación vamos a ver como se crea una cuenta de usuario con mysql desde consola para todas las bases de datos y tablas.

Usuarios y privilegios con MySQL Workbench

A continuación se mostrará como crear un usuario con privilegios desde MyQSL Workbench.

Como almacenar datos

Los datos almacenados en una base de datos relacional se organizan en tablas. Una tabla de base de datos organiza Datos en forma de cuadrícula, donde cada registro forma una fila y cada columna Identifica un valor específico en el registro.

Como crear una tabla

Las tablas se crean utilizando la sentencia CREATE TABLE. En su forma más simple, la declaración proporciona el nombre de la tabla que queremos crear y una lista de columnas nombres y sus tipos de datos.