Tareas generales

Categories:

Aunque hay más tareas que se pueden realizar con las bases de datos, tablas y registros, las tareas mencionadas a continuación son las que considero principales y que se van a utilizar con más frecuencia.

Bases de Datos

Tarea Descripción Sintaxis
Crear

Útil para hacer proyectos nuevos o para importar alguna BD que no tenga dentro de su script la generación de la base de datos.

CREATE DATABASE nombreBD CHARSET utf8 COLLATE utf8_general_ci;
Eliminar

Borra la base de datos especificada del administrador de bases de datos.

DROP DATABASE nombreBD;
Utilizar

Selecciona la base de datos en la que se va a trabajar.

USE nombreBD;
Importar

Útil para transportar las bases de datos de una computadora a otra o, para utilizar respaldos de bases de datos en un administrador de bases de datos.

# Se ejecuta desde la línea de comandos (terminal)
# no desde mysql
# mysql tiene que estar declarada como variable de ambiente
# para que se pueda utilizar desde cualquier ubicación

$ mysql -u root -p < nombreBD.sql
Exportar

Útil para respaldar bases de datos.

# Se ejecuta desde la línea de comandos (terminal)
# no desde mysql
# mysqldump tiene que estar declarada como variable de ambiente
# para que se pueda utilizar desde cualquier ubicación

$ mysqldump -u root -p > nombreBD.sql

Tablas

Tarea Descripción Sintaxis
Crear

Crea una tabla dentro de la BD seleccionada (en la que se está trabajando). Se tiene que especificar el nombre, tipo de dato y opciones* de la(s) columna(s).

* Cuando sea necesario. Estos atributos pueden ser un valor predeterminado si el usuario no asigna un valor, no permitir valores vacíos. Entre otros..

CREATE TABLE nombreTabla(nombreColumna1 TIPO_DATO OPCIONES, nombreColumna2 TIPO_DATO OPCIONES);
Eliminar

Borra una tabla de la BD.

DROP TABLE nombreTabla;
Modificar

Cambiar la estructura de la tabla. Las modificaciones pueden ser (se pueden combinar en una solo sentencia):

Agregar columna(s).

Eliminar columna(s).

Cambiar tipo de dato que almacena la(s) columna(s).

 

ALTER TABLE nombreTabla 
ADD COLUMN nombreColumna TIPO_DATO OPCIONES, 
ADD COLUMN nombreColumna TIPO_DATO OPCIONES;

ALTER TABLE nombreTabla 
DROP COLUMN nombreColumna;

ALTER TABLE nombreTabla
MODIFY nombreColumna TIPO_DATO OPCIONES);

Registros

A estas acciones se les conoce como el patrón CRUD por las siglas de las acciones – o tareas realizadas – en inglés – Create, Read, Update, Delete -.

Tarea Descripción Sintaxis
Crear

Crea uno o muchos registros en la tabla especificada con los valores especificados.

-- El orden de las columnas después de nombre columna
-- debe coincidir con el orden de los valores. 
-- valor1 se va a almacenar en nombreColumna1

INSERT INTO nombreTabla (nombreColumna1, nombreColumna2) VALUES ("valor1","valor2");
Leer

Muestra los datos de una tabla.
Se pueden especificar las columnas separadas por comas o utilizar * para seleccionar todas las columnas.
Si no se especifica ninguna condición muestra todos los datos, si se especifica solo muestra los que cumplan con la condición.

SELECT nombreColumna(s) FROM nombreTabla(s) WHERE expresion;
Actualizar

Actualiza la(s) columna(s) de una tabla al valor asignado. Si no se establece una condición actualiza todos los registros de la tabla.
Al principio es mejor hacer una consulta para asegurar que la condición es válida y regresa los resultados que se quieren modificar.

UPDATE nombreTabla  SET nombreColumna1 = "valor1", nombreColumna2 = "valor2" WHERE expresion;
Eliminar

Elimina los registros que cumplan con una condición.
Si no se establece una condición elimina todos los registros de la tabla.
Al principio es mejor hacer una consulta para asegurar que la condición es válida y regresa los resultados que se quieren eliminar.

DELETE FROM nombreTabla WHERE expresion;

Nota:
No te preocupes si no entiendes todos los valores de las consultas. Vamos a revisar tipos de datos, colación, codificación, motores de almacenamiento, expresiones y otros conceptos más adelante.

Las sentencias SQL – en MySQL – terminan con punto y coma – ; -. Aunque algunos clientes como PHPMyAdmin incluyen el punto y coma – ; – de manera predefinida es importante tener esto presente.

MySQL permite escribir las sentencias en mayúsculas, minúsculas, o cualquier combinación:

-- Las siguientes sentencias SQL son válidas
-- en MySQL y tienen la misma funcionalidad.

SELECT * FROM usuarios;

Select * From usuarios;

select * from usuarios;

SeLeCt * FrOm usuarios;

sElEcT * fRoM usuarios;

De manera personal prefiero la primer notación – términos SQL en mayúsculas nombres de tablas, columnas en minúsculas * – para que me sea más fácil visualmente detectar errores de sintaxis.

* Cuando creo tablas y columnas prefiero utilizar minúsculas – y otras consideraciones que también vamos a revisar más adelante -. Si utilizas mayúsculas en el nombre de las tablas – no aplica para columnas – es recomendable que utilices mayúsculas al nombrar la tabla / columna aún cuando el sistema operativo que utilices no tome en cuenta mayúsculas / minúsculas para los archivos del sistema operativo.

Otra opción es utilizar la variable de sistema lowercase_table_names ya sea al momento de realizar conexión con el administrador de bases de datos o establecerla como preferencia de mysql.

# Utilizar minúsculas para nombres de las tablas 
# Utilizarlo en el bloque [mysql] en el archivo
# my.ini
# my.cnf - en Windows

lower_case_table_names

Referencia dev.mysql.com – identifier-case-sensitivity.

Si necesitas la referencia de las tareas generales a la mano puedes descargar el gist de https://gist.github.com/eamexicano/2854047.