1. Visualizar Bases de Datos
Mediante la sentencia SHOW se encuentran las bases de datos que existen actualmente en el servidor:
mysql> SHOW DATABASES;
Si la base de datos test existe, intente acceder a ella:
mysql> USE test
2. Crear Bases de Datos
En ambientes Linux, los nombres de las bases de datos son case sensitive (al contrario que las palabras clave), de modo que siempre debe referirse a su base de datos como se escribió al crearla. Esto también se aplica a los nombres de tablas. Esta restricción no existe en Windows.
Sintaxis:
CREATE DATABASE [IF NOT EXISTS] db_name;
Ejemplo:
CREATE DATABASE biblioteca;
Al crear una base de datos, ésta no se selecciona para su uso, debe hacerlo explícitamente.
mysql> USE biblioteca
3. Visualizar Tablas
La creación de la base de datos ha sido una tarea sencilla, pero hasta ahora permanece vacía, como muestra SHOW TABLES:
mysql> SHOW TABLES;
DESCRIBE puede ser utilizada en cualquier momento, por ejemplo, si olvida los nombres o el tipo de dato de las columnas de la tabla.
mysql> DESCRIBE [nombreTabla];
4. Crear Tablas
Debe usar la sentencia CREATE TABLE para especificar la estructura de una tabla:
Sintaxis
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name;
create_definition:
column_definition
| [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...)
| KEY [index_name] [index_type] (index_col_name,...)
| INDEX [index_name] [index_type] (index_col_name,...)
| [CONSTRAINT [symbol]] UNIQUE [INDEX] [index_name] [index_type] (index_col_name,...)
| [FULLTEXT|SPATIAL] [INDEX] [index_name] (index_col_name,...)
| [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) [reference_definition]
| CHECK (expr)
column_definition:
col_name type [NOT NULL | NULL] [DEFAULT default_value]
[AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY]
[COMMENT 'string'] [reference_definition]
type:
TINYINT[(length)] [UNSIGNED] [ZEROFILL]
| SMALLINT[(length)] [UNSIGNED] [ZEROFILL]
| MEDIUMINT[(length)] [UNSIGNED] [ZEROFILL]
| INT[(length)] [UNSIGNED] [ZEROFILL]
| INTEGER[(length)] [UNSIGNED] [ZEROFILL]
| BIGINT[(length)] [UNSIGNED] [ZEROFILL]
| REAL[(length,decimals)] [UNSIGNED] [ZEROFILL]
| DOUBLE[(length,decimals)] [UNSIGNED] [ZEROFILL]
| FLOAT[(length,decimals)] [UNSIGNED] [ZEROFILL]
| DECIMAL(length,decimals) [UNSIGNED] [ZEROFILL]
| NUMERIC(length,decimals) [UNSIGNED] [ZEROFILL]
| DATE
| TIME
| TIMESTAMP
| DATETIME
| CHAR(length) [BINARY | ASCII | UNICODE]
| VARCHAR(length) [BINARY]
| TINYBLOB
| BLOB
| MEDIUMBLOB
| LONGBLOB
| TINYTEXT [BINARY]
| TEXT [BINARY]
| MEDIUMTEXT [BINARY]
| LONGTEXT [BINARY]
| ENUM(value1,value2,value3,...)
| SET(value1,value2,value3,...)
| spatial_type
index_col_name:
col_name [(length)] [ASC | DESC]
reference_definition:
REFERENCES tbl_name [(index_col_name,...)]
[MATCH FULL | MATCH PARTIAL | MATCH SIMPLE]
[ON DELETE reference_option]
[ON UPDATE reference_option]
reference_option:
RESTRICT | CASCADE | SET NULL | NO ACTION
5. Ejemplo de aplicación
Se presenta el código de un script SQL para crear la BD Biblioteca, con dos tablas relacionadas: editoriales y libros.
Para ejecutar el script biblioteca.sql se emplea el siguiente comando:
mysql> SOURCE biblioteca.sql