创建数据库表
注意点:
创建一个数据库表,需要注意以下几点:
1.使用英文的()与逗号,表的名称和字段尽量用Esc键下的``括起来,避免名称与关键字冲突
2.AUTO_INCREMENT 自增
3.字符串使用单引号括起来
4.所有的语句后面加英文逗号,最后一个语句不用加
5.PRIMARY KEY 主键,一般一个表只有一个唯一的主键
6.设置主键的时候最好在最后一行设置,避免在原语句设置,从而达到一目了然的效果
7.在最后需要设置引擎与字符集,一般为ENGINE=INNODB DEFAULT CHARSET=utf8
8.最后在每一个列名后面都加上COMMENT注释
根据以上注意点,创建一个满足一下要求的数据库表:
目标:创建一个学生表(列,字段),使用SQL创建
学号 int 登录密码 varchar(20) 姓名,
性别varchar(2),出生日期(datatime),
家庭住址,email,学号为主键
SQL实现
CREATE TABLE IF NOT EXISTS `student`(
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
`pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
`sex` VARCHAR(2) NOT NULL DEFAULT '女' COMMENT '性别',
`birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
`address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
`email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8
SQL格式:([]表示可选)
CREATE TABLE [IF NOT EXISTS] `表名`(
`字段名` 列类型 [属性] [索引] [注释],
`字段名` 列类型 [属性] [索引] [注释],
......
`字段名` 列类型 [属性] [索引] [注释],
)[表类型] [字符集设置] [注释]
常用命令
1.逆向操作
SHOW CREATE DATABASE school
SHOW CREATE TABLE student
根据已经创建的表或者数据库,输出创建表或者数据库的语句
--1.输出创建数据库的语句
SHOW CREATE DATABASE school
--结果:
CREATE DATABASE `school`
--2.输出创建数据库表的语句
SHOW CREATE TABLE student
--结果:
CREATE TABLE `student` (
`id` INT NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
`pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
`sex` VARCHAR(2) NOT NULL DEFAULT '女' COMMENT '性别',
`birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
`address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
`email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8
由结果可以看出通过命令可以逆向获取创建数据库或者创建表的SQL
2.显示表的结构
DESC student