Curso de MariaDB Desde la Consola/Create Table
Ir a la navegación
Ir a la búsqueda
Create Table
Sintaxis
1 CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
2 (create_definition,...) [table_options ]... [partition_options]
3 CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
4 [(create_definition,...)] [table_options ]... [partition_options]
5 select_statement
6 CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
7 { LIKE old_table_name | (LIKE old_table_name) }
8
9 select_statement:
10 [IGNORE | REPLACE] [AS] SELECT ... (Some legal select statement)
11
12 Utilice el CREATE TABLE instrucción para crear una tabla con el nombre
13 tbl_name. Debe tener el CREATE privilegio para la table o en la base de
14 datos para crear una table.
15
16 En su forma más básica, el CREATE TABLE declaración proporciona un nombre de
17 table seguido por una lista de columnas, índices y restricciones.
18 Por defecto, la table se crea en la base de datos.
19 Especifique una base de datos con db_name . tbl_name
20 Si usted cita el nombre de la table, se debe citar el nombre de la base de
21 datos y el nombre de table por separado como ` db_name `.` tbl_name `
22 Esto es particularmente útil para CREATE TABLE ... SELECT ya que permite
23 crear una table en una base de datos, que contiene datos de otras bases
24 de datos.
25
26 Si existe una table con el mismo nombre, error 1050 resultados. Utilice
27 IF NOT EXISTS suprimir este error y emitir una nota en su lugar.
28 Utilice SHOW WARNINGS para ver las notas.
29
30 Utilice la TEMPORARY palabra clave para crear una table temporal que sólo
31 está disponible para la sesión actual. Las tables temporales se eliminan
32 cuando finaliza la sesión.
33 Nombres de tables temporales son específicos de su sesión. Ellos pueden
34 entrar en conflicto con otras tables temporales de otras sesiones o nombres
35 sombra de tables no temporales.
36 Una table temporal puede tener el mismo nombre que una table no temporal
37 que se encuentra en la misma base de datos. En ese caso, su nombre hará
38 referencia a la table temporal cuando se utiliza en las sentencias SQL.
39 Debe tener el CREATE TEMPORARY TABLES privilegio en la base de datos para
40 crear tables temporales.
41
42 Utilice el LIKE cláusula en lugar de una definición de la table completa
43 para crear una table con la misma definición que otra table, incluidas las
44 columnas, índices y opciones de table.
45
46 El CREATE TABLE declaración compromete automáticamente la transacción actual,
47 excepto cuando se utiliza el TEMPORARY palabra clave.
48 MariaDB comenzando con 5,3
49
50 Precisión de microsegundos puede estar entre 0-6. Si no se especifica
51 la precisión que se supone que es 0, por razones de compatibilidad hacia
52 atrás.
53 MariaDB empezando 10.0.8
54
55 El OR REPLACE sintaxis se añadió en 10.0.8.
Ejemplo
1 [rrc@Pridd ~]$ mysql -p
2 Enter password:
3 Welcome to the MariaDB monitor. Commands end with ; or \g.
4 Your MariaDB connection id is 6
5 Server version: 10.0.21-MariaDB Mageia MariaDB Server
6
7 Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
8
9 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
10
11 MariaDB [(none)]> USE Prueba1;
12 Database changed
13 MariaDB [Prueba1]> SHOW TABLES;
14 Empty set (0.02 sec)
15
16 MariaDB [Prueba1]> CREATE TABLE inven (
17 -> id int not null primary key auto_increment,
18 -> nombre varchar (50) not null,
19 -> descrip text,
20 -> precio float not null,
21 -> cantidad int not null
22 -> );
23 Query OK, 0 rows affected (0.63 sec)
24
25 MariaDB [Prueba1]> SHOW ERRORS;
26 Empty set (0.00 sec)
27
28 MariaDB [Prueba1]> SHOW WARNINGS;
29 Empty set (0.00 sec)
30
31 MariaDB [Prueba1]> SHOW TABLES;
32 +-------------------+
33 | Tables_in_Prueba1 |
34 +-------------------+
35 | inven |
36 +-------------------+
37 1 row in set (0.00 sec)
38
39 MariaDB [Prueba1]> DESCRIBE inven;
40 +----------+-------------+------+-----+---------+----------------+
41 | Field | Type | Null | Key | Default | Extra |
42 +----------+-------------+------+-----+---------+----------------+
43 | id | int(11) | NO | PRI | NULL | auto_increment |
44 | nombre | varchar(50) | NO | | NULL | |
45 | descrip | text | YES | | NULL | |
46 | precio | float | NO | | NULL | |
47 | cantidad | int(11) | NO | | NULL | |
48 +----------+-------------+------+-----+---------+----------------+
49 5 rows in set (0.00 sec)
50
51 MariaDB [Prueba1]> SHOW CREATE TABLE inven;
52 +-------+--------------------------------------------------------+
53 | Table | Create Table |
54 +-------+--------------------------------------------------------+
55 | inven | CREATE TABLE `inven` (
56 `id` int(11) NOT NULL AUTO_INCREMENT,
57 `nombre` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
58 `descrip` text COLLATE utf8_unicode_ci,
59 `precio` float NOT NULL,
60 `cantidad` int(11) NOT NULL,
61 PRIMARY KEY (`id`)
62 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci |
63 +-------+--------------------------------------------------------+
64 1 row in set (0.00 sec)
65
66 MariaDB [Prueba1]> quit
67 Bye
68
69 [rrc@Pridd ~]$ su -c "ls -al /var/lib/mysql/Prueba1"
70 Password:
71 total 112
72 drwx------ 2 mysql mysql 4096 Oct 18 07:29 .
73 drwxr-xr-x 5 mysql mysql 4096 Oct 18 07:00 ..
74 -rw-rw---- 1 mysql mysql 61 Oct 18 07:00 db.opt
75 -rw-rw---- 1 mysql mysql 1190 Oct 18 07:29 inven.frm
76 -rw-rw---- 1 mysql mysql 98304 Oct 18 07:29 inven.ibd