mediumint,如何通过改善饮食预防脑卒中?
JAHA:神奇的西兰花!临床研究证实吃十字花科蔬菜可减小颈动脉壁厚度,降低脑卒中和心脏病发作风险 | 临床大发现

如今的饮食观念早已从过去的吃得饱吃得好向更为合理的吃的安全健康转变。而过去餐桌上常见的大鱼大肉正逐渐成为配角,占据主角的正是绿色健康的新鲜蔬菜。俗话说“食疗同源”,在我们身边其实有很多常见的食物能够辅助疾病的治疗,而新鲜蔬菜更是被誉为血管的清道夫。
2017年International Journal of Epidemiology就曾发表meta分析,明确了多吃蔬菜能够有效减少冠心病和中风发病的风险[1]。
我们知道,发生心血管疾病的潜在原因就是动脉粥样硬化,这是一种复杂的多因素造成的血管问题,常常由于血管内皮细胞功能紊乱、炎症或血脂异常所引起[2]。2005年《新英格兰医学杂志》发表过一篇综述,阐述炎症反应在动脉粥样硬化性心脏病中所起的作用[3]。
目前临床评估患者动脉粥样硬化的指标常用的有颈动脉内膜中层厚度(CCA-IMT)和颈动脉粥样斑块,这些参数都能预测患者发生心肌梗死和中风的风险[4]。
有研究表明蔬菜占比高的饮食,例如地中海风格饮食和素食主义饮食,都能够降低CCA-IMT,还能减缓粥样硬化板块的形成和进展[5-6]。蔬菜中含有多种营养成分和生物活性物质,我们称它为植物化学物质,它能够减缓动脉粥样硬化的形成[7]。这些自然生成的化合物包括了类胡萝卜素、多酚类物质、含硫有机化合物和含氮化合物[8]。
不同的蔬菜种类含有不同水平的这些具有潜在保护作用的化合物。比如十字花科蔬菜,像卷心菜、球芽甘蓝(抱子甘蓝)、花椰菜、西兰花等;还有葱科的蔬菜,像洋葱、韭菜、大蒜等等,它们都含有丰富的含硫有机化合物,据研究对心血管系统的健康非常有益。
另一个例子是绿叶蔬菜,比如菠菜和莴苣,它们是含氮类化合物的重要来源,因为它们富含硝酸盐。临床实验显示,硝酸盐能有效降低血压,而高血压正是心血管疾病的主要危险因素之一[9]。
不过作为独立个体存在的蔬菜,本身在不同蔬菜之间就存在很大的异质性,因此目前很少有研究分析某种特定类型的蔬菜是否对减轻动脉粥样硬化或者是心血管疾病有好处。
中国是一个心血管疾病的高发国和发病大国,中国慢病前瞻性研究的一项分析显示,中国有近三分之一的人群存在颈动脉斑块,动脉粥样硬化进展速度远超英国人。
那么就饮食而言,经常进食什么食物能阻止颈动脉粥样硬化进展的步伐呢?
2018年4月澳大利亚研究人员发表在Journal of the American Heart Association(JAHA)上的一篇文章显示[10],经常吃蔬菜,特别是十字花科蔬菜,有助于延缓老年女性颈动脉粥样硬化,尤其以西兰花、花椰菜、卷心菜和球芽甘蓝的效果最佳。这也是少有的几项探讨不同蔬菜类型对亚临床动脉粥样硬化潜在影响的研究。下面我们来看看这篇文章带给我们哪些启示。
这项研究历时3年,研究对象为≥70岁的澳大利亚女性 ,主要调查她们的饮食状况,其中对954人进行了颈动脉内膜中层厚度(CCA-IMT)的测量(CCA-IMT和颈动脉粥样斑块是目前临床评估患者动脉粥样硬化的常用指标,它们能预测患者发生心肌梗死和中风的风险[4]),对968人进行了颈动脉粥样斑块严重程度的分析。
其中蔬菜摄入频率分为“从不吃蔬菜”到“每日≥3次”,共计10个档次,然后计算每天蔬菜摄入的总量,并按照每份75g的规格计算参与者每日摄入的蔬菜份数。
蔬菜类型包括十字花科蔬菜(如卷心菜、球芽甘蓝、花椰菜和西兰花)、葱类(如洋葱、大蒜和韭菜)、黄色/橘色/红色蔬菜(如西红柿、灯笼椒、甜菜根、胡萝卜和南瓜)、绿叶菜(如莴苣、西芹、银甜菜和菠菜)和豆类(如豌豆、绿豆、豆芽、苜蓿苗、甜豆、黄豆、豆腐等)。
研究对象摄入的各种蔬菜比例
将参与研究的968人按照每天蔬菜摄入的份数不同,分为三组,分别是<2份(262人),2~3份(391人),>3份(315人),研究人员分别统计了她们对各种不同营养素摄入的情况。
从表中我们可以看到,对于所有968人,其平均蔬菜摄入量为199.9g/d。而每天吃大于3份蔬菜的个体,蔬菜摄入量达到了288.5g/d,其中十字花科蔬菜的摄入量也是最多的,为46.0g/d。而且可以很明显地看到,若是蔬菜摄入多的个体,她们对于其他健康食物的摄入也会相应增加,例如新鲜的水果、坚果类和新鲜的鱼类,在每天吃大于3份蔬菜的个体中,这三样食物的平均摄入量分别达到了308g/d、1.0g/d、25.2g/d,都明显高于其他两组,且差异具有统计学意义(P<0.001)。
参与研究者饮食摄入情况和不同种类蔬菜的摄入份数
然后研究人员对954人进行了颈动脉内膜中层厚度(CCA-IMT)的测量,以期发现是否蔬菜摄入越多,CCA-IMT越小(见表3)。从表中,我们发现总蔬菜摄入量与平均CCA-IMT和最大CCA-IMT都呈现出一个负相关的关系。
当受试者每多吃一份蔬菜(75g/d) ,在调整了生活方式和心血管危险因素之后,其平均CCA-IMT可以减小0.011mm,最大CCA-IMT可以减小0.016mm。
同样,参与者如果每天吃超过3份蔬菜,那么与那些每天吃少于2份蔬菜的人相比,其平均CCA-IMT可以减小0.036mm,最大CCA-IMT可以减小0.047mm。说明多食用蔬菜,的确可以减小颈动脉内膜中层厚度,改善动脉粥样硬化的情况。
CCA-IMT与蔬菜摄入份数之间的关系
对于不同蔬菜种类的摄入与CCA-IMT的关系,研究人员采用线性回归的方法。从表4中我们可以发现,摄入十字花科的蔬菜与平均CCA-IMT和最大CCA-IMT之间也呈现出负相关的关系。这一结果在调整了非十字花科类蔬菜的摄入之后依旧保持不变。当受试者每天多吃10g十字花科蔬菜,在调整了生活方式和心血管危险因素之后,其平均CCA-IMT可以减小0.006mm,最大CCA-IMT可以减小0.007mm。
不过豆类、葱类、黄色/橘色/红色蔬菜和绿叶蔬菜没有与平均和最大CCA-IMT的变化有相关关系,也就是说多摄入这些蔬菜并不能有效改善颈动脉内膜中层厚度和粥样斑块的情况。于是这一结果便将十字花科蔬菜的优势充分地凸显了出来,当之无愧地成为了蔬菜界的明星。
CCA-IMT与摄入不同种类蔬菜之间的关系
当然,这个研究也有一些与研究人员一开始设想的结果不相符合的地方。比如蔬菜的摄入量与颈动脉斑块严重程度之间的关系。通过统计分析发现,无论是总蔬菜摄入量还是不同类型蔬菜摄入量,均与颈动脉斑块严重程度之间不存在负相关关系。也就是说,对于已经形成的动脉粥样斑块,寄希望于多吃蔬菜(包括十字花科类蔬菜)来缓解甚至消弭动脉斑块的严重程度,都是无济于事的。
在这项针对老年女性的队列研究中,研究人员发现无论是总蔬菜摄入量还是十字花科蔬菜摄入量,都与平均和最大CCA-IMT呈负相关关系。 而且即使校正了生活方式、心血管病危险因素以及其他类型蔬菜摄入以及饮食因素后,十字花科蔬菜对颈动脉厚度的保护作用依旧“闪闪发光”。研究者发现,进食蔬菜最多者与不吃蔬菜者相比,颈动脉壁厚度减小了0.05mm。
研究者在文章中说, “这项研究可能很有意义,因为颈动脉壁厚度每减少0.1mm,脑卒中和心脏病发作风险就降低10%~18%。”
因此,可不要小瞧上面的点滴变化,这些变化是研究期间出现的,而这个变化过程是是可以累积的。健康在于点滴积累。
关于出现这一结果的原因,研究人员分析蔬菜含有很多非常重要的营养元素和非营养成分,守卫着血管的健康。例如多酚类物质,能够清除体内氧自由基,将沉积在动脉管壁的低密度脂蛋白胆固醇氧化清除。
十字花科蔬菜中含量丰富的含硫有机化合物,其中的异硫氰酸盐近年来成为热搜,是因为其很可能具有有效的抗肿瘤作用。而异硫氰酸盐的一种名为莱菔硫烷(1-异硫氰酸-4-甲磺酰基丁烷)的化合物正有越来越多的证据表明它对血管的损伤有非常好的保护作用,起作用的方式可能是通过阻遏氧化应激的产生或者抑制高级糖基化终末产物的形成发挥效应。
最后研究者指出,虽然这项观察性研究不足以确立十字花科蔬菜和颈动脉保护作用的因果关系,但饮食指南应该强调多食用十字花科蔬菜对血管疾病预防的重要性。
参考文献:
1.Aune D, Giovannucci E, Boffetta P, Fadnes LT, Keum N, Norat T, Greenwood DC, Riboli E, Vatten LJ, Tonstad S. Fruit and vegetable intake and the risk of cardiovascular disease, total cancer and all-cause mortality: a systematic review and dose-response meta-analysis of prospective studies. Int J Epidemiol. 2017;46:1029–1056.
2. Manduteanu I, Simionescu M. Inflammation in atherosclerosis: a cause or a result of vascular disorders? J Cell Mol Med. 2012;16:1978–1990.
3. Hansson GK. Inflammation, atherosclerosis, and coronary artery disease. N Engl J Med. 2005;352:1685–1695.
4. Touboul PJ, Hennerici MG, Meairs S, Adams H, Amarenco P, Bornstein N, Csiba L, Desvarieux M, Ebrahim S, Hernandez Hernandez R, Jaff M, Kownator S, Naqvi T, Prati P, Rundek T, Sitzer M, Schminke U, Tardif JC, Taylor A, Vicaut E, Woo KS. Mannheim carotid intima-media thickness and plaque consensus (2004–2006–2011). Cerebrovasc Dis. 2012;34:290–296.
5. Murie-Fernandez M, Irimia P, Toledo E, Mart_ınez-Vila E, Buil-Cosiales P, Serrano-Mart_ınez M, Ruiz-Guti_errez V, Ros E, Estruch R, Mart_ınez-Gonz_alez M_A. Carotid intima-media thickness changes with Mediterranean diet: a randomized trial (PREDIMED-Navarra). Atherosclerosis. 2011;219:158–162.
6. Yang S-Y, Li X-J, Zhang W, Liu C-Q, Zhang H-J, Lin J-R, Yan B, Yu Y-X, Shi X-L, Li C-D, Li W-H. Chinese lacto-vegetarian diet exerts favorable effects on metabolic parameters, intima-media thickness, and cardiovascular risks in healthy men. Nutr Clin Pract. 2012;27:392–398.
7. Liu RH. Health-promoting components of fruits and vegetables in the diet. Adv Nutr. 2013;4:384S–392S.
8. Weitzberg E, Lundberg JO. Novel aspects of dietary nitrate and human health. Annu Rev Nutr. 2013;33:129–159.
9. Ashor AW, Lara J, Siervo M. Medium-term effects of dietary nitrate supplementation on systolic and diastolic blood pressure in adults: a systematic review and meta-analysis. J Hypertens. 2017;35:1353–1359.
10. Lauren CB, Catherine PB, Joshua RL, et al. Cruciferous and Total Vegetable Intakes Are Inversely Associated With Subclinical Atherosclerosis in Older Adult Women. J Am Heart Assoc. 2018;7:e008391 doi: 10.1161/JAHA.117.008391
MySQL怎么样让自动增加的id字段从0开始计数啊?
有时候我们在测试网站的时候,删除测试数据导致id不是从0开始,那如果想id是从0开始怎么办呢?MySQL默认自增ID是从1开始了,但当我们如果有插入表或使用delete删除id之后ID就会不会从1开始了.使用mysql时,通常表中会有一个自增的id字段,但当我们想将表中的数据清空重新添加数据时,希望id重新从1开始计数,用以下两种方法均可.通常的设置自增字段的方法,创建表格时添加:create table table1(id int auto_increment primary key,…)创建表格后添加:alter table table1 add id int auto_increment primary key 自增字段,一定要设置为primary key.例子,代码如下:alter table tablename drop column id;alter table tablename add id mediumint(8) not null primary key auto_increment first;//phpfensi.com方法二:alter table tablename auto_increment=0
mysql里面整数型的字段类型有哪些?
TINYINT 1 字节 (-128,127) (0,255) 小整数值 SMALLINT 2 字节 (-32 768,32 767) (0,65 535) 大整数值 MEDIUMINT 3 字节 (-8 388 608,8 388 607) (0,16 777 215) 大整数值 INT或INTEGER 4 字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值 BIGINT 8 字节 (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值
mysql数据类型的详解?
MySQL数据库的表是一个二维表,由一个或多个数据列构成。 每个数据列都有它的特定类型,该类型决定了MySQL如何看待该列数据,我们可以把整型数值存放到字符类型的列中,MySQL则会把它看成字符串来处理。 MySQL中的列类型有三种:数值类、字符串类和日期/时间类。 从大类来看列类型和数值类型一样,都是只有三种。但每种列类型都还可细分。 下面对各种列类型进行详细介绍。
数值类的数据列类型 数值型的列类型包括整型和浮点型两大类。
TINYINT:1字节 非常小的正整数,带符号:-128~127,不带符号:0~255 SMALLINT:2字节 小整数,带符号:-32768~32767,不带符号:0~65535 MEDIUMINT:3字节 中等大小的整数,带符号:-8388608~8388607,不带符号:0~16777215 INT:4字节 标准整数,带符号:-2147483648~2147483647,不带符号:0~4294967295 BIGINT:8字节 大整数,带符号:-9223372036854775808~9233372036854775807,不带符号:0~18446744073709551615 FLOAT:4字节 单精度浮点数,最小非零值:+-1.175494351E-38,最大非零值:+-3.402823466E+38 DOUBLE:8字节 双精度浮点数,最小非零值:+-2.2250738585072014E-308,最大非零值:+-1.7976931348623157E+308 DECIMAL:M+2字节 以字符串形式表示的浮点数,它的取值范围可变,由M和D的值决定。 MYSQL支持大量的列类型,它们可以被分为 3 类:数字类型、日期和时间类型以及字符串(字符)类型。这个章节首先给出可用类型的概述,并且总结各类型所需的存储需求,然后提供各类型中的类型范畴更详细的描述。概述有意地简化了。更详细的说明应该参考特写列类型的附加信息,例如你能为其指定值的允许格式。 MySQL 支持的列类型在下面列出。下列代码字母用于描述中: M指出最大的显示尺寸。最大的显示尺寸长度为 255。D适用于浮点类型。指出跟随在十进制小数点后的数字数量。最大可能值为 30,但不应大于M-2。 方括号 (“[”and“]”) 指定可选的类型修饰部份。 注意,如果为一个列指定了ZEROFILL,MySQL 将自动为这个列添加UNSIGNED属性。 警告:你应该知道当在两个整数类型值中使用减法时,如有一个为UNSIGNED类型,那么结果也是无符号的。查看章节6.3.5 Cast 函数。
TINYINT[(M)] [UNSIGNED] [ZEROFILL]-128到127。无符号的范围是0到255。 BITBOOL它们是TINYINT(1)的同义词。
SMALLINT[(M)] [UNSIGNED] [ZEROFILL]一个小整数。有符号的范围是-32768到32767。无符号的范围是0到65535。
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]一个中等大小的整数。有符号的范围是-8388608到8388607。无符号的范围是0到16777215。
INT[(M)] [UNSIGNED] [ZEROFILL]一个正常大小的整数。有符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。
INTEGER[(M)] [UNSIGNED] [ZEROFILL]INT的同义词。
BIGINT[(M)] [UNSIGNED] [ZEROFILL]一个大的整数。有符号的范围是-9223372036854775808到9223372036854775807。无符号的范围是0到18446744073709551615。 你应该知道的有关BIGINT列的一些事情: BIGINT或DOUBLE值来完成的,因此你不应该使用大于9223372036854775807(63 bits) 的无符号大整数,除了位函数之外!如果你这样做了,结果中的某些大数字可能会出错,因为将BIGINT转换成DOUBLE时产生了舍入错误。MySQL 4.0 在下列情况下可以处理BIGINT: 在一个BIGINT列中使用整数存储一个大的无符号值。 在MIN(big_int_column)和MAX(big_int_column)中。 当两个操作数都是整数时使用操作符 (+、-、*、等)。 通常你可以在一个BIGINT列中以字符串方式存储的一个精确的整数。在这种情况下,MySQL 将执行一个字符串到数字的转换,包括无 intermediate 的双精度表示法。 当两个参数均是整数值时,“-”、“+”和“*”将使用BIGINT运算!这就意味着,如果两个大整数的乘积(或函数的结果返回整数)的结果大于9223372036854775807时,你可能会得到意想不到的结果。 FLOAT(precision) [UNSIGNED] [ZEROFILL]一个浮点型数字。 precision可以是<=24作为一个单精度的浮点数字和介于 25 和 53 之间作为一个双精度的浮点数字。这些类型与下面描述的FLOAT和DOUBLE类型相似。FLOAT(X)有与相应的FLOAT和DOUBLE类型同样的范围,但是显示尺寸和十进制小数位数是未定义的。在 MySQL 3.23 中,它是一个真实的浮点值。而在 MySQL 早期的版本中,FLOAT(precision)通常有 2 小数位。 注意,由于在 MySQL 中所有的计算都是以双精度执行的,所以使用FLOAT可能带来一些意想不到的问题。查看章节A.5.6 解决没有匹配行的问题。 FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]一个小的(单精度) 浮点数字。允许的值是-3.402823466E+38到-1.175494351E-38、0和1.175494351E-38到3.402823466E+38。如果UNSIGNED被指定,负值是不允许的。M是显示宽度,D是小数位数。FLOAT没有参数或有X<= 24 的FLOAT(X)代表一个单精度的浮点数字。 DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]一个正常大小的(双精度)浮上数字。允许的值是-1.7976931348623157E+308到-2.2250738585072014E-308、0和2.2250738585072014E-308到1.7976931348623157E+308。如果UNSIGNED被指定,负值是不允许的。M是显示宽度,D是小数位数。DOUBLE没胡参数或有 25 <=X<= 53 的FLOAT(X)代表一个双精度的浮点数字。 DOUBLE PRECISION[(M,D)] [UNSIGNED] [ZEROFILL] REAL[(M,D)] [UNSIGNED] [ZEROFILL]它们是DOUBLE同义词。 DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]一个未压缩(unpacked)的浮点数。运作如同一个CHAR列:“unpacked” 意味着数字是以一个字符串存储的,值的每一位将使用一个字符。小数点并且对于负数,“-”符号不在M中计算(但是它们的空间是被保留的)。如果D是 0,值将没有小数点或小数部份。DECIMAL值的最大范围与DOUBLE一致,但是对于一个给定的DECIMAL列,实际的范围可以被所选择的M和D限制。如果UNSIGNED被指定,负值是不允许的。 如果D被忽略,缺省为 0。如果M被忽略,缺省为 10。 在 MySQL 3.23 以前,M参数必须包含符号与小数点所需的空间。 DEC[(M[,D])] [UNSIGNED] [ZEROFILL] NUMERIC[(M[,D])] [UNSIGNED] [ZEROFILL]DECIMAL的同义词。 DATE一个日期。支持的范围是'1000-01-01'到'9999-12-31'。MySQL 以'YYYY-MM-DD'格式显示DATE值,但是允许你以字符串或数字给一个DATE列赋值。查看章节6.2.2.2DATETIME、DATE和TIMESTAMP类型。 DATETIME一个日期和时间的组合。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。MySQL 以'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值,但是允许你以字符串或数字给一个DATETIME列赋值。查看章节6.2.2.2DATETIME、DATE和TIMESTAMP类型。 TIMESTAMP[(M)]一个时间戳。范围是'1970-01-01 00:00:00'到2037年间的任意时刻。 MySQL 4.0 和更早版本中,TIMESTAMP值是以YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD或YYMMDD格式显示的,它取决于M是否是14(或省略)、12、8或6,但是允许你以字符串或数字给一个TIMESTAMP列赋值。 从 MySQL 4.1 开始,TIMESTAMP以'YYYY-MM-DD HH:MM:DD'格式作为字符返回。如果你你希望以数字形式返回则必须在该时间戳字段后加上 +0。不同的时间戳长度是不支持的。从 MySQL 4.0.12 开始,选项--new可以被用来使服务器与 4.1 一样运作。TIMESTAMP列有益于记录一个INSERT或UPDATE操作的日期和时间,因为如果你自己没有给它赋值,它将被自动地设置为最近一次操作的日期和时间。也可以通过给它赋一个NULL而使它设置为当前的日期和时间。查看章节6.2.2 Date 和 Time 类型。 参数M只影响一个TIMESTAMP列的显示格式;它的值总是占用 4 个字节存储。 注意,当TIMESTAMP(M)列的M是 8 或 14 时,它返回的是数字而其它的TIMESTAMP(M)列返回的是字符串。这仅仅是为了可以可靠地转储并恢复到其它格式的表中。查看章节6.2.2.2DATETIME、DATE和TIMESTAMP类型。TIME一个时间。范围是'-838:59:59'到'838:59:59'。MySQL 以'HH:MM:SS'格式显示TIME值,但是允许你使用字符串或数字来给TIME列赋值。查看章节6.2.2.3TIME类型。YEAR[(2|4)]一个 2 或 4 位数字格式的年(缺省为 4 位)。允许的值是1901到2155、0000(4 位年格式) 以及使用 2 位格式的 1970-2069 (70-69)。MySQL 以YYYY格式显示YEAR值,但是允许你使用字符串或数字来给YEAR列赋值。(YEAR类型在 MySQL 3.22 之前不支持。) 查看章节6.2.2.4YEAR类型。 [NATIONAL] CHAR(M) [BINARY]一个定长的字符串,当存储时,总是以空格填满右边到指定的长度。M的范围是 0 到 255 (在 MySQL 3.23 版本之前为 1 到 255)。当该值被检索时,尾部空格将被删除。CHAR值根据缺省的字符集进行忽略大小写的排索与比较,除非指定了关键词BINARY。NATIONAL CHAR(或短形式NCHAR) 是以 ANSI SQL 方式定义一个CHAR列,它将使用缺省的字符集。这在 MySQL 中是默认的。 CHAR是CHARACTER的缩写。 MySQL 允许以CHAR(0)类型建立一个列。一些老程序运行时必需一个列,却又并不使用这个列的值,你就不得不为了适应它而建立该列,在这情况下,CHAR(0)将是很有益的。当需要一个列仅保存两个值时:一个为CHAR(0)(该列没有定义为NOT NULL),这将仅占用一个比特位来存储 2 个值:NULL或""。查看章节6.2.3.1CHAR和VARCHAR类型。CHAR这是CHAR(1)的同义词。 [NATIONAL] VARCHAR(M) [BINARY]一个变长的字符串。注意:尾部的空格在存储时将会被删除(这与 ANSI SQL 约规不同)。M的范围是 0 到 255 (在 MySQL 4.0.2 之前的版本中是 1 到 255)。 VARCHAR值以大小写忽略方式进行排索与比较,除非关键词BINARY被指定。查看章节6.5.3.1 隐式的列定义变化。VARCHAR是CHARACTER VARYING的缩写。查看章节6.2.3.1CHAR和VARCHAR类型。 TINYBLOBTINYTEXT一个BLOB或TEXT列,最大长度为 255 (2^8 - 1) 个字符。查看章节6.5.3.1 隐式的列定义变化。查看章节6.2.3.2BLOB和TEXT类型。 BLOBTEXT一个BLOB或TEXT列,最大长度为 65535 (2^16 - 1) 个字符。查看章节6.5.3.1 隐式的列定义变化。查看章节6.2.3.2BLOB和TEXT类型。 MEDIUMBLOBMEDIUMTEXT一个BLOB或TEXT列,最大长度为 16777215 (2^24 - 1) 个字符。查看章节6.5.3.1 隐式的列定义变化。查看章节6.2.3.2BLOB和TEXT类型。 LONGBLOBLONGTEXT一个BLOB或TEXT列,最大长度为 4294967295 (2^32 - 1) 个字符。查看章节6.5.3.1 隐式的列定义变化。注意,由于服务器/客户端的协议以及 MyISAM 表通常有一个 16M 每通信包/表行的限制,你仍然不能使用这个类型的整个范围。查看章节6.2.3.2BLOB和TEXT类型。ENUM('value1','value2',...)一个枚举类型。一个仅能有一个值的字符串对象,这个值选自值列'value1'、'value2'、...、NULL或特殊的""出错值。一个ENUM列可以有最大 65535 不同的值。查看章节6.2.3.3ENUM类型。SET('value1','value2',...)一个集合。一个能有零个或更多个值的字符串对象,其中每个值必须选自值列'value1'、'value2'、...。一个SET列可以有最大 64 个成员。查看章节6.2.3.4SET类型。 MySQL 支持所有的 ANSI/ISO SQL92 数字类型。这些类型包括准确数字的数据类型(NUMERIC、DECIMAL、INTEGER和SMALLINT),也包括近似数字的数据类型(FLOAT、REAL和DOUBLE PRECISION)。关键词INT是INTEGER的同义词,关键词DEC是DECIMAL的同义词。 NUMERIC和DECIMAL类型被 MySQL 以同样的类型实现,这在 SQL92 标准中是允许的。他们用于保存对准确精度有重要要求的值,例如与金钱有关的数据。当以它们中的之一声明一个列时,精度和数值范围可以(通常是)被指定;例如: salary DECIMAL(5,2) 在这个例子中,5(精度(precision)) 代表重要的十进制数字的数目,2(数据范围(scale)) 代表在小数点后的数字位数。在这种情况下,因此,salary列可以存储的值范围是从-99.99到99.99。(实际上 MySQL 在这个列中可以存储的数值可以一直到999.99,因为它没有存储正数的符号)。 译者注: M 与D 对DECIMAL(M, D) 取值范围的影响 类型说明 取值范围(MySQL < 3.23) 取值范围(MySQL >= 3.23) DECIMAL(4, 1) -9.9 到 99.9 -999.9 到 9999.9 DECIMAL(5, 1) -99.9 到 999.9 -9999.9 到 99999.9 DECIMAL(6, 1) -999.9 到 9999.9 -99999.9 到 999999.9 DECIMAL(6, 2) -99.99 到 999.99 -9999.99 到 99999.99 DECIMAL(6, 3) -9.999 到 99.999 -999.999 到 9999.999 # 在MySQL 3.23 及以后的版本中,DECIMAL(M, D) 的取值范围等于早期版本中的DECIMAL(M + 2, D) 的取值范围。注释结束: 在 ANSI/ISO SQL92 中,句法DECIMAL(p)等价于DECIMAL(p,0)。同样的,在执行被允许决定值p的地方,句法DECIMAL等价于DECIMAL(p,0)。MySQL 目前还不支持DECIMAL/NUMERIC数据类型的这些变体形式中的任一种。一般来说这并不是一个严重的问题,通过明确地控制精度和数值范围可以得到这些类型的主要功能益处。 DECIMAL和NUMERIC值是作为字符串存储的,而不是作为二进制浮点数,以便保护这些值的十进制精确度。一个字符用于数值的每一位、小数点(如果scale> 0) 和“-”符号(对于负值)。如果scale是 0,DECIMAL和NUMERIC值不包含小数点或小数部分。 DECIMAL和NUMERIC值的最大范围与DOUBLE一致,但是对于一个给定的DECIMAL或NUMERIC列,它的实际范围可制定该列时的precision或scale限制。当这样的列被赋给了小数点的位数超过scale所指定的值时,该将根据scale进行四舍五入。当一个DECIMAL或NUMERIC列被赋与一个大小超过指定(或缺省)的precisionandscale的限止范围时,MySQL 以该列范围的端点值存储该值。

还没有评论,来说两句吧...