~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to docs/create_table.rst

  • Committer: Stewart Smith
  • Date: 2010-02-15 03:55:09 UTC
  • mto: (1273.13.96 build)
  • mto: This revision was merged to the branch mainline in revision 1308.
  • Revision ID: stewart@flamingspork.com-20100215035509-y6sry4q4yymph2by
move SUBSTR, SUBSTRING and SUBSTR_INDEX to plugins. add parser hooks for substr being a plugin now.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
CREATE TABLE
2
 
============
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.
5
 
 
6
 
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] table_name
7
 
    (create_definition, ...)
8
 
    [engine_options]
9
 
 
10
 
    or:
11
 
 
12
 
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] table_name
13
 
    [(create_definition, ...)]
14
 
    [engine_options]
15
 
    select_statement
16
 
 
17
 
    or:
18
 
 
19
 
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] table_name
20
 
    LIKE different_table_name
21
 
    [engine_options]
22
 
 
23
 
create_definition:
24
 
    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, ...)
32
 
    reference_definition
33
 
  | CHECK (expr)
34
 
 
35
 
column_definition:
36
 
  data_type [NOT NULL | NULL] [DEFAULT default_value]
37
 
    [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY]
38
 
    [COMMENT 'string']
39
 
    [reference_definition]
40
 
 
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]
54
 
 
55
 
reference_option:
56
 
  RESTRICT | CASCADE | SET NULL | NO ACTION
57
 
 
58
 
engine_options:
59
 
    engine_option [[,] engine_option] ...
60
 
 
61
 
engine_option:
62
 
  ENGINE = engine_name
63
 
  { engine_specific }