Curso de MariaDB Desde la Consola/Create Table

De WikiCabal
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