~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to docs/create_table.rst

  • Committer: Brian Aker
  • Date: 2011-02-17 10:09:00 UTC
  • mfrom: (2173.2.1 clean-include-usuage)
  • Revision ID: brian@tangent.org-20110217100900-4tpuxxzdl1sj00sh
Merge Monty for headers.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
CREATE TABLE
2
2
============
3
3
 
4
 
A CREATE statement in SQL creates an object inside of Drizzle. One of the most common CREATE command is the CREATE TABLE command.
 
4
A CREATE statement in SQL creates an object inside of Drizzle. One of the most common CREATE commands is the CREATE TABLE command.
5
5
 
6
6
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] table_name
7
7
    (create_definition, ...)
20
20
    LIKE different_table_name
21
21
    [engine_options]
22
22
 
23
 
create_definition:
 
23
create_definition: ::
 
24
 
24
25
    column_name column_definition
25
 
  | [CONSTRAINT [symbol] ] PRIMARY KEY [index_type]
26
 
    (index_column_name, ...)
27
 
  | INDEX [index_name] (index_column_name, ...)
28
 
    (index_column_name, ...)
29
 
  | [CONSTRAINT [symbol] ] UNIQUE [INDEX]
30
 
    (index_column_name, ...)
31
 
  | [CONSTRAINT [symbol] ] FOREIGN KEY [index_name] (index_column_name, ...)
 
26
    [CONSTRAINT [symbol] ] PRIMARY KEY [index_type]
 
27
    (index_column_name, ...)
 
28
    INDEX [index_name] (index_column_name, ...)
 
29
    (index_column_name, ...)
 
30
    [CONSTRAINT [symbol] ] UNIQUE [INDEX]
 
31
    (index_column_name, ...)
 
32
    [CONSTRAINT [symbol] ] FOREIGN KEY [index_name] (index_column_name, ...)
32
33
    reference_definition
33
 
  | CHECK (expr)
34
 
 
35
 
column_definition:
36
 
  data_type [NOT NULL | NULL] [DEFAULT default_value]
 
34
    CHECK (expr)
 
35
 
 
36
column_definition: ::
 
37
 
 
38
        data_type [NOT NULL | NULL] [DEFAULT default_value]
37
39
    [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY]
38
40
    [COMMENT 'string']
39
41
    [reference_definition]
40
42
 
41
 
data_type:
42
 
  | INTEGER
43
 
  | BIGINT
44
 
  | DOUBLE[(length, decimals)]
45
 
  | DECIMAL[(length[,decimals])]
46
 
  | DATE
47
 
  | TIMESTAMP
48
 
  | DATETIME
49
 
  | VARCHAR(length) [COLLATE collation_name]
50
 
  | VARBINARY(length)
51
 
  | BLOB
52
 
  | TEXT [BINARY] [COLLATE collation_name]
53
 
  | ENUM(value1, value2, value3, ...) [COLLATE collation_name]
 
43
data_type: ::
 
44
 
 
45
        * INTEGER
 
46
        * BIGINT
 
47
        * DOUBLE[(length, decimals)]
 
48
        * DECIMAL[(length[,decimals])]
 
49
        * DATE
 
50
        * TIMESTAMP
 
51
        * DATETIME
 
52
        * VARCHAR(length) [COLLATE collation_name]
 
53
        * VARBINARY(length)
 
54
        * BLOB
 
55
        * TEXT [BINARY] [COLLATE collation_name]
 
56
        * ENUM(value1, value2, value3, ...) [COLLATE collation_name]
54
57
 
55
58
reference_option:
56
59
  RESTRICT | CASCADE | SET NULL | NO ACTION