燕十八 mysql 复习_燕十八 Mysql 笔记 68 课

68 建表过程与字符类型的意义

目的:要学会建表

知识点:列类型

怎么建表?

以在 A4 纸上建表为例,表头写完就算表建好了,后面的是插入数据,建表的过程其实就是一个声明字段的过程

学号

姓名

家乡

入学年份

001

Mark

山西

2014

建表又和列类型有什么关系呢?

列类型大小,过大浪费资源,过小存不下,合理分配空间。存储同样的数据,不同的列类型,所占的空间和效率是不一样的,这就是我们建表前要考虑列类型的原因。

69 Mysql 三大列类型

tee 生成一个 sql 文件

1 . 数值型:

整型:

Tinyint 占据空间:一个字节,存储范围:-128 - 127、0 - 255 学习 tinyint 的参数并验证字节与范围的关系,默认是有符号 -128 - 127

Smallint

Mediuint

Int

int 系列声明时的参数,(M) unsigned zerofill 各自代表什么,M 必须和 zerofill 一起出现才有意义,smallint(5) zerofill 用 0 填充,宽度为 5

alter table stu add sal smallint(5) zerofill not null default ‘0’;

小数(浮点型/定点型):

浮点数表示比较复杂

Float(M,D) decimal (M,D) M 精度 D 标度

浮点数占多大的空间呢?如果 M <= 24,占 4 个字节,否则占 8 个字节

浮点和定点的区别:定点是把整数部分和小数部分分开存储的,比 float 精确,银行建议 decimal

字符串型:

char varchar text blob

char(6) 定长字符串,查找比较快,会浪费空间,用空格补齐,如果右边本来就有空格,取出时是删除空格,空格失效,范围 0-255 之间

varchar(6) 变长类型 2 张三,生活中坐车的例子,对于 varchar(N) ,不用空格补齐,但列内容前,有 1-2 个字节来标志该列的内容长度。 0-65535 之间

Text:文本类型,可以存比较大的文本段,一般用来存储文章内容,新闻内容等,搜索速度比较慢,建议用 char varchar 来代替,声明 text 列时,不用加默认值,加了也没用。

Blob 是二进制类型,用来存储图像、音频等二进制信息,意义在于 2 进制,0-255 都有可能出现,Blob 在于防止因为字符集的问题,导致信息丢失,比如:一张图片有 0xFF 字节,这个在 asci 字符集认为非法,在入库的时候被过滤了。

燕十八 Mysql 秘籍

select concat(c,’!’),concat(v,’!’) from test;

注意:char(M) varchar(M) 限制的是字符,不是字节,即 char(2) charset utf8 ,能存 2 个 utf8 字符,比如”中国“,多了不能

create table test2 (article text);

视图:View

视图的学习:

查询每个栏目下商品的平均价格,并取平均前 3 高的栏目

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值