问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

MySQL教程4 MySQL8运算符 23.修改JSONS数据 学习猿地

发布网友 发布时间:2022-05-07 22:39

我来回答

1个回答

懂视网 时间:2022-05-07 23:07

3、ENUM类型

ENUM是一个字符串对象,其值为表创建时在列规定中枚举的一列值。语法格式如下:

字段名 ENUM(‘值1’,‘值2’...‘值n’)

字段名指将要定义的字段,值n指枚举列表中的第n个值。ENUM类型的字段在取值时,只能在指定的枚举列表中取值,而且一次只能取一个。如果创建的成员中有空格时,其尾部的空格将自动被删除。ENUM值在内部用整数表示,每个枚举值均有一个索引:列表值所允许的成员值从1开始编号,MySQL存储的就是这个索引编号。枚举最多可以有65535个元素。

例如:定义ENUM类型的列(‘first’,’second’,’third’),该列可以取的值和每个值的索引如下:

索引

NULL

NULL

0

first

1

second

2

third

3

EUNM值依照列索引顺序排列,并且空字符串排在非空字符串的前面,NULL值排在其他所有的枚举值前。

范例:

创建表emp10,定义INT类型的score字段,ENUM类型的字段level,列表值为(‘excellent’,’good’,’bad’),向表emp10中插入数据。

create table emp10(score INT,level enum('excellent','good','bad'));

insert into emp10 values (70,'good'),(90,1),(80,2),(50,3),(100,'best');

出现提示语:Data truncated for column 'level' at row 5

修改SQL如下:

insert into emp10 values (70,'good'),(90,1),(80,2),(50,3);

4、SET类型

5、SET是一个字符串对象,可以有零或多个值。SET列最多可以有64个成员,其值为表创建时规定的一列值。指定包括多个SET成员的SET列值时,各个成员之间用逗号隔开。

语法格式如下:

SET(‘值1’,’值2’...’值n’)

SET值在内部用整数表示,列表中每一个值都有一个索引编号。当创建表时,SET成员的尾部空格将被自动还是拿出。但与ENUM类型不同的是,ENUM类型的字段只能从定义的列值中选择一个值插入,而SET类型的列可以从定义的列值中选择多个字符的联合。

如果插入SET字段中列值有重复,MySQL将自动删除重复的值;插入SET字段的值的顺序不重要,MySQL会在存入数据库时,按照定义的顺序显示;如果插入了不正确的值,默认会忽略这些值,并给出警告

范例

5、二进制类型

MySQL支持两类字符型数据:文本字符串、二进制字符串。MySQL中的二进制数据类型有:BIT/BINARY/VARBINARY/TINYBLOB/BLOB/MEDIUMBLOB/LONGBLOB

如何选择数据类型

1、整数和浮点数

如果不需要小数部分,则使用整数来保存数据;如果需要表示小数,则使用浮点数类型。对于浮点数据列,存入的数值会对该列定义的小数进行四舍五入。

2、浮点数和

浮点数FLOAT,DOUBLE相对于定点数DECIMAL的优势在于:在长度一定的情况下,浮点数能表示更大的数据范围。但是由于浮点数容易产生误差,因此对精度要求比较高时,简易使用DECIMAL来存储。DECIMAL在MySQL中是以字符串存储的,用于定义货币等对精度要求较高的数据,在数据迁移中,float(M,D)是非标准SQL定义,数据库迁移可能会出现问题。最好不要这样使用。另外,两个浮点数进行减法和比较运算时,容易出现问题。因此在进行计算的时候,一定要小心,如果进行数值比较,最好使用DECIMAL类型

3、日期与时间类型

MySQL对于不同种类的日期和时间有很多的数据类型。如果质押记住年份,则可以使用YEAR类型即可;如果只记录时间,只需使用TIME类型

如果需要同时记录日期和时间可以使用TIMESTAMP或者DATETIME类型。由于TIMESTAMP列的取值范围小于DATETIME的取值范围,因此存储范围较大的日期最好使用DATETIME

