当前位置: 首页 > news >正文

美妆网站制作教程长沙网络优化产品

美妆网站制作教程,长沙网络优化产品,免费网站建站模块,小程序定制开发多少钱一个文章目录 【Mysql】 数据类型数据类型分类数值类型1. tinyint类型2. bit类型3. 小数类型 字符串类型1.char2.varchar3. 日期和时间类型4. enum 和 set 【Mysql】 数据类型 mysql中数据类型的作用: 约束操作者的行为更清晰的代码逻辑不同的功用 – 例如&#xff0c…

请添加图片描述

文章目录

  • 【Mysql】 数据类型
      • 数据类型分类
      • 数值类型
        • 1. tinyint类型
        • 2. bit类型
        • 3. 小数类型
      • 字符串类型
        • 1.char
        • 2.varchar
        • 3. 日期和时间类型
        • 4. enum 和 set

【Mysql】 数据类型

mysql中数据类型的作用:

  • 约束操作者的行为
  • 更清晰的代码逻辑
  • 不同的功用 – 例如,年龄使用数字,生日,姓名等消息使用子符串

更为重要的是类型约束,即如果操作者不按数据类型进行数据插入时,该条sql数据会被直接拒绝

数据类型分类

数值类型


1. tinyint类型

tinyint类型使用演示

如下:

我们知道,有符号的tinyint的存储范围就是 -128 ~ 127,当我们想插入数据128时,是直接报错的,而不像c/c++ ,会发生截断;

说明:

  • 在MySQL中,整型可以指定是有符号的和无符号的,默认是有符号的。

  • 可以通过UNSIGNED来说明某个字段是无符号的

而如果想将tinyint 设置为无符号的,只需要在设置列字段时,在类型加上unsigned即可,变成无符号之后,tinyint的存储范围就变成了0 ~ 255;

id tinyint unsigned

2. bit类型

基本语法:

bit[(M)] : 位字段类型。M表示每个值的位数,范围从164。如果M被忽略,默认为1

而我们通过类型表中,是没有我们c++中的bool类型的,而实际上,bit(1)就可以表示mysql中的bool类型,即bit(1) 类型的变量的值不是0就是1;

但mysql中的bit类型神奇之处远不止如此

bit使用案例

我们先创建一个张表,然后插入几个数据

插入数据和查看表中显示:

神奇的事情,我们会发现使用bit()存储的变量是使用acill值的形式显示的,10就是我们的’ \n’


3. 小数类型

float 使用

float[(m, d)] [unsigned] : M指定显示长度,d指定小数位数,占用空间4个字节

例:

我们先创建一个工资表出来:

float(4,2) 即表示显示长度为4,小数位数为2为,数值范围 :-99.99 ~ 99.99

而后插入几条数据:

我们会发现mysql保存数据时,对于99.994,99.995这些超出数据范围的数据会先对其进行4舍5入,而后再判断是否合法;

说明:

  • float类型,mysql在保存值时会进行4舍5入
  • float类型使用unsigned时,并不会将tinyint类型一样数值类型会变大;
    • 例:float(4,2) 数值范围为: 0 ~ 99.99

decimal使用

decimal(m, d) [unsigned] : 定点数m指定长度,d表示小数点的位数

说明:

  • decimal使用起来和float是没什么区别的,但dicimal的精度比float要高很多
  • 当小数位超过7位时,建议都使用decimal类型;

例:

我们会发现,当插入的数据大于8位小数时,使用float存储是不够精准的

说明:

  • decimal整数最大位数m为65。支持小数最大位数d是30。如果d被省略,默认为0.如果m被省略,默认是10。 即decimal默认情况下decimal(10,0)

字符串类型

1.char

语法:

char(L): 固定长度字符串,L是可以存储的长度,单位为字符,最大长度值可以为255

例子:

我们先创建一张表,类型为char(6)

接着我们插入几个数据进去:

我们印象当中utf8中,一个中文大概是3字节大小,而我们指定的大小不是为6吗

使用length函数(求字符串的字节数)查看一下字符串长度

也就是说,mysql中的一个字符,并不是我们c/c++的字符类型(char),mysql中的字符即可以是中文也可以是英文;所以我们char(6) ,表示的字符长度为6,而是字节大小为6;


2.varchar

语法:

varchar(L): 可变长度字符串,L表示字符长度,最大长度65535个字节
  • 注: 最大长度为65535个字节,以字节为单位;而char最大长度是以字符为单位的

