Creating table with Foreign key : Create Table « Table « MySQL Tutorial






mysql>
mysql> CREATE TABLE Models
    -> (
    ->    ModelID SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
    ->    Name VARCHAR(40) NOT NULL,
    ->    PRIMARY KEY (ModelID)
    -> );
Query OK, 0 rows affected (0.05 sec)

mysql>
mysql>
mysql> CREATE TABLE Orders
    -> (
    ->    ID          SMALLINT UNSIGNED NOT NULL PRIMARY KEY,
    ->    ModelID     SMALLINT UNSIGNED NOT NULL REFERENCES Models (ModelID),
    ->    Description VARCHAR(40)
    -> );
Query OK, 0 rows affected (0.03 sec)

mysql>
mysql> desc Models;
+---------+----------------------+------+-----+---------+----------------+
| Field   | Type                 | Null | Key | Default | Extra          |
+---------+----------------------+------+-----+---------+----------------+
| ModelID | smallint(5) unsigned | NO   | PRI | NULL    | auto_increment |
| Name    | varchar(40)          | NO   |     |         |                |
+---------+----------------------+------+-----+---------+----------------+
2 rows in set (0.02 sec)

mysql>
mysql> desc Orders;
+-------------+----------------------+------+-----+---------+-------+
| Field       | Type                 | Null | Key | Default | Extra |
+-------------+----------------------+------+-----+---------+-------+
| ID          | smallint(5) unsigned | NO   | PRI |         |       |
| ModelID     | smallint(5) unsigned | NO   |     |         |       |
| Description | varchar(40)          | YES  |     | NULL    |       |
+-------------+----------------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

mysql>
mysql> drop table Orders;
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql> drop table Models;
Query OK, 0 rows affected (0.00 sec)








4.1.Create Table
4.1.1.The syntax for creating a table
4.1.2.Creating Tables with AUTO_INCREMENT and NOT NULL column
4.1.3.Use a CREATE TABLE statement to specify the layout of your table:
4.1.4.'IF NOT EXISTS' parameter can be used to check if a table exists before you actually create it
4.1.5.CREATE TABLE table_name (column_name field_type [NULL|NOT NULL],KEY col_index(column_name));
4.1.6.TYPE=MYISAM
4.1.7.Copy a table with Create ... Select statement
4.1.8.Create a table by UNION another table
4.1.9.Creating table with Foreign key
4.1.10.Creating a Table with an Index
4.1.11.Table and Column Definition with character and collate
4.1.12.The CHARACTER SET attribute specifies the character set, and the COLLATE attribute specifies a collation for the character set