Conceptos Basicos MYSQL

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: 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. Drawing 1: Arranque de MySQL.

Transcript of Conceptos Basicos MYSQL

Page 1: Conceptos Basicos MYSQL

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:

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.

Drawing 1: Arranque de MySQL.

Page 2: Conceptos Basicos MYSQL

Principales sentencias de SQL.

SHOW DATABASES;

Muestra las bases de datos existentes en MySQL:

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.

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

Page 3: Conceptos Basicos MYSQL

CREATE DATABASE (nombre de la base de datos);

Crea una nueva base de datos con el nombre especificado:

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.

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

Page 4: Conceptos Basicos MYSQL

DROP DATABASE (nombre de la base de datos);

Elimina una base de datos cuyo nombre es el especificado:

Podemos observar que la sentencia se ejecutó correctamente. Para comprobar que nuestra base de datos “escuela” fue removida, podemos ejecutar nuevamente “show databases”.

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

Page 5: Conceptos Basicos MYSQL

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:

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.

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

Page 6: Conceptos Basicos MYSQL

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.

Page 7: Conceptos Basicos MYSQL

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”:

Page 8: Conceptos Basicos MYSQL

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”.

Drawing 6: Creación de la tabla "alumnos".

Page 9: Conceptos Basicos MYSQL

DESCRIBE (nombre de la tabla);

Muestra una descripción general de los campos de la tabla indicada:

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”.

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

Page 10: Conceptos Basicos MYSQL

INSERT INTO (nombre de la tabla)(campos) values (valores de los campos);

Inserta un registro dentro de la tabla especificada:

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“.

Drawing 8: Inserción de un registro.

Page 11: Conceptos Basicos MYSQL

SELECT * FROM (nombre de la tabla);

Muestra todos los registros de la tabla especificada:

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.

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

Page 12: Conceptos Basicos MYSQL

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:

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

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