上硅谷mysql笔记基础视频03笔记

18 篇文章 0 订阅
12 篇文章 0 订阅

原则

1 所选择的类型越简单越好,能保存数字的类型越小越好;

2 较短的文本: char varchar(M)

M:最多的字符数

char:固定的长度;

varchar:可变的长度;

har:性能高:固定使用

varchar:变化比较大;节省空间;

binary:保存二进制;

enum:枚举类型;

日期类型

date:保存日期没有时间

datetime:和date相反;8字节;

timestamp:时间戳;市区有影响;

约束

1一种限制,为了保证表中数据的准确和可靠性

2 防止重复;

六大约束

not null

default:默认约束;

primary key:组件约束;唯一,非空;

unique:唯一约束,保证字段的唯一性

check:检查约束;比如检查性别男或者女才能够添加

mysql和oracle不兼容;

foreign key:外检约束;

六大约束:列级约束

表级约束:除了非空和默认,都支持;

添加约束

gender char(1) check(gender=‘男’ or gender=‘女’) 检查约束;

age int default 18;

refrences:应用外键

查看所有的索引

show index from stuinfo;

直接在字段名和类型后面追加,约束类型就可以

仅仅支持:默认,非空,主键,唯一

添加表约束

constraint pk primary key(id),

constraint uq unique(seat),

constraint ck check(gender=‘男’ or gender=‘女’)

costraint fk_stuinfo_major foreign key(majored) refrences major(id);外键;

表的约束:在每个字段的最后面;

没有起名就是默认的;

外键一般放在表的约束上

主键,unique,放在列三就好了,

表的约束和列的约束效率问题???

主键和唯一的区别???

1 都能够保证唯一性

2 unique:可以非空,就是一个null;

3 主键可以有两个多个列组成;不能重复任意一个;

4 组合主键

5 组合不推荐

外键的特点

1 在从表三设置外键

2 列的类型和主表类型一致,兼容;

3 名称无要求;

4 主表的关联必须是一个key(主键…)

一般主键或者唯一;

5 插入数据的时候:主表优先;

6 删除:删除从表,不在应用方可删除主键;

一个列可以多个约束,空格隔离,顺序无关

修改表的时候添加约束:

原来的表没有约束:

添加非空约束:

alter table studentinfo modify column stuname varchar(20) not null;

-----去掉约束:把not去掉就好了;

添加默认的约束

alter table student_info modify column age int default 18;

列的约束:alter table stuinfo modify

column id int primary key;

表的约束

alter table stuinfo add primary key(id);

添加唯一

列的约束:alter table stuinfo modify

column seat int default;

表的约束:

alter table stuinfo add unique(seat);

添加外键

alter table stuinfo add foreign key(majorid) refrences major(id);

修改表的时候删除约束

1 删除非空约束

alter table stuuinfo modify column stuname;

2 删除默认约束

alter table stuinfo modify colum age int;

3 删除唯一约束

alter table stuinfo drop index seat;

4 删除最大的外键

事物的介绍

1 一个运行单元:要么同时成功,同时失败;

2 每一个mysql语句是相互依赖的

3 发生错误进行回滚;

4 show engines:查看支持的引擎;

5 事物的acid四个特点;

6 a:原子性,不可分割;一致性,隔离性互相不能干扰;持久性:一旦被提交就是永久性的改变,比如删除:

一旦提交,就是永久的对数据库的改变;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值