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

 

posted on 2022-05-02 00:37  阿霖找BUG  阅读(187)  评论(0)    收藏  举报