python定义的关键数据类型_数据库一些重要概念和数据类型总结(读书笔记)--python...

数据库一些概念:

1.1.PRIMARY KEY主键

什么是主键:表中一列或者多列组成的唯一的key,也就是通过这一个或者多个列能唯一的标识一条记录(正常都是用一列实现)。

特点:1.主键的列不能包含空值Null. 2.主键往往设置为整型、长整型,3.且自增AUTO_INCREMENT.

表中可以没有主键,但是,一般表设计中,都会有主键。

1.2 index 索引

索引的作用:可以看做是一本大字典的目录,为了快速检索用的。空间换时间,显著提高查询效率。

副作用:删除,修改,添加效率减少

可以对一列或者多列设定索引。

索引分类:

主键索引:主键会自动建立主键索引,主键本身就是为了快速定位唯一记录的。

唯一索引: 表中的索引组成的索引必须唯一,但可以为空(NONE),非空值必须唯一

普通索引:没有唯一性的要求,就是建了一个字典的目录而已。

1.3 Constraint (约束)

UNIQUE约束(唯一键约束)

定义了唯一键索引,就定义了唯一键约束

PRIMARY KEY约束

定义了主键,就定义了主键约束。

外键约束Foreign key:

外键,在表B中的列,关联表A中的主键,表B中的列就是外键.

1.如果在表B插入一条数据,B的外键列插入了一个值,这个值必须是表A中存在的主键值,修改表B的外键值也是同样,外键值同样要在表A中存在。

2.如果表A要删除一条记录,那么就等于删除了一个主键,那么如果表B中引用到了这个主键,就必须先删除表B中引用这个主键的记录,然后才能删除表A的记录,否则删除失败。

3.修改表A的主键,由于主键的唯一性,修改的主键相当于插入新主键,那么表B引用过的这个主键,将阻止表A的主键修改,必须先删除表B的相关记录后,才可修改表A的主键。

外键约束,为了保证数据完整性,一致性,杜绝数据冗余,数据讹误。

外键约束不易多用。

1.4 视图

视图:也称为虚表,看起来像表。它是由查询语句生成的。可以通过视图进行CRUD操作。

视图的作用:

简化操作,将复杂查询SQL语句定义为视图,可以简化查询。

数据安全:视图可以只显示真实表的部分列,或计算后的结果,隐藏真实表的数据。

(视图可以增删改查,建议查询用视图,可以用工具完成视图)

2.数据类型:

MYSQL中的数据类型:

类型:

Tinyint 1字节,带符号的范围-128到127,无符号的范围是0到255。bool或者boollean,就是tinyint,0表示假,非0表示真

Smaillint 2字节,带符号的范围是-32768到32767.无符号的范围是0到65535

Int 整型 4个字节,同integer,带符号范围 -2147483648到2147483647.无符号范围是0到4294967295 (最大10位ID)

Bigint 长整型,8字节,带符号的范围是 -9223372036854775808到9223372036854775807 无符号的范围是0到18446744073709551615 (20位)

Float 单精度浮点数精确到大约7位小数

Double 双精度浮点数精确到大约15位小数位

DATE 日期,支持范围 1000-01-01 到9999-12-31

DATETIME 支持的范围1000-01-01 00:00:00 到 9999-12-21 23:59:59

TIMESTAMP 时间戳,范围 1970-01-01 00:00:00 到 2037年

Char(M)固定长度,右边填充空格已达到长度要求。M为长度,范围为0-255.M指的是字符个数。(不够长填空格)

Varchar(M)变长字符串。M表示最大列长度。M的范围是0到65535. 但不突破最大字节数65535

Text 大文本。最大的长度 65535(2^16-1)

BLOB 大字节。最大长度为65535(2^16-1)字节的BLOB列

LENGTH函数返回字节数,而char和varchar定义的M是字符数限制。

Char可以将字符串变成等长的,空间换时间,效率略高;varchar变长,省了空间。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值