– 目标:创建一个school数据库
– 创建student学生表,使用sql创建
– 学号 姓名 性别 出生日期 家庭地址 email
– 注意点:使用英文() 表的名称和字段尽量使用``括起来
– AUTO_INCREMENT 自增
– 字符串使用单引号括起来
– 所有的语句后面加上英文逗号,最后一个不加
– PRIMARY KEY主键,一个表一般只有一个唯一的主键
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
格式:
CREATE TABLE [IF NOT EXISTS] `表名`(
`字段名` 列类型[属性] [索引] [注释],
`字段名` 列类型[属性] [索引] [注释],
`字段名` 列类型[属性] [索引] [注释],
...
`字段名` 列类型[属性] [索引] [注释]
)[表类型][字符集设置][注释]
常用命令:
SHOW CREATE DATABASE
school
; – 查看创建数据库的语句
SHOW CREATE TABLEstudent
; – 查看student数据表的定义语句
DESCstudent
; – 查看表的结构
关于表类型,(数据库引擎)
/*
INNODB 默认使用
MYISAM 早些年使用的
*/
MYISAM 节约空间,速度较快
INNODB 安全性高,事务的处理,多表多用户操作
在物理空间存在的位置
所有的数据库文件都存在data目录下,一个文件夹就对应一个数据库
本质还是文件的存储!
mysql引擎在物理文件上的区别:
- INNODB 在数据库表中只有一个*.frm文件,以及上级目录下的ibdata1文件
- MYISAM 对应的文件:.frm 表结构的定义文件,.MYD 数据文件(data),*.MYI 索引文件 (index)
设置数据库表的字符集编码,CHARSET=utf8
不设置的话,会是mysql默认的字符集编码(不支持中文)
mysql的默认编码是Latin1,不支持中文
在my.ini中配置默认的编码:character-set-server=utf8