TIMESTAMP也有一个DATETIME不具备的属性,默认情况下,当插入一条记录但没有指定TIMESTAMP列值时,MySQL会把TIMESTAMP列设为房前时间。

4、CHAR和VARCHAR之间的特点和选择

区别:

CHAR是固定字符串,VARCHAR是可变长度字符串。CHAR会自动删除插入数据的尾部空格,VARCHAR不会删除尾部空格

CHAR是固定长度,所以处理速度比VARCHAR快。但其缺点是浪费存储空间。

存储引擎对于选择CHAR和VARCHAR的影响:

对于MyISAM存储引擎,只好使用固定长度的数据列代替可变长度的数据列。这样可以是整个表静态化,插叙更快

对于InnoDB存储引擎,使用可变长度的数据列,因为InnoDB数据表的存储格式不区分固定长度和可变长度,因此使用CHAR不一定比使用VARCHAR好。但是使用VARCHAR可以节省空间。

5、ENUM和SET

ENUM只能取单个值,他的数据列表是一个枚举集合。因此要从多个值中选取一个时,可以使用ENUM。

SET可以取得多个值。在需要多个值的时候,时候使用SET类型

6、BLOB和TEXT

BLOB是二进制字符串,TEXT是非二进制字符串。两者都可以存放大容量的信息。BLOB主要用于存储图片、音频等,TEXT只能存放纯文本文件。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 养宠物的人遵守规则,是不是就能和别人平安相处呢? 一汽自动挡新速腾新手怎么开 08年老速腾自动档内循环和外循环怎么开 鼎的演变过程是怎样的? 速腾自动挡车手动模式怎么开 历史高手进~~~ 简述中国古代律典篇章体例的变化及其意义 除了“典、删、册”这些字,随便什么字,由一个甲骨文演变而来 急S了 册典册的来历主要内容是什么 比如册,删,典它们的演变 汉字的演变过程还要有什么汉字在什么朝代 300字左右 有关某个汉字的来历,比如删、赢、册、典 【这些不用说】请写出类似的几个汉字的来历 字典的发展演变过程从古代到现代经过了多长时间 “册”“典”“删”的来历主要内容,在线等20分钟 “册”“典”“删”的来历? 某某汉字的来历,比如“典”、“册”、“删”字。 古代"典"字的来历史 典是象形字吗 典字的来历 哪种电脑屏幕比较高级。 各个大学在湖南的录取分数线2009年 我申请中国联通阿里宝卡时,身份证上传不通过怎么办? 求日本动漫(几个女喜欢一个男的) 哪些日本动漫是一个男生,有好多女士都喜欢他的动漫 有没有校园爱情动漫,就是很多女生喜欢一个男生的那种,其他很多女生喜欢一个男生的也行,要日本的,求啦 多个女人爱一个男人的动漫 有什么好看的动漫?比如好多女生喜欢一个男生 有很多女生喜欢一个男生的动画片 有几个女孩喜欢一个男生他们去过一个沙滩++这个动漫叫什么名字++是日本动漫 有什么好看的日本动漫? 爱情的(很多女生喜欢一个男生的类型),画质要好,人要好看。 我不是很急的。 求一部几个女的同时喜欢上一个男的动漫 有没有一个男生被好多女生喜欢的动漫校园的 有没有这种动漫,就是很多女生同时喜欢同一个男生。。 男主角被多个女生喜欢的动漫加剧情 n多个女主喜欢一个男主的动漫 有很多个女生喜欢一个男生的动漫 突发性耳鸣是怎么回事? 有没有日本爱情高中的动画片啊?有没有魔法无所谓!!!最好是几个美女追一个男的那种动画片!!! 有没有很多个女生喜欢一个男生的动漫,(人设很好的那种)只求好看的 突发性耳鸣找不到原因该怎么办? 我*了,我是已婚女人,爱勾引别人老公,以证明自己的魅力,请朋友们开导开导我,我好纠结啊!!!