MySQL DDL(Data Definition Language 数据定义语言)

建表

CREATE TABLE `student` (
    `student_id` VARCHAR(32) NOT NULL COMMENT '主键',
    `student_name` VARCHAR(50) NOT NULL COMMENT '学生姓名',
    `student_class` VARCHAR(30) NOT NULL COMMENT '学生所在班级',
    `create_time` TIMESTAMP NOT NULL DEFAULT current_timestamp COMMENT '创建时间',
    PRIMARY KEY (`student_id`),
    KEY idx_create_time (`create_time`)
) ENGINE=InnoDB, DEFAULT CHARSET=utf8 COMMENT '学生表';

说明:
1 - 表名和列名不是用单引号,而是tab键的上一个键——“点”,否则会报语法错误
2 - NOT NULL代表非空,COMMENT后面接的字符串是对该列名的解释
3 - TIMESTAMP是时间戳类型,设置了默认值为取当前时间current_timestamp
4 - PRIMARY KEY ()设置主键,里面用的同样是“点”
5 - KEY idx_create_time () 设置索引,索引名为idx_create_time
6 - ENGINE=InnoDB, DEFAULT CHARSET=utf8 设置的是数据库使用的引擎和字符集,如果不写,建表时MySQL也会自动选择默认的ENGINE和CHARSET。

可以使用指令查看MySQL支持的ENGINE和CHARSET

show engines;
MySQL DDL(Data Definition Language 数据定义语言)_第1张图片
show charset;
MySQL DDL(Data Definition Language 数据定义语言)_第2张图片

AUTO_INCREMENT

create table `student`(
    `student_id` INT AUTO_INCREMENT PRIMARY KEY NOT NULL COMMENT '主键', 
    `student_name` varchar(30) NOT NULL COMMENT '学生姓名'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT '学生表';

在定义列表中使用 AUTO_INCREMENT 默认从1开始增长,且步长为1。

create table `student`(
    `student_id` INT AUTO_INCREMENT PRIMARY KEY NOT NULL COMMENT '主键', 
    `student_name` varchar(30) NOT NULL COMMENT '学生姓名'
) ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8 COMMENT '学生表';

如果想设置以某个数字开始增长,在表末尾添加AUTO_INCREMENT=Number

你可能感兴趣的:(MySQL DDL(Data Definition Language 数据定义语言))