Example Of CREATE TABLE Mysql Syntax:
CREATE [TEMPORARY]
TABLE [IF
NOT EXISTS] tbl_name
(create_definition,...)
[table_option] ...
[partition_options]
Or:
CREATE [TEMPORARY]
TABLE [IF
NOT EXISTS] tbl_name
[(create_definition,...)]
[table_option] ...
[partition_options]
select_statement
Or:
CREATE [TEMPORARY]
TABLE [IF
NOT EXISTS] tbl_name
{
LIKE old_tbl_name | (LIKE old_tbl_name) }
create_definition:
col_name column_definition
| [CONSTRAINT [symbol]] PRIMARY
KEY [index_type] (index_col_name,...)
[index_option] ...
| {INDEX|KEY} [index_name] [index_type] (index_col_name,...)
[index_option] ...
| [CONSTRAINT [symbol]]
UNIQUE [INDEX|KEY]
[index_name] [index_type] (index_col_name,...)
[index_option] ...
| {FULLTEXT|SPATIAL} [INDEX|KEY] [index_name] (index_col_name,...)
[index_option] ..
| [CONSTRAINT [symbol]]
FOREIGN KEY
[index_name] (index_col_name,...) reference_definition
| [CONSTRAINT [symbol]]
CHECK (expr)
column_definition:
data_type [NOT
NULL | NULL] [DEFAULT default_value]
[AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY]
[COMMENT 'string'] [reference_definition]
data_type:
BIT[(length)]
| 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
| YEAR
| CHAR[(length)]
[CHARACTER
SET charset_name] [COLLATE collation_name]
| VARCHAR(length)
[CHARACTER
SET charset_name] [COLLATE collation_name]
| BINARY[(length)]
| VARBINARY(length)
|
TINYBLOB
|
BLOB
|
MEDIUMBLOB
|
LONGBLOB
|
TINYTEXT [BINARY]
[CHARACTER
SET charset_name] [COLLATE collation_name]
| TEXT [BINARY]
[CHARACTER
SET charset_name] [COLLATE collation_name]
|
MEDIUMTEXT [BINARY]
[CHARACTER
SET charset_name] [COLLATE collation_name]
|
LONGTEXT [BINARY]
[CHARACTER
SET charset_name] [COLLATE collation_name]
| ENUM(value1,value2,value3,...)
[CHARACTER
SET charset_name] [COLLATE collation_name]
| SET(value1,value2,value3,...)
[CHARACTER
SET charset_name] [COLLATE collation_name]
| spatial_type
index_col_name:
col_name [(length)] [ASC | DESC]
index_type:
USING {BTREE | HASH | RTREE}
|
|
index_option:
KEY_BLOCK_SIZE [=] value
| index_type
|
WITH PARSER parser_name
| COMMENT 'string'
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
table_option:
ENGINE [=] engine_name
| AUTO_INCREMENT [=] value
| AVG_ROW_LENGTH [=] value
| [DEFAULT]
CHARACTER SET [=] charset_name
| CHECKSUM [=] {0 | 1}
| [DEFAULT]
COLLATE [=] collation_name
| COMMENT [=] 'string'
|
CONNECTION [=] 'connect_string'
| DATA DIRECTORY [=] 'absolute path
TO directory'
| DELAY_KEY_WRITE [=] {0 | 1}
|
INDEX DIRECTORY [=] 'absolute path
TO directory'
| INSERT_METHOD [=] { NO | FIRST | LAST }
| KEY_BLOCK_SIZE [=] value
| MAX_ROWS [=] value
| MIN_ROWS [=] value
| PACK_KEYS [=] {0 | 1 | DEFAULT}
| PASSWORD [=] 'string'
| ROW_FORMAT [=] {DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT}
| TABLESPACE tablespace_name
|
UNION [=] (tbl_name[,tbl_name]...)
partition_options:
PARTITION
BY
{ [LINEAR] HASH(expr)
| [LINEAR] KEY(column_list)
| RANGE(expr)
| LIST(expr) }
[PARTITIONS num]
[SUBPARTITION
BY
{ [LINEAR] HASH(expr)
| [LINEAR] KEY(column_list) }
[SUBPARTITIONS num]
]
[(partition_definition [, partition_definition] ...)]
partition_definition:
PARTITION partition_name
[VALUES {LESS THAN {(expr) | MAXVALUE} |
IN (value_list)}]
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'comment_text' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
[NODEGROUP [=] node_group_id]
[(subpartition_definition [, subpartition_definition] ...)]
subpartition_definition:
SUBPARTITION logical_name
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'comment_text' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
[NODEGROUP [=] node_group_id]
select_statement:
[IGNORE | REPLACE] [AS]
SELECT ...
SELECT *
FROM tbl_name
WHERE auto_col
IS NULL
CREATE TABLE t (c CHAR(20)
CHARACTER SET utf8
COLLATE utf8_bin);
CREATE TABLE lookup
(id INT,
INDEX USING BTREE (id))
ENGINE = MEMORY;
CREATE TABLE test (blob_col BLOB, >INDEX(blob_col(10)));
CREATE TABLE t1 (col1 INT, col2 CHAR(5))
PARTITION
BY HASH(col1);
CREATE TABLE t1 (col1 INT, col2 CHAR(5))
PARTITION
BY HASH( ORD(col2) );
CREATE TABLE t1 (col1 INT, col2 CHAR(5), col3 DATETIME)
PARTITION
BY HASH ( YEAR(col3) );
CREATE TABLE tk (col1 INT, col2 CHAR(5), col3 DATE)
PARTITION
BY KEY(col3)
PARTITIONS 4; ,br>
CREATE TABLE tk (col1 INT, col2 CHAR(5), col3 DATE)
PARTITION
BY LINEAR KEY(col3)
PARTITIONS 5;
CREATE TABLE t1 (
year_col INT,
some_data
INT
)
PARTITION
BY RANGE (year_col) (
PARTITION p0
VALUES LESS THAN (1991),
PARTITION p1
VALUES LESS THAN (1995),
VALUES LESS THAN (1999),
PARTITION p3
VALUES LESS THAN (2002),
PARTITION p4
VALUES LESS THAN (2006),
PARTITION p5
VALUES LESS THAN MAXVALUE
);
CREATE TABLE client_firms (
id INT,
name VARCHAR(35)
)
PARTITION BY LIST (id) (
PARTITION r0 VALUES IN (1, 5, 9, 13, 17, 21),
PARTITION r1 VALUES IN (2, 6, 10, 14, 18, 22),
PARTITION r2 VALUES IN (3, 7, 11, 15, 19, 23),
PARTITION r3 VALUES IN (4, 8, 12, 16, 20, 24)
);
|
|
CREATE TABLE th (id INT, name VARCHAR(30), adate DATE)
PARTITION
BY LIST(YEAR(adate))
(
PARTITION p1999 VALUES
IN (1995, 1999, 2003)
DATA DIRECTORY = '/var/appdata/95/data'
INDEX DIRECTORY = '/var/appdata/95/idx',
PARTITION p2000 VALUES
IN (1996, 2000, 2004)
DATA DIRECTORY = '/var/appdata/96/data'
INDEX DIRECTORY = '/var/appdata/96/idx',
PARTITION p2001 VALUES
IN (1997, 2001, 2005)
DATA DIRECTORY = '/var/appdata/97/data'
INDEX DIRECTORY = '/var/appdata/97/idx',
PARTITION p2000 VALUES
IN (1998, 2002, 2006)
DATA DIRECTORY = '/var/appdata/98/data'
INDEX DIRECTORY = '/var/appdata/98/idx'
);
CREATE TABLE new_tbl
SELECT *
FROM orig_tbl;
mysql>
CREATE TABLE bar (UNIQUE (n))
SELECT n
FROM foo;
CREATE TABLE artists_and_works
SELECT artist.name, COUNT(work.artist_id)
AS number_of_works
FROM artist LEFT
JOIN work
ON artist.id = work.artist_id
GROUP
BY artist.id;
CREATE TABLE foo (a TINYINT
NOT NULL)
SELECT b+1
AS a
FROM bar;
CREATE TABLE new_tbl
LIKE orig_tbl;