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

网站毕业设计开题报告内容营销平台

网站毕业设计开题报告,内容营销平台,通付盾 网站建设公司,安装网站系统设计数据库时#xff0c;不禁有这样的疑问#xff0c;varchar()最大可以设置多大呢#xff1f;与什么有关呢#xff1f;字符集为什么要有字符集#xff1f;简单讲#xff0c;数据在网络上传输与硬盘中储存#xff0c;都是以二进制的形式存在的。我们熟知的文字、图片以及…设计数据库时不禁有这样的疑问varchar()最大可以设置多大呢与什么有关呢字符集为什么要有字符集简单讲数据在网络上传输与硬盘中储存都是以二进制的形式存在的。我们熟知的文字、图片以及视频想要存储与传输必然需要一套规则使其成为可以被储存和传输的二进制数据而字符集则是文字编解码的规则。详情可参考字符编码的历史演变。在数据的储存上mysql提供了不同的字符集支持。查看mysql支持的字符集mysql show character set;------------------------------------------------------------------------| Charset | Description | Default collation | Maxlen |------------------------------------------------------------------------| armscii8 | ARMSCII-8 Armenian | armscii8_general_ci | 1 || ascii | US ASCII | ascii_general_ci | 1 |...| gb18030 | China National Standard GB18030 | gb18030_chinese_ci | 4 || gb2312 | GB2312 Simplified Chinese | gb2312_chinese_ci | 2 || gbk | GBK Simplified Chinese | gbk_chinese_ci | 2 || utf16 | UTF-16 Unicode | utf16_general_ci | 4 || utf16le | UTF-16LE Unicode | utf16le_general_ci | 4 || utf32 | UTF-32 Unicode | utf32_general_ci | 4 || utf8 | UTF-8 Unicode | utf8_general_ci | 3 || utf8mb4 | UTF-8 Unicode | utf8mb4_0900_ai_ci | 4 |------------------------------------------------------------------------41 rows in set (0.01 sec)Mysql 提供了server、database、table、column级字符集设置。字符集规则是可以继承的也就是说column 没有设置则继承 table 的字符集设置。table 没有设置则继承 database 的字符集设置。database 没有设置则继承 server 的字符集设置。查看全局字符集设置mysql show global variables like%character_set%;----------------------------------------------------------| Variable_name | Value |----------------------------------------------------------| character_set_client | utf8mb4 || character_set_connection | utf8mb4 || character_set_database | utf8mb4 || character_set_filesystem | binary || character_set_results | utf8mb4 || character_set_server | utf8mb4 || character_set_system | utf8 || character_sets_dir | /usr/share/mysql-8.0/charsets/ |----------------------------------------------------------8 rows in set (0.01 sec)note字符集设置不当会出现汉字乱码。char与varcharchar固定长度类型char(n)则表示只能储存n字节数据不足n则在末尾填充空格最大存储255字符。占用储存空间n × 字符集最大占用字节。varchar可变长度类型varchar(n)则表示可存储char_length(n)长度的字符储存空间占用(字符集最大占用 × n 1 or 2长度字节)字节数 255 时用2字节表示长度。length() 与 char_length()char_length()返回字符长度与空间占用大小无关mysql select char_length(a),char_length(1),char_length(hello world),char_length(你好);---------------------------------------------------------------------------------------| char_length(a) | char_length(1) | char_length(hello world) | char_length(你好) |---------------------------------------------------------------------------------------| 1 | 1 | 11 | 2 |---------------------------------------------------------------------------------------1 row in set (0.00 sec)length() 返回占用字节数mysql select length(a),length(1),length(hello world),length(我),length(你好),length();-----------------------------------------------------------------------------------------------| length(a) | length(1) | length(hello world) | length(我) | length(你好) | length(?) |-----------------------------------------------------------------------------------------------| 1 | 1 | 11 | 3 | 6 | 4 |-----------------------------------------------------------------------------------------------1 row in set (0.00 sec)utf8mb4是mysql在5.5之后新增的字符集编码mb4就是most bytes 4的意思可编码4字节字符。所以utf8不支持emoji在utf8mb4解决了。不同的字符集的空间占用。创建一个字符集为utf8mb4的表mysql create table test_utf8mb4 (cu varchar(10), dcu varchar(10),cn varchar(10),dcn varchar(10),smy varchar(10)) charsetutf8mb4;Query OK, 0 rows affected (0.02 sec)// 插入一条数据mysql insert into test_utf8mb4 (cu,dcu,cn,dcn,smy) values (a,hello,你,你好,);Query OK, 1 row affected (0.00 sec)mysql select length(cu),length(dcu),length(cn),length(dcn),length(smy) from test_utf8mb4;---------------------------------------------------------------| length(cu) | length(dcu) | length(cn) | length(dcn) | length(smy) |---------------------------------------------------------------| 1 | 5 | 3 | 6 | 4 |---------------------------------------------------------------1 row in set (0.00 sec)在utf8mb4字符集中英文数字占1个字节中文占用3个字节emoji占用4字节。创建一个字符集为gbk的表mysql create table test_gbk (cu varchar(10), dcu varchar(10),cn varchar(10),dcn varchar(10),smy varchar(10)) charsetgbk;Query OK, 0 rows affected (0.02 sec)// 插入一条数据mysql insert into test_gbk (cu,dcu,cn,dcn,smy) values (a,hello,你,你好,);ERROR 1366 (HY000): Incorrect string value: \xF0\x9F\xA4\xA4 for column smy at row 1// emoji是一个不正确的值可以看到smy是一个4字节字符。mysql insert into test_gbk (cu,dcu,cn,dcn) values (a,hello,你,你好);Query OK, 1 row affected (0.00 sec)mysql select length(cu),length(dcu),length(cn),length(dcn),length(smy) from test_gbk;---------------------------------------------------------------| length(cu) | length(dcu) | length(cn) | length(dcn) | length(smy) |---------------------------------------------------------------| 1 | 5 | 2 | 4 | NULL |---------------------------------------------------------------1 row in set (0.00 sec)gbk的字符集中英文数字占1字节中文占2字节且只能保存2字节及以下字符。在mysql中char(n) or varchar(n)中的n代表的是可插入的字符长度非字节空间。既然n指的是字符长度char(n)最大255,那么varchar(n)最大可以设置为多少呢行大小限制在mysql中mysql有65535字节的最大行大小限制。也就是说所有字段占用的空间都被包含在65535字节中。新建一个varchar(65535)的表mysql create table long_var (v varchar(65535) not null);ERROR 1074 (42000): Column length too big for column v (max 16383); use BLOB or TEXT instead// 报错提示最大值为1638316383 * 4 65532,还有3字节空间呢这样看起来并不直观utf8mb4占用4字节空间不如用latin1代替latin1只占用一字节。mysql create table long_var (v varchar(65535)) charsetlatin1;ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs// 失败提示最大行大小为65535。// 对了varchar()还有2个字节的长度标识位。mysql create table long_var (v varchar(65533)) charsetlatin1;ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs// 65533 还报错mysql create table long_var (v varchar(65533) not null) charsetlatin1;Query OK, 0 rows affected (0.02 sec)// 同样65533成功了接下来就是找不同的时间了。第二条语句多了一条not null 的语句在mysql中行大小除了数据列长度还包括可空标识即NULL标识。如果有一个列允许为空则需要1 bit来标识每8 bits的标识会组成一个字段该字段会存放在每行最开始的位置。可空表示是行内共享的。那么新建一个可空列的表字段长读应设置为65535 - 2字节长度 - 1字节null标识 65532;mysql create table long_var_32 (v varchar(65532)) charsetlatin1;Query OK, 0 rows affected (0.02 sec)varchar()的最大长度受字符集限制且行内共65535字节的大小也就是说varchar(65532)只能有一个。
http://www.pierceye.com/news/284867/

