Pasos para crear una base de datos en MySQL
Crear base de datos de dos formas
1) Ejecutando una simple consulta SQL
2) Mediante el uso de ingeniería avanzada en MySQL Workbench
En este tutorial de SQL, aprenderá:
- Cómo crear una base de datos
- Cómo crear una tabla en MySQL
- Tipos de datos
- Ingeniería avanzada del diagrama ER del banco de trabajo de MySQL
Como principiante de SQL, veamos primero el método de consulta.
Cómo crear una base de datos
A continuación se explica cómo crear una base de datos en MySQL:
CREATE DATABASE es el comando SQL utilizado para crear una base de datos en MySQL.
Imagine que necesita crear una base de datos con el nombre "películas". Puede crear una base de datos en MySQL ejecutando el siguiente comando SQL.
CREATE DATABASE movies;
Nota: también puede utilizar el comando CREAR ESQUEMA en lugar de CREAR BASE DE DATOS
Ahora mejoremos nuestra consulta SQL agregando más parámetros y especificaciones.
SI NO EXISTE
Un solo servidor MySQL podría tener varias bases de datos. Si no es el único que accede al mismo servidor MySQL o si tiene que lidiar con varias bases de datos, existe la posibilidad de que intente crear una nueva base de datos con el nombre de una base de datos existente. SI NO EXISTE le permite indicar al servidor MySQL que verifique la existencia de una base de datos con un nombre similar antes de crear la base de datos.
Cuando se usa SI NO EXISTE, la base de datos se crea solo si el nombre de pila no entra en conflicto con el nombre de una base de datos existente. Sin el uso de SI NO EXISTE, MySQL arroja un error.
CREATE DATABASE IF NOT EXISTS movies;
Colación y juego de caracteres
La colación es un conjunto de reglas que se utilizan en comparación. Mucha gente usa MySQL para almacenar datos que no sean en inglés. Los datos se almacenan en MySQL utilizando un juego de caracteres específico. El conjunto de caracteres se puede definir en diferentes niveles, a saber, servidor, base de datos, tabla y columnas.
Debe seleccionar las reglas de clasificación que, a su vez, dependen del juego de caracteres elegido.
Por ejemplo, el juego de caracteres Latin1 usa el
latin1_swedish_ci
intercalación, que es el orden sueco que no distingue entre mayúsculas y minúsculas.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci
La mejor práctica al usar idiomas locales como árabe, chino, etc. es seleccionar el conjunto de caracteres Unicode (utf-8) que tiene varias intercalaciones o simplemente ceñirse a la intercalación predeterminada utf8-general-ci.
Puede encontrar la lista de todas las intercalaciones y conjuntos de caracteres aquí.
Puede ver la lista de bases de datos existentes ejecutando el siguiente comando SQL.
SHOW DATABASES
Cómo crear una tabla en MySQL
El comando CREATE TABLE se usa para crear tablas en una base de datos
Las tablas se pueden crear usando la instrucción CREATE TABLE y en realidad tienen la siguiente sintaxis.
CREATE TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;
AQUÍ
- "CREATE TABLE" es el responsable de la creación de la tabla en la base de datos.
- "[SI NO EXISTE]" es opcional y solo crea la tabla si no se encuentra un nombre de tabla coincidente.
- "` fieldName` "es el nombre del campo y" tipo de datos "define la naturaleza de los datos que se almacenarán en el campo.
- "[parámetros opcionales]" información adicional sobre un campo como "AUTO_INCREMENT", NOT NULL, etc.
Ejemplo de creación de tabla de MySQL
A continuación se muestra un ejemplo de MySQL para crear una tabla en la base de datos:
CREATE TABLE IF NOT EXISTS `MyFlixDB`.`Members` (`membership_number` INT AUTOINCREMENT ,`full_names` VARCHAR(150) NOT NULL ,`gender` VARCHAR(6) ,`date_of_birth` DATE ,`physical_address` VARCHAR(255) ,`postal_address` VARCHAR(255) ,`contact_number` VARCHAR(75) ,`email` VARCHAR(255) ,PRIMARY KEY (`membership_number`) )ENGINE = InnoDB;
Ahora veamos cuáles son los tipos de datos de MySQL. Puede utilizar cualquiera de ellos según su necesidad. Siempre debe intentar no subestimar o sobreestimar el rango potencial de datos al crear una base de datos.
TIPOS DE DATOS
Los tipos de datos definen la naturaleza de los datos que se pueden almacenar en una columna particular de una tabla.
MySQL tiene 3 categorías principales de tipos de datos, a saber
- Numérico,
- Texto
- Fecha y hora.
Tipos de datos numéricos
Los tipos de datos numéricos se utilizan para almacenar valores numéricos. Es muy importante asegurarse de que el rango de sus datos se encuentre entre los límites superior e inferior de los tipos de datos numéricos.
TINYINT () | -128 a 127 normal 0 a 255 SIN FIRMAR. |
PEQUEÑO () | -32768 a 32767 normal 0 a 65535 SIN FIRMAR. |
MEDIUMINT () | -8388608 a 8388607 normal 0 a 16777215 SIN FIRMAR . |
EN T( ) | -2147483648 a 2147483647 normal 0 a 4294967295 SIN FIRMAR . |
EMPEZANDO( ) | -9223372036854775808 a 9223372036854775807 normal 0 a 18446744073709551615 SIN FIRMAR. |
FLOTADOR | Un pequeño número aproximado con un punto decimal flotante. |
DOBLE (,) | Un número grande con un punto decimal flotante. |
DECIMAL (,) | DOBLE almacenado como una cadena, lo que permite un punto decimal fijo. Opción para almacenar valores de moneda. |
Tipos de datos de texto
Como lo implica el nombre de la categoría de tipo de datos, estos se utilizan para almacenar valores de texto. Asegúrese siempre de que la longitud de sus datos textuales no exceda la longitud máxima.
CHAR () | Una sección fija de 0 a 255 caracteres de longitud. |
VARCHAR () | Una sección variable de 0 a 255 caracteres de longitud. |
TINYTEXT | Una cadena con una longitud máxima de 255 caracteres. |
TEXTO | Una cadena con una longitud máxima de 65535 caracteres. |
GOTA | Una cadena con una longitud máxima de 65535 caracteres. |
MEDIUMTEXT | Una cadena con una longitud máxima de 16777215 caracteres. |
MEDIUMBLOB | Una cadena con una longitud máxima de 16777215 caracteres. |
TEXTO LARGO | Una cadena con una longitud máxima de 4294967295 caracteres. |
LONGBLOB | Una cadena con una longitud máxima de 4294967295 caracteres. |
Fecha y hora
FECHA | AAAA-MM-DD |
FECHA Y HORA | AAAA-MM-DD HH: MM: SS |
TIMESTAMP | AAAAMMDDHHMMSS |
HORA | HH: MM: SS |
Aparte de lo anterior, hay algunos otros tipos de datos en MySQL.
ENUM | Para almacenar el valor de texto elegido de una lista de valores de texto predefinidos |
COLOCAR | También se utiliza para almacenar valores de texto elegidos de una lista de valores de texto predefinidos. Puede tener varios valores. |
BOOL | Sinónimo de TINYINT (1), utilizado para almacenar valores booleanos |
BINARIO | Similar a CHAR, la diferencia es que los textos se almacenan en formato binario. |
VARBINARIO | Similar a VARCHAR, la diferencia es que los textos se almacenan en formato binario. |
Ahora veamos una consulta para crear una tabla que tenga datos de todos los tipos de datos. Estudie e identifique cómo se define cada tipo de datos en el ejemplo de MySQL de tabla de creación a continuación.
CREATE TABLE`all_data_types` (`varchar` VARCHAR( 20 ) ,`tinyint` TINYINT ,`text` TEXT ,`date` DATE ,`smallint` SMALLINT ,`mediumint` MEDIUMINT ,`int` INT ,`bigint` BIGINT ,`float` FLOAT( 10, 2 ) ,`double` DOUBLE ,`decimal` DECIMAL( 10, 2 ) ,`datetime` DATETIME ,`timestamp` TIMESTAMP ,`time` TIME ,`year` YEAR ,`char` CHAR( 10 ) ,`tinyblob` TINYBLOB ,`tinytext` TINYTEXT ,`blob` BLOB ,`mediumblob` MEDIUMBLOB ,`mediumtext` MEDIUMTEXT ,`longblob` LONGBLOB ,`longtext` LONGTEXT ,`enum` ENUM( '1', '2', '3' ) ,`set` SET( '1', '2', '3' ) ,`bool` BOOL ,`binary` BINARY( 20 ) ,`varbinary` VARBINARY( 20 )) ENGINE= MYISAM ;
Mejores prácticas
- Utilice letras mayúsculas para las palabras clave SQL, es decir, "DROP SCHEMA IF EXISTS` MyFlixDB`; "
- Termine todos sus comandos SQL usando punto y coma.
- Evite el uso de espacios en los nombres de esquema, tabla y campo. En su lugar, utilice guiones bajos para separar los nombres de esquema, tabla o campo.
Ingeniería avanzada del diagrama ER de MySQL workbench
El banco de trabajo MySQL tiene utilidades que admiten ingeniería avanzada. La ingeniería avanzada es un término técnico que describe el proceso de traducir un modelo lógico en un implemento físico automáticamente .
Creamos un diagrama ER en nuestro tutorial de modelado ER. Ahora usaremos ese modelo ER para generar los scripts SQL que crearán nuestra base de datos.
Creación de la base de datos MyFlix a partir del modelo MyFlix ER
1. Abra el modelo ER de la base de datos MyFlix que creó en el tutorial anterior.
2. Haga clic en el menú de la base de datos. Seleccionar ingeniero de avanzada
3. La siguiente ventana le permite conectarse a una instancia del servidor MySQL. Haga clic en la lista desplegable de conexiones almacenadas y seleccione el host local. Haga clic en Ejecutar
4. Seleccione las opciones que se muestran a continuación en el asistente que aparece. Haga clic en Siguiente
5. La siguiente pantalla muestra el resumen de objetos en nuestro diagrama EER. Nuestro MyFlix DB tiene 5 tablas. Mantenga las selecciones predeterminadas y haga clic en Siguiente.
6… Aparece la ventana que se muestra a continuación. Esta ventana le permite obtener una vista previa del script SQL para crear nuestra base de datos. Podemos guardar los scripts en un archivo * .sql "o copiar los scripts al portapapeles. Haga clic en el botón siguiente
7. La ventana que se muestra a continuación aparece después de crear con éxito la base de datos en la instancia de servidor MySQL seleccionada.
Resumen
- La creación de una base de datos implica traducir el modelo de diseño de la base de datos lógica a la base de datos física.
- MySQL admite varios tipos de datos para valores numéricos, de fechas y de cadenas.
- El comando CREATE DATABASE se utiliza para crear una base de datos
- El comando CREATE TABLE se usa para crear tablas en una base de datos
- El banco de trabajo MySQL admite ingeniería avanzada que implica la generación automática de scripts SQL a partir del modelo de base de datos lógica que se puede ejecutar para crear la base de datos física.
Se adjunta la base de datos junto con los datos ficticios. Usaremos esta base de datos para todos nuestros tutoriales posteriores. Simplemente importe la base de datos en MySQL Workbench para comenzar
Haga clic aquí para descargar MyFlixDB