mysql> CREATE TABLE tv2 > SELECT * FROM (VALUES ROW(1,3,5), ROW(2,4,6)) AS v(x,y,z); mysql>  TABLE tv2; +---+---+---+ | x | y | z | +---+---+---+ | 1 | 3 | 5 | | 2 | 4 | 6 | +---+---+---+ mysql>  CREATE TABLE tv3 (a INT, b INT, c INT) > SELECT * FROM (VALUES ROW(1,3,5), ROW(2,4,6)) AS v(x,y,z); mysql> TABLE tv3; +------+------+------+----------+----------+----------+ | a | b | c | column_0 | column_1 | column_2 | +------+------+------+----------+----------+----------+ | NULL | NULL | NULL | 1 | 3 | 5 | | NULL | NULL | NULL | 2 | 4 | 6 | +------+------+------+----------+----------+----------+ mysql>  CREATE TABLE tv4 (a INT, b INT, c INT) > SELECT * FROM (VALUES ROW(1,3,5), ROW(2,4,6)) AS v(x,y,z); mysql>  TABLE tv4; +------+------+------+---+---+---+ | a | b | c | x | y | z | +------+------+------+---+---+---+ | NULL | NULL | NULL | 1 | 3 | 5 | | NULL | NULL | NULL | 2 | 4 | 6 | +------+------+------+---+---+---+ mysql>  CREATE TABLE tv5 (a INT, b INT, c INT) > SELECT * FROM (VALUES ROW(1,3,5), ROW(2,4,6)) AS v(a,b,c); mysql>  TABLE tv5; +------+------+------+ | a | b | c | +------+------+------+ | 1 | 3 | 5 | | 2 | 4 | 6 | +------+------+------+ mysql>  CREATE TABLE tv1 VALUES ROW(1,3,5), ROW(2,4,6); mysql>  TABLE tv1; +----------+----------+----------+ | column_0 | column_1 | column_2 | +----------+----------+----------+ | 1 | 3 | 5 | | 2 | 4 | 6 | +----------+----------+----------+ CREATE TABLE tvx SELECT (x,z) FROM (VALUES ROW(1,3,5), ROW(2,4,6)) AS v(x,y,z); CREATE TABLE tvx (a INT, c INT) SELECT (x,z) FROM (VALUES ROW(1,3,5), ROW(2,4,6)) AS v(x,y,z); 2572 Similarly, you can use a  TABLE  statement in place of the  SELECT . This follows the same rules as with VALUES ; all columns of the source table and their names in the source table are always inserted into the new table. Examples: When using  VALUES  as the source of the  SELECT , all columns are always selected into the new table, and individual columns cannot be selected as they can be when selecting from a named table; each of the following statements produces an error ( ER_OPERAND_COLUMNS ): When selecting all columns and using the default column names, you can omit  SELECT * , so the statement just used to create table  tv1  can also be written as shown here: CREATE TABLE Statement