MYSQL

 
¿Qué es MySql?
¿Porqué Usar MySql?
Creando la Base de Datos



Que es MySQL? 
MySQL es un gestor de bases de datos SQL (Structured Query Language). Es una implementación Cliente-Servidor que consta de un servidor y diferentes clientes (programas/librerías). Podemos agregar, acceder, y procesar datos grabados en una base de datos. Actualmente el gestor de base de datos juega un rol central en la informática, como única utilidad, o como parte de otra aplicación.

MySQL es un software de código abierto esto quiere decir que es accesible para cualquiera, para usarlo o modificarlo. Podemos descargar MySQL desde Internet y usarlo sin pagar nada, de esta manera cualquiera puede inclinarse a estudiar el código fuente y cambiarlo para adecuarlo a sus necesidades. MySQL usa el GPL (GNU Licencia Publica General) para definir que podemos y no podemos hacer con el software en diferentes situaciones; esta licencia no cuesta dinero a menos que se incluya en un software comercial.



¿Porque usar MySQL?

MySQL es muy rápido, confiable, robusto y fácil de usar tanto para volúmenes de datos grandes como pequeños. Tiene un conjunto muy practico de características desarrolladas en cooperación muy cercana con los usuarios. Sin embargo bajo constante desarrollo, MySQL hoy en día ofrece un rico y muy útil conjunto de funciones. La conectividad, velocidad y seguridad hace de MySQL altamente conveniente para acceder a bases de datos en Internet.

IBM empezó a comercializar en 1.981 el SQL y desde entonces este producto ha tenido un papel importante en el desarrollo de la bases de datos relacionales. IBM propuso y fue aceptada , una versión de SQL al Instituto de Estándares Nacional Americano(ANSI) y desde entonces es utilizado de forma generalizada en las bases de datos relacionales.

