Unsigned:
无符号的整数
声明了该列不能声明为负数
zerofill:
0填充
不足的位数,使用0来填充,int(3)5---005
自增
通常理解为自增,自动在上一条记录的基础上加一(默认)
通常用来设计唯一的主键~index,必须是整数类型
可以自定义主键自增的起始值和步长

非空
假如设置为 not null,如果不给它赋值,就会报错!
NULL,如果不填写值,默认就是null!

默认:
设置默认值!
sex,默认值男,如果不指定该列的值,则会有默认的值
创建数据库 表
-- 目标:创建一个school数据库 -- 创建学生表(列,字段) 使用SQL创建 -- 学号int 登录密码verchar(20)姓名,性别verchar(2),出生日期(datatime),家庭住址,email -- 注意点,使用英文(),表的名称和字段尽量使用``括起来 -- AUTO_INCREMENT 自增 -- 字符串使用单引号括起来,(英文的),最后一个不用加 -- PEIMARY KEY 主键,一般一个表只有一个唯一的主键! CREATE TABLE IF NOT EXISTS`student`( `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT'学号', `name` VARCHAR(30) NOT NULL DEFAULT'匿名' COMMENT'姓名', `sex` VARCHAR(2) DEFAULT'男' COMMENT'性别', `age` INT(3) DEFAULT NULL COMMENT'年纪', `pwd` VARCHAR(6) NOT NULL DEFAULT'123456' COMMENT'密码', `address` DATETIME DEFAULT NULL COMMENT'出生日期', `email` VARCHAR(50) DEFAULT NULL COMMENT'邮箱',-- DEFAULT NULL默认为空,和NOT NULL会冲突 PRIMARY KEY(`id`)-- 主键 )ENGINE=INNODB DEFAULT CHARSET=utf8-- ENGINE引擎,CHARSET字符集
常用命令---可以用数据库建,建完后在查看
SHOW CREATE DATABASE school-- 查看创建数据库的语句
CREATE DATABASE `school` /*!40100 DEFAULT CHARACTER SET utf8 */
SHOW CREATE TABLE student-- 查看student数据表的定义语句
CREATE TABLE `student` ( `id` int(4) NOT NULL AUTO_INCREMENT COMMENT '学号', `name` varchar(30) NOT NULL DEFAULT '匿名' COMMENT '姓名', `sex` varchar(2) DEFAULT '男' COMMENT '性别', `age` int(3) DEFAULT NULL COMMENT '年纪', `pwd` varchar(6) NOT NULL DEFAULT '123456' COMMENT '密码', `address` datetime DEFAULT NULL COMMENT '出生日期', `email` varchar(50) DEFAULT NULL COMMENT '邮箱', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8
DESC student-- 显示表的结构

关于数据库引擎
INNODB 默认使用
MYISAM早些年使用的
| MYISAM | INNODB | |
| 事务支持 | 不支持 | 支持 |
| 数据行锁定 | 不支持 | 支持 |
| 外键约束 | 不支持 | 支持 |
| 全文索引 | 支持 | 不支持 |
| 表空间的大小 | 较小 | 较大,约为两倍 |
常规使用操作:
MYISAM节约空间,速度较快
INNODB安全性高,事务的处理,多表多用户操作
在物理空间存在的位置
所有的数据库文件都存在data目录下
本质还是文件的存储!
MySQL引擎在物理文件上的区别
innodb在数据库中只有一个*.frm文件,以及上级目录下的ibdata1文件
myisam对应文件
*.frm 表结构的定义文件
*.MYD 数据文件(data)
*.MYI 索引文件(index)
设置数据库表的字符集编码
CHARSET=utf8
不设置的话,会是mysql默认的字符集编码~(不支持中文)
MySQL的默认编码是Latin1,不支持中文
在my.ini中配置默认的编码(不提倡,因为如果你在这设了,但你创建数据库的时候忘了加,你可以识别,别人用你的数据库就不行,识别不了中文。)
character-set-server=utf8
本文来自博客园,作者:阿霖找BUG,转载请注明原文链接:https://www.cnblogs.com/lin-07/articles/16214558.html
浙公网安备 33010602011771号