Está en la página 1de 12

MySQL – Conceptos Básicos.

El siguiente tutorial tiene por objetivo explicar las principales sentencias utilizadas en MySQL para
la creación y lectura de bases de datos.

¿Qué es SQL?
SQL: Structured Query Language. Es un lenguaje estructurado para poder acceder a una base de
datos. Dicho acceso puede ser de lectura o escritura, dependiendo de la sintaxis de la misma.
SQL es el lenguaje utilizado en MySQL, así como en otros gestores de Bases de Datos como SQL
Server.
Para poder mostrar el uso de sentencias básicas de SQL en MYSQL, utilizaremos un ejemplo de
una base de datos de una escuela. Para ello, abrimos MySQL desde la línea de comandos:

Drawing 1: Arranque de MySQL.

Notas:
– Todos los ejemplos fueron realizados en Ubuntu 9.04, pero gracias a que MySQL es
multiplataforma, la ejecución y resultados será la misma para todos los sistemas operativos
que soporten MySQL.
– La nomenclatura a utilizar será la siguiente:
1. Titulos en verde: Sentencias de lectura de datos.
2. Titulos en azul: Sentencias de escritura de datos.
Principales sentencias de SQL.

SHOW DATABASES;
Muestra las bases de datos existentes en MySQL:

Drawing 2: Ejecución de sentencia "show databases".

Podemos apreciar que existen 4 bases de datos en este equipo. Las tablas que ya incluye MySQL
por default son “information_schema” y “mysql”. Las otras 2, “floreria” y “hotel” fueron creadas
por el usuario.
IMPORTANTE: Observa que las sentencias terminan con punto y coma. Existen algunas
sentencias que no lo necesitan, pero para no confundirnos, terminaremos todas las sentencias de
esta forma.
CREATE DATABASE (nombre de la base de datos);
Crea una nueva base de datos con el nombre especificado:

Drawing 3: Ejecución de sentencia "create database".

Podemos observar que la sentencia se ejecutó correctamente. Para comprobar que nuestra base
de datos “escuela” existe, podemos ejecutar “show databases” explicada en la sección anterior.
DROP DATABASE (nombre de la base de datos);
Elimina una base de datos cuyo nombre es el especificado:

Drawing 4: Ejecución de sentencia "drop dababase".

Podemos observar que la sentencia se ejecutó correctamente. Para comprobar que nuestra base
de datos “escuela” fue removida, podemos ejecutar nuevamente “show databases”.
USE (nombre de la base de datos);
Indica a MySQL que utilice la base de datos cuyo nombre es el especificado. Todas las operaciones
que se le indiquen a MySQL se realizarán sobre dicha base de datos de ahora en adelante:

Drawing 5: Ejecución de sentencia "use".

Observa que tuvimos que crear la base de datos “escuela” de nuevo porque la habíamos removido
anteriormente.
Al ejecutar dicho comando, MySQL nos indica que la base de datos actual ha cambiado por la que
nosotros hemos elegido.
SHOW TABLES;
Muestra las tablas existentes en la base de datos actual:

Al ejecutar ésta sentencia, vemos que MySQL nos indica “Empty set”, ya que no hemos creado
nunguna tabla para la base de datos “escuela”. Veamos como creamos tablas.
CREATE TABLE (nombre de la tabla) (descripción de los campos);
Crea una nueva tabla dentro de las base de datos actual. Dentro de la sentencia, se especifica el
nombre que tendrá la tabla y sus campos correspondientes. Para nuestro ejemplo, crearemos 2
tablas:
– “alumnos”, la cual contendrá los campos “nombre”, “grado” y “grupo”.
– “materias”, la cual contendrá “nombre” y “grado”.
Antes de continuar, veamos algunos tipos de datos que maneja MySQL para los campos de las
tablas.

Tipos de datos básicos en MySQL;


Existen muchos tipos de datos en MYSQL. Desde númericos hasta de tipo fecha, booleanos, etc,
etc, etc. Vamos a explicar 2 de los tipos de datos más utilizados en MySQL: núméricos y
alfabéticos. Lo demás tipos los cubriremos en manuales posteriores.

int(n).
Tipo de datos que maneja números enteros. Dentro del paréntesis, podemos especificar el número
máximo de dígitos que puede tener nuestro valor entero. Por ejemplo, int(4) nos dice que el
número máximo de dígitos puede ser 4, por lo que no aceptaría valores como 12345, 34789, etc.

