How to create a table
Prev | Chapter 5. Tips and tricks | Next

## How to create a table

To create a table, first get a new table object, set a name and set the mode to "createtable".

After that you can define new columns. First create it with new_column() and then set the type, name etc. When finished, create the table with create_table_now().

Example 5.4. create table

    >>> table = db.new_table()
    >>> table.set_name("my new table")
    >>> table.setmode_createtable()
    >>> col=table.new_column()
    >>> col.set_columntype(hk_column.auto_inccolumn)
    >>> col.set_name("id")
    >>> col=table.new_column()
    >>> col.set_name("name")
    >>> table.create_table_now()
    CREATE TABLE `my new table` ( `id` BIGINT(1) NOT NULL AUTO_INCREMENT ,
     BIGINT, PRIMARY KEY ( `id` ) )
    Table created
    1

And here are the creation relevant methods of hk_column

Figure 5.1. hk_column type methods

> name()

>   returns the name of this column

> set_name(name)

>   sets the column name

> set_columntype(type)

>   sets the type of the column

>   Possible values are

>   - textcolumn

>   - auto_inccolumn

>   - smallintegercolumn

>   - integercolumn

>   - smallfloatingcolumn

>   - floatingcolumn

>   - datecolumn

>   - datetimecolumn

>   - timecolumn

>   - timestampcolumn

>   - binarycolumn

>   - memocolumn

>   - boolcolumn

>   - othercolumn

> columntype()

>   returns the type of the column.

> set_size()

>   sets the column size (e.g. if this column was should be a textcolumn with 10 characters set the type with set_type and the size with this function)

> size()

>   returns the column size (e.g. if this column was created as CHAR(10) it will return 10)

> set_primary(primary)

>   if 'primary' is true the column will be part of the primary key (primary index). Can only be edited if the datasource is in the mode ALTER or CREATE.

> is_primary()

>   returns true if this column is part of a primary key

> set_notnull(notnull)

>   if 'notnull' true the column needs a value

> is_notnull()

>   returns True if this column has to have a value

Prev | Up | Next
How to execute a query | Home | How to create a calculated value field