建表
CREATE TABLE `student` (
`student_id` VARCHAR(32) NOT NULL COMMENT '主鍵',
`student_name` VARCHAR(50) NOT NULL COMMENT '學(xué)生姓名',
`student_class` VARCHAR(30) NOT NULL COMMENT '學(xué)生所在班級(jí)',
`create_time` TIMESTAMP NOT NULL DEFAULT current_timestamp COMMENT '創(chuàng)建時(shí)間',
PRIMARY KEY (`student_id`),
KEY idx_create_time (`create_time`)
) ENGINE=InnoDB, DEFAULT CHARSET=utf8 COMMENT '學(xué)生表';
說(shuō)明:
1 - 表名和列名不是用單引號(hào)贷盲,而是tab鍵
的上一個(gè)鍵——“點(diǎn)”庇楞,否則會(huì)報(bào)語(yǔ)法錯(cuò)誤
2 - NOT NULL代表非空,COMMENT后面接的字符串是對(duì)該列名的解釋
3 - TIMESTAMP是時(shí)間戳類型,設(shè)置了默認(rèn)值為取當(dāng)前時(shí)間current_timestamp
4 - PRIMARY KEY ()設(shè)置主鍵糠惫,里面用的同樣是“點(diǎn)”
5 - KEY idx_create_time () 設(shè)置索引实撒,索引名為idx_create_time
6 - ENGINE=InnoDB, DEFAULT CHARSET=utf8 設(shè)置的是數(shù)據(jù)庫(kù)使用的引擎和字符集姊途,如果不寫,建表時(shí)MySQL也會(huì)自動(dòng)選擇默認(rèn)的ENGINE和CHARSET知态。
可以使用指令查看MySQL支持的ENGINE和CHARSET
show engines;
show charset;
AUTO_INCREMENT
create table `student`(
`student_id` INT AUTO_INCREMENT PRIMARY KEY NOT NULL COMMENT '主鍵',
`student_name` varchar(30) NOT NULL COMMENT '學(xué)生姓名'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT '學(xué)生表';
在定義列表中使用 AUTO_INCREMENT 默認(rèn)從1開始增長(zhǎng)捷兰,且步長(zhǎng)為1。
create table `student`(
`student_id` INT AUTO_INCREMENT PRIMARY KEY NOT NULL COMMENT '主鍵',
`student_name` varchar(30) NOT NULL COMMENT '學(xué)生姓名'
) ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8 COMMENT '學(xué)生表';
如果想設(shè)置以某個(gè)數(shù)字開始增長(zhǎng)负敏,在表末尾添加AUTO_INCREMENT=Number
贡茅。