varchar(n)
Tipo de datos que maneja caracteres. Dentro del paréntesis, podemos especificar el número
máximo de caracteres que pueden ser utilizados en dicho campo. Por ejemplo, varchar(10) indica
que el número máximo de caracteres puede ser de 10.
Para crear nuestras tablas, debemos decidir los tipos de datos para nuestros campos:
– “alumnos”: nombre:alfabético; grado: numérico; grupo: alfabético:
– “materias”, nombre: alfabético; grado: numérico.
Hecho esto, procedamos a crear nuestras tablas. Hagamos primero la tabla “alumnos”:
Drawing 6: Creación de la tabla "alumnos".

Como podrán observar, hemos dividido la sentencia en varias líneas. MySQL permite esto para
hacer más legible la escritura de la misma. Para poder hacerlo, simplemente damos “Enter”. La
sentencia no se ejecutará porque MySQL sabe que la sentencia está incompleta, por lo que seguirá
solicitando datos al usuario.
Para definir los campos, escribimos primero el nombre del campo y luego el tipo de valor para
dicho campo. En nuestro ejemplo, definimos que “nombre“ será alfabético de 100 caracteres como
máximo, “grado” será numérico de 2 dígitos y “grupo” será alfabético de 1 caracter. Cada
declaración de campo está separada por comas.
Para crear la tabla “materias”, utilizamos la misma sintaxis:
create table materias( nombre varchar(100), grado int(2) );
De nuevo, pueden dividir la sentencia a su gusto para mejorar la legibilidad del mismo. Para
comprobar que las tablas fueron creadas, ejecutamos “show tables”.
DESCRIBE (nombre de la tabla);
Muestra una descripción general de los campos de la tabla indicada:

Drawing 7: Ejecución de la sentencia "describe".

Podemos observar la ejecución “show tables” mencionada anteriormente.


La información arrojada por “describe” nos indica lo siguiente:
– FIELD: nombre del campo.
– TYPE: tipo de dato del campo.
– NULL: Indica si un valor puede ser obligatorio o no. YES significa que el dato puede ser nulo
y por lo tanto NO es obligatorio al momento de insertar un registro. En nuestro ejemplo,
todos los camps son opcionales, ya que pueden ser nulos.
– KEY: Indica si el campo contiene llaves (primarias o múltiples). Las llaves primarias indican
la “clave” con la cual podemos identificar un registro, por lo tanto, es única e irrepetible.
Las llaves múltiples indican relaciones uno a uno, uno a muchos o muchos a muchos entre
tablas. En nuestro ejemplo, no tenemos ningún tipo de llaves.
– EXTRA: Si algún campo contiene información adicional, ésta se muestra aquí.
Prueba esta sentencia con la tabla “materias”.
INSERT INTO (nombre de la tabla)(campos) values (valores de los
campos);
Inserta un registro dentro de la tabla especificada:

Drawing 8: Inserción de un registro.

Como podrán ver, lo primero que debemos especificar es la tabla donde vamos a insertar el
registro. Posteriormente, le decimos a MySQL los campos en donde se insertarán los datos.
Finalmente, de acuerdo al orden de los campos especificados anteriormente, le decimos a MySQL
los datos a insertar. En nuestro ejemplo, insertamos dentro de la tabla “alumnos” el siguiente
registro:
– nombre: “Alejandro Garcia Granados”
– grado: 6
– grupo : “A”.
Cuando escribimos datos alfabéticos, debemos escribirlos entre comillas dobles o simples.
Prueba insertando un registro en la tabla “materias“.
SELECT * FROM (nombre de la tabla);
Muestra todos los registros de la tabla especificada:

Drawing 9: Visualización de todos los registros de una tabla.

El resultado muestra cada campo en una columna diferente. En nuestro ejemplo, únicamente
tenmos un registro, pero esto nos sirve para comprobar que los datos se insertaron correctamente.
SELECT (campos de la tabla separados por comas) FROM (nombre de la
tabla);
Muestra todos los registros de la tabla especificada, pero en esta ocasión, solo se muestran los
campos que se escriben dentro de la sentencia:

Drawing 10: Visualización de campos específicos de todos los registros de una tabla.

El resultado es semejante al ejemplo anterior, pero podemos ver que únicamente se muestran los
campos que nosotros hemos solicitado.

También podría gustarte