MySQL创建表(sql语句命令创建详解)

MySQL创建表(sql语句命令创建详解)-mikechen

MySQL创建表

MySQL创建数据库之后,接下来的工作就是创建数据表,所谓创建数据表,指的是在已经创建好的数据库中建立新表。

 

MySQL创建表语法

MySQL创建表语法如下;

CREATE TABLE [IF NOT EXISTS] table_name(
   column_1_definition,
   column_2_definition,
   ...,
   table_constraints
) ENGINE=storage_engine;

比如:

DROP TABLE IF EXISTS `table_name`;
CREATE TABLE `table_name` (
   `id` int NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '主表id',
   `name` string NOT NULL COMMENT '名称'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

先判断表是否存在,存在就先删除表,然后在创建表。

 

MySQL创建表实例

1.MySQL创建空表

mysql> create table mikechen;

 

2.MySQL创建带字段表

1)创建用户表

CREATE TABLE IF NOT EXISTS customer(
    id INT AUTO_INCREMENT,
    no VARCHAR(50) NOT NULL,
    first_name VARCHAR(255) NOT NULL,
    last_name VARCHAR(255) NOT NULL,
    status VARCHAR(20) NOT NULL,
    phone_number VARCHAR(20)  NULL,
    updated_at DATETIME NOT NULL,
    created_at DATETIME NOT NULL,
    PRIMARY KEY(id),
    unique(no)
) ENGINE=INNODB;

2)创建订单表

CREATE TABLE IF NOT EXISTS customer_order(
    id INT AUTO_INCREMENT,
    no VARCHAR(50) NOT NULL,
    customer_id INT NOT NULL,
    book_id INT NOT NULL,
    quantity INT NOT NULL,
    total_price DOUBLE NOT NULL,
    discount DOUBLE NULL,
    order_date DATETIME NOT NULL,
    updated_at DATETIME NOT NULL,
    created_at DATETIME NOT NULL,
    PRIMARY KEY(id),
    FOREIGN KEY (customer_id) REFERENCES customer(id) ON UPDATE RESTRICT ON DELETE CASCADE,
    FOREIGN KEY (book_id) references book (id) on update restrict on delete cascade
) ENGINE=INNODB;

 

陈睿mikechen

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法