相关文章:

  • 免费购物网站专门教人做点心的网站
  • 佛山网站设计哪里好seo关于网站搜索排名关键词的标准评定
  • 化工行业网站模板网站上怎么做动画广告视频
  • 怎么查百度收录网站吗用旧技术做网站能过毕设么知乎
  • 容桂医疗网站建设怎样在网站做咨询医生挣钱
  • 响应式网站建设价格加盟网络营销推广公司
  • 营销型网站单页面360任意看地图网站
  • 易班班级网站建设展示PPTwordpress php 采集器
  • 网站的透明图片怎么做嘉兴网站托管
  • 宝安做棋牌网站建设哪家便宜wordpress 导出html5
  • 网页制作与网站建设的发展趋势设想wordpress必装插件
  • 网站模板下载百度云链接怎么做的学做粤菜的网站
  • 牛栏前网站建设整站优化推广品牌
  • 太原做网站找谁阳江公司做网站
  • 企业网站aspwordpress原生相册
  • 重庆网站建设哪家公司那家好企业宣传软文
  • 如何选择营销网站建设什么网站做优化最好?
  • 个人博客网站模板素材网站的运营方案
  • wordpress增加网站网页关键词jquery验证网站地址
  • 企业招聘网站模板网站页面设计需要遵循的六大原则
  • 网站界面设计说明关键词排名顾问
  • 滨江区网站开发公司贵阳住房和城乡建设局网站
  • 如何建设小网站邢台市天气预报15天
  • 网站收录量低怎么做舟山公司网站制作
  • 部队网站模板计算机网站建设员
  • 对象储存做网站微博内网站怎么做的
  • 运城做网站要多少钱谷歌网站英文
  • 校园网站建设的意见与建议做儿童交互网站
  • 7黄页网站建设网站建设培训会讲话
  • 百度推广公司地址苏州优化方式