mysql数据库part2

   日期:2020-08-26     浏览:97    评论:0    
核心提示:mysql数据库part2一、时间类型(数据类型续)二、约束1、unsigned2、not null3、default4、unique5、primary key6、auto_increment7、zerofill8、主键索引(PRI)、唯一索引(UNI)、普通索引(MUL)9、foreign key三、存储引擎一、时间类型(数据类型续)date YYYY-MM-DD 年月日time HH:MM:SS 时分秒year YYYY 年份值datetime YYYY-MM-DD HH:MM:SS

mysql数据库part2

  • 一、时间类型(数据类型续)
  • 二、约束
    • 1、unsigned
    • 2、not null
    • 3、default
    • 4、unique
    • 5、primary key
    • 6、auto_increment
    • 7、zerofill
    • 8、主键索引(PRI)、唯一索引(UNI)、普通索引(MUL)
    • 9、foreign key
  • 三、存储引擎

一、时间类型(数据类型续)

date YYYY-MM-DD 年月日
time HH:MM:SS 时分秒
year YYYY 年份值
datetime YYYY-MM-DD HH:MM:SS 年月日 时分秒

select now() 获取当前时间

timestamp YYYYMMDDHHMMSS(时间戳) 自动更新时间 数据上一次的修改时间

手动修改数据:

二、约束

对要进行编辑的数据进行类型上的限制,不满足限制条件的数据不允许操作

unsigned 无符号
not null 不为空
default 设置默认值
unique 唯一约束,数据唯一不重复
primary key 主键,标记数据的唯一特性(唯一且不为空)
auto_increment 自增加1(一般配合主键使用,或unique自增)
zerofill 零填充(配合整型int使用)
foreign key 外键,把多张表通过一个关联字段关联在一起

1、unsigned

如图,只能插入正值

2、not null

如图,插入数据不能为空,否则报错

3、default

设置默认值:

如图,不指定name时自动生成默认值

4、unique

如图,当指定唯一约束时,值不能出现重复
插入null:

如图,当插入值为空时,不会出现报错,会将数据写入到表中

5、primary key

如图,指定主键后,对应字段既不能重复也不能传入空值

一个表里只能存在一个主键:

主键和唯一关联unique可同时存在:

6、auto_increment

如图,配合主键primary key使用,id自动累加

delete和truncate区别:
delete删除数据后累加的id号会保留,下次新插入数据会继续累加,truncate重制表

7、zerofill

如图,int指定zerofile长度,不足位补0

8、主键索引(PRI)、唯一索引(UNI)、普通索引(MUL)

1)联合唯一约束(字段都设置成not null + unique 显示PRI,联合在一起表达一种唯一性)

unique(字段1,字段2,字段3…) 把多个字段拼在一起表达一种唯一性:

如图,在此例中IP+端口具有联合唯一性:

联合唯一约束如果不加not null则可以设置空值

2)联合唯一索引可否与主键同时存在

如图,可同时存在
联合主键写法与联合唯一索引一样

二者区别:
前者可继续添加一个主键,后者不能再额外添加主键
主键可以是单个字段,也可以是联合主键,不能让多个单字段做主键

9、foreign key

外键所关联的其他字段必须具有唯一属性unique或primary key
语法:

foregin key(要绑定字段) references 要绑定的表(表中要绑定字段)

如果我们此时要删除class1这个班级:

如图,因为外键的存在,无法删除数据

联级删除:
on delete cascade
联级更新:
on update cascade

如图联级删除时会把所有相关数据删除

表与表之间的关系:
1)一对一
2)一对多或多对一
3)多对多

三、存储引擎

show engines 查看所有的存储引擎

表级锁:如果有人修改当前表,会直接上锁,其他用户无法进行修改,不能进行高并发
行级锁:如果有人修改这个表中的一条记录,当前这条数据会被锁定,其他数据仍然可被修改,速度快,允许高并发
事物处理:执行sql语句时,所有的操作必须成功,最终提交数据,否则数据回滚,回到刚开始没操作的状态
begin:开启事务
commit:提交数据
rollback:回滚操作

MyISAM 支持表级锁(5.6版本前默认存储引擎)
InnoDB 事务处理、行级锁、外键(5.6版本后默认存储引擎)
MEMORY 把数据放在内存中,做一个临时缓存
BLACKHOLE 黑洞,产生binlog日志,不生产真实数据
用来同步主从数据库中的数据,场景发生在多服务集群中

MyISAM:

InnoDB:

MEMORY:

从目录中找不到数据文件,因为存在了内存中

BLACKHOLE:

如图,不存储任何值

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服