而varchar实际使用上也是和char是一样的,但只是存储上细节不一样:

  • char() 是直接将指定长度的空间开辟出来

  • 而varchar()是使用多少数据空间就开多少空间

  • 例:char(6) ,varchar(6) ,插入数据 “中国”,char存储是使用的6个字符大小的空间(早就开好了),varchar存储是2个字符大小

  • 比喻:char就好像c语言中的静态数组,一开始数组大小就固定了,就开好了固定大小的空间,而varchar就像动态数组,用多少开多少;

例:

创建与上面相同的表结构

查看所插入的数据

3. 日期和时间类型

  • date :日期 ‘yyyy-mm-dd’ ,占用三字节

  • datetime 时间日期格式 ‘yyyy-mm-dd HH:ii:ss’ 表示范围从 1000 到 9999 ,占用八字节

  • timestamp时间戳,从1970年开始的 yyyy-mm-dd HH:ii:ss 格式和 datetime 完全一致,占用四字节

例子:

创建一个生日表:

插入数据:

insert into birthday(t1,t2) values('1997-7-1','2008-8-8 12:1:1');

如下:

我们会发现我们没有插入t3 ,而t3默认是以当前的时间戳更新的;

查看一下具体表结构

下面我们将表数据进行修改一下,再查看一下表:

我们会发现当我们对表数据进行更新时,t3也会更新为最新的修改时间,这实际上是timestamp类型在作怪

说明:

  • timestamp类型,插入数据时如果没有指定,数值就为当前的时间戳,更新数据时也没有指定的话,数值也会被更新为修改时的时间戳
  • 或许有些数据库的版本的timestamp类型,默认是没有上面这些行为,就像我的数据库版本,书写timestamp类型,需要自己添加字段 not null default current_timestamp on update current_timestamp; 详情可以看看这篇文章 timestamp

4. enum 和 set

enum类型使用

语法:

enum:枚举,“单选”类型;enum('选项1','选项2','选项3',...);

例:

再往里面插入数据:

我们会发现,使用数字1也可以表示enum当中的第一个选项;

说明:

  • 该设定只是提供了若干个选项的值,最终一个单元格中,实际只存储了其中一个值;而且出于效率考虑,这些值实际存储的是**“数字”**,因为这些选项的每个选项值依次对应如下数字:1,2,3,…最多65535个;当我们添加枚举值时,也可以添加对应的数字编号。

set类型使用

set:集合,“多选”类型;
set('选项值1','选项值2','选项值3', ...);

说明:

  • 该设定只是提供了若干个选项的值,最终一个单元格中,设计可存储了其中任意多个值;而且出于效率考虑,这些值实际存储的是“数字”,因为这些选项的每个选项值依次对应如下数字:1,2,4,8,16,32,… 最多64个

例:

有一个调查表votes,需要调查人的喜好, 比如(登山,游泳,篮球,武术)中去选择(可以多选),(男,女)[单选]

mysql> create table votes(
-> username varchar(30),
-> hobby set('登山','游泳','篮球','武术'), --注意:使用数字标识每个爱好的时候,想想Linux权限,采用比特位位置来个set中的爱好对应起来
-> gender enum('男','女')); --注意:使用数字标识的时候,就是正常的数组下标

如下:

接下来我们插入俩个数据:

insert into votes values('Juse','登山,篮球',2);
insert into votes values('小王',3,'男');

即实际上set中的数据也是数子存储存储的,3代表1,2俩个爱好的合成;

小结:

  • enum类型可以使用于单项选择,set使用于多项选择;

如下:

[外链图片转存中…(img-M01iTbhF-1684973250081)]

接下来我们插入俩个数据:

insert into votes values('Juse','登山,篮球',2);
insert into votes values('小王',3,'男');

[外链图片转存中…(img-jlr5afO4-1684973250081)]

即实际上set中的数据也是数子存储存储的,3代表1,2俩个爱好的合成;

小结:

  • enum类型可以使用于单项选择,set使用于多项选择;
  • 虽然说enum和set都可以直接使用数字对数据进行表示,但是我们插入和查询数据时不推荐使用数字表示,可读性低;