En el mundo GNU, una de las bases de datos que se reseña en cualquier referencia de aplicaciones de éste tipo bajo LINUX, es MySQL aunque no está incluida en ninguna distribución ya que no tiene licencia GNU como tal, para comercializarla a ella o a cualquier software que la utilice o se sirva de ésta habrá que adquirir una licencia. Alrededor de la década del 90, Michael Windenis comenzó a usar mSQL para conectar tablas usando sus propias rutinas de bajo nivel (ISAM). Sin embargo, después de algunos testeos llego a la conclusión que mSQL no era lo suficientemente rápido ni flexible para sus necesidades. De todo esto surgió en una nueva interfaz SQL (claro que con código mas portable) con algunas apariencias similares en la API de C y en los nombres y funciones de muchos de sus programas. Esto había sido hecho para lograr con relativa facilidad portar aplicaciones y utilidades de MiniSQL a MySQL. El Origen del nombre MySQL no esta perfectamente claro. Algunos lo atribuyen al hecho de que un gran numero de nuestras librerias y herramientas le asignamos el prefijo "My" por costumbre. Sin embargo la hija de `Monty' es ademas llamada My. Asi que cual de las dos razones da el nombre a MySQL es aun un misterio.


Creando la Base de Datos

Primero, y antes de continuar, observa que todos los comandos MySQL finalizan con un punto y coma ';'.

De todas formas, creemos una base de datos llamada info. Para crearla debemos escribir:

mysql> create database info;
Si todo fue bien ahora debes estar viendo un resultado como:

Query OK, 1 row affected (0.03 sec)
Para comenzar a usar esa base de datos escribe:

mysql> use info;
Obtendrás el resultado

Database changed.
Bien, ahora hemos creado la base de datos info.

Creando Tablas

Aquí es donde los tipos de datos que mencionamos antes son útiles. Cuando se crea una tabla, se especifica todas las columnas y sus tipos de datos. Es posible añadir una columna o manipular columnas existentes una vez que se han creado, lo que luego te enseñaré.

Está bien, esta tabla de ejemplo se llamará usuarios, y tendrá un total de tres columnas. 1, el número de identificación, 2, el nombre de la persona, y 3, la dirección de email de esa persona.

mysql> CREATE TABLE usuarios (
-> id INT NOT NULL AUTO_INCREMENT,
-> nombre VARCHAR (50),
-> email VARCHAR (50),
-> PRIMARY KEY (id));
¿Qué significa esto?, bueno, la explicación seria así:

La primera columna es probablemente la más crítica. Básicamente, le dice a MySQL que esta columna se va a llamar id, es un entero y su valor no puede ser null, y automáticamente incrementará el número del registro anterior. Verás cómo se usa en la siguiente sección: Añadiendo Datos.

La columna nombre es una cadena de longitud variable. Su longitud tiene un máximo de 50 caracteres. La columna del email es mas o menos la misma cosa.

¿Qué es entonces la parte del PRIMARY KEY?

El PRIMARY KEY es una columna que MySQL usa como índice. Este índice puede hacer cosas como:

Hallar rápidamente filas que acierten una clausula WHERE.
Regresar filas de una tabla desde otras tablas cuando se realizan uniones.
Organizar o agrupar una tabla si el ordenado se hace en el prefijo izquierdo de la llave usable.
Esto definitivamente te va a ayudar a agilizar sus peticiones también.

Añadiendo Datos.

Añadiendo datos a una tabla no es un proceso tan difícil. Básicamente tienes que especificar en cual tabla vas a insertar los valores y luego los inserta. La sintaxis es como sigue:

mysql> INSERT INTO usuarios VALUES ('',
-> 'Cristian', '[email protected]');
La respuesta debería ser algo como la siguiente:

Query Ok, 1 row affected (0.05 sec)
Nota: Cuando se añaden datos y no se tiene ningún valor para una columna, aun así debe tenerla listada. Por ejemplo, si yo no tuviera una dirección de correo electrónico, la sintaxis sería como la siguiente:

mysql> INSERT INTO usuarios VALUES ('','Cristian','');

Viendo Datos.

Luego de añadir datos a su tabla, probablemente quiera revisarlos para asegurarse de que todo va como fue planeado. Para hacerlo, debe usar el comando SELECT.

Para ver todos los datos en la tabla, debería usar algo como:

mysql> SELECT * FROM usuarios;
Esto le dará una salida como:

+----+------------+-----------------------------+
| id | nonmbre | email |
+----+------------+-----------------------------+
| 1 | Cristian | [email protected] |
| 2 | Sandra | [email protected] |
+----+------------+-----------------------------+
2 rows in set (0.00 sec)
Digamos que usted quiere seleccionar una fila en particular, usted debe usar un comando como:

mysql> SELECT * FROM users WHERE (name='Cristian');
Esto le entregará:

+----+---------------+---------------------------------+
| id | nombre | email |
+----+---------------+---------------------------------+
| 1 | Cristian | [email protected] |
+----+---------------+---------------------------------+
También puede seleccionar columnas específicas con:

mysql> select nombre from usuarios;

+----------------+
| nombre |
+----------------+
| Cristian |
| Sandra |
+----------------+
2 rows in set (0.06 sec)

Modificando Datos

Si ya tienes datos en la base de datos que necesitan ser modificados, puede cambiarlos usando el comando UPDATE en mysql.

Se usa más o menos así:

mysql> UPDATE usuarios SET email = '[email protected]'

-> WHERE email = '[email protected]';

Esto cambiará todas las filas donde el email sea '[email protected]' a '[email protected]'. En este caso, solo una entrada fue cambiada.

Eliminando Datos

Si quieres remover datos de la base de datos, puede usar el comando DELETE de MySQL. Su uso es como sigue:

mysql> DELETE FROM usuarios WHERE (nombre='Sandra');
Esto eliminaría la entrada de Sandra a la base de datos, dejando solamente la entrada de Cristian en ella.

Hasta el momento solo hemos cubierto una pequeña porción de los comandos de MySQL. Aun hay bastantes comandos avanzados que puede integrar en sus peticiones SQL.

Funciones de Búsqueda

Como viste en los ejemplos anteriores, MySQL tiene la habilidad de encontrar datos específicos en una búsqueda. Aun no he cubierto las búsquedas en general, así que aquí van:

El caracter % es el caracter comodín en MySQL. Esto es que puede representar cualquier cosa, literalmente.

Para hacer una búsqueda general, usaríamos la siguiente sintaxis:

mysql> SELECT * FROM usuarios WHERE
-> (nombre LIKE '%B%');
Esto resultará en buscar cualquier cosa con la letra mayúscula B en la columna nombre. Nota que he usado dos %. Esto revisa cualquier cosa antes y después de ésa letra. También podría haber usado uno.

Puedes colocar el signo % en cualquier lugar de la búsqueda, ya que la búsqueda está basada en la localización de ése carácter.

Otro carácter comodín es el carácter _. Éste buscará exactamente un carácter.

Para usar un carácter literal en sus búsquedas use también Order By:

mysql> SELECT * FROM usuarios WHERE
-> (nombre = 'Juan%') ORDER BY id DESC;
Esto regresará todos los registros que contienen a alguien con su primer nombre Juan, y ordenará el resultado por el número de identificación en forma descendente.

Por defecto el ordenado es ascendente, por lo que si usted quiere ordenar en esta forma solo tiene que escribir ORDER BY id o añadirle la palabra ASC.



Manipulando Tablas

Digamos que ya hiciste tu tabla, y has entrado toda clase de datos en ella. Ahora has llegado a un problema... el límite de caracteres para una columna es demasiado pequeño para lo que necesitas ahora. Y no deseas eliminar todos estos datos, TIENES que cambiar la tabla de alguna forma.

Puedes manipular las tablas que ya han sido creadas.

El comando para esta tarea se conoce como ALTER TABLE. Solo una nota: es posible mezclar todos estos comandos, usualmente separándolos con una coma(,) o solo colocándolos todos en la misma línea. Juega un poco con ellos para que entiendas de qué estoy hablando.

Renombrando una Tabla.
mysql> ALTER TABLE usuarios RENAME public;
Cambiando el tipo de datos de una columna.
mysql> ALTER TABLE public MODIFY nombre CHAR(150);
Renombrando una tabla y cambiando el tipo de la columna a la vez.
mysql> ALTER table usuarios CHANGE
-> email emailaddy CHAR (100);
Añadiendo una Columna.
mysql> ALTER TABLE public ADD time TIMESTAMP;
Removiendo una Columna.
mysql> ALTER TABLE public DROP COLUMN time;
Luego de hacer todos esos cambios a la tabla, talvez quieras optimizar la tabla(Especialmente si está usando VARCHARSs, TEXTs o BLOBs, ya que esto optimizará la localización de la memoria). También querrás hacerlo si has borrado una gran parte de la tabla.

Durante la optimización de una tabla, la tabla original está disponible a los clientes, sin embargo, la modificación de la tabla es detenida hasta que la optimización finaliza.

La sintaxis es: OPTIMIZE TABLE table_name_goes_here.

Eliminando una Tabla Entera

Para eliminar(drop) una tabla deberías usar la siguiente sintaxis:

mysql> DROP TABLE public;
Si deseas eliminar más tablas a la vez, debes hacer esto:

mysql> DROP TABLE public, usuarios;
 


 
CONTENIDO
  APACHE
  PHP
  MYSQL
  PROYECTO
  SUGERENCIAS
 
 

MY SQL - PHP PARA LINUX
  
Principal
Proyecto
Sugerencias