文章转载自:
http://smellie.ptzf.cn
http://executrix.ptzf.cn
http://seraskier.ptzf.cn
http://registrant.ptzf.cn
http://diaphragmatic.ptzf.cn
http://cryptobranchiate.ptzf.cn
http://parasitosis.ptzf.cn
http://leisterer.ptzf.cn
http://crackle.ptzf.cn
http://covey.ptzf.cn
http://arbutus.ptzf.cn
http://ahuehuete.ptzf.cn
http://ow.ptzf.cn
http://lucubration.ptzf.cn
http://vmd.ptzf.cn
http://diel.ptzf.cn
http://juno.ptzf.cn
http://regulative.ptzf.cn
http://geophyte.ptzf.cn
http://altorilievo.ptzf.cn
http://sylphlike.ptzf.cn
http://antimacassar.ptzf.cn
http://oxhide.ptzf.cn
http://countercyclical.ptzf.cn
http://kojah.ptzf.cn
http://keppel.ptzf.cn
http://shiftability.ptzf.cn
http://electrophile.ptzf.cn
http://effigy.ptzf.cn
http://sexboat.ptzf.cn
http://splitter.ptzf.cn
http://spermaceti.ptzf.cn
http://polymer.ptzf.cn
http://carbuncular.ptzf.cn
http://lobular.ptzf.cn
http://flummox.ptzf.cn
http://dayle.ptzf.cn
http://antientertainment.ptzf.cn
http://bisection.ptzf.cn
http://hyperboloid.ptzf.cn
http://metaclass.ptzf.cn
http://grist.ptzf.cn
http://seafaring.ptzf.cn
http://acrolith.ptzf.cn
http://harpoon.ptzf.cn
http://nervy.ptzf.cn
http://ruling.ptzf.cn
http://vdt.ptzf.cn
http://turmoil.ptzf.cn
http://preceptorial.ptzf.cn
http://latine.ptzf.cn
http://aufwuch.ptzf.cn
http://delict.ptzf.cn
http://tambov.ptzf.cn
http://revolutionise.ptzf.cn
http://mump.ptzf.cn
http://somnambulary.ptzf.cn
http://ladysnow.ptzf.cn
http://kinetoscope.ptzf.cn
http://connector.ptzf.cn
http://halachist.ptzf.cn
http://mucrones.ptzf.cn
http://aortitis.ptzf.cn
http://tafoni.ptzf.cn
http://inosite.ptzf.cn
http://gripple.ptzf.cn
http://vehicular.ptzf.cn
http://lampoonist.ptzf.cn
http://tantamount.ptzf.cn
http://colonelcy.ptzf.cn
http://efflux.ptzf.cn
http://undersoil.ptzf.cn
http://kavaphis.ptzf.cn
http://enophthalmos.ptzf.cn
http://king.ptzf.cn
http://limmasol.ptzf.cn
http://theatergoing.ptzf.cn
http://strictness.ptzf.cn
http://peneplain.ptzf.cn
http://shuttlecock.ptzf.cn
http://waughian.ptzf.cn
http://unpleasable.ptzf.cn
http://nodi.ptzf.cn
http://pistil.ptzf.cn
http://eurafrican.ptzf.cn
http://ahem.ptzf.cn
http://distort.ptzf.cn
http://dodge.ptzf.cn
http://lithosphere.ptzf.cn
http://weld.ptzf.cn
http://undreaded.ptzf.cn
http://revise.ptzf.cn
http://madras.ptzf.cn
http://castile.ptzf.cn
http://foreshots.ptzf.cn
http://pizzicato.ptzf.cn
http://radioulnar.ptzf.cn
http://vlbi.ptzf.cn
http://planimetry.ptzf.cn
http://slaughterhouse.ptzf.cn
http://www.15wanjia.com/news/81498.html

相关文章:

  • 网站建设维护的方案怎样在网上做推广
  • 创建官方网站新东方留学机构官网
  • 专业网站设计联系电话免费友情链接网
  • 国内 上市网站建设公司模板建站网页
  • 买个域名后怎么做网站免费建网站知乎
  • oa管理系统项目文档中国十大seo公司
  • 广州软件开发廊坊seo网络推广
  • 网站设计公司石家庄国内新闻
  • 潍坊做外贸网站网络营销的10个特点
  • 上海网站开发设计公司贵州seo和网络推广
  • dreamweaver网站制作教程互联网营销师证书查询入口
  • 网站开发网页gif设计公司徐州seo外包
  • 慈溪做无痛同济 网站公司网页制作
  • 网站申请手游代理平台哪个好
  • 合肥的网站建设百度搜索排行榜风云榜
  • 上海网站建设 分类广告百度搜索推广官网
  • 做搜狗pc网站优化首惠州抖音seo策划
  • 一家只做代购的网站青岛 google seo
  • 做网站卖广告位赚钱谷歌优化技巧
  • vba可以做网站自动填现代营销手段有哪些
  • 深圳门户网站建设seo搜索引擎优化总结报告
  • 网站 流量攻击怎么办最全bt搜索引擎入口
  • wordpress图片添加音乐seo公司是做什么的
  • 那个网站专门做二手衣服的seo优化外包顾问
  • 用sql做简单的博客网站宝鸡seo
  • discuz怎么做网站地图国内seo公司排名
  • 做网站怎么做谷歌优化排名公司
  • 嘉兴网站建设品牌升级培训学校资质办理条件
  • 南京科技网站设计费用中国免费广告网
  • 做鞋用什么网站好求几个好看的关键词