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

中国商标查询网官网网站主机选择与优化

中国商标查询网官网,网站主机选择与优化,黑龙江新闻夜航,网络整合营销4i原则基本数据类型 一、数值类型举例表结构1. 整数类型zerofill属性 与 int(n) 中 n 的关系 2.bit类型3. 小数类型float类型decimal类型 二、字符串类型1. char2. varchar如何选择定长或变长字符串? 3. 日期时间类型(date datetime timestamp)4. enum枚举类型5. set多选类…

基本数据类型

      • 一、数值类型
      • 举例表结构
        • 1. 整数类型
          • zerofill属性 与 int(n) 中 n 的关系
        • 2.bit类型
        • 3. 小数类型
          • float类型
          • decimal类型
      • 二、字符串类型
        • 1. char
        • 2. varchar
          • 如何选择定长或变长字符串?
        • 3. 日期时间类型(date datetime timestamp)
        • 4. enum枚举类型
        • 5. set多选类型

一、数值类型

举例表结构

字段名称字段类型是否NULL键值默认值附加信息
FieldTypeNullKeyDefaultExtra
idintNoUNI(唯一键)Nullauto_increment
nameverchar(10)NoPRI(主键)Null
genderenumNoman
agetinyintYesNull
telphoneintYesNull
home_idintyesMUL(外键)Null
1. 整数类型
类型字节数值范围(带符号)不带符号
tinyint1-128 ~ 1270 ~ 255
smallint2-32768 ~ 327670 ~ 65535
mediumint3-8388608 ~ 83886070 ~ 16777215
int4-2147483648 ~ 21474836470 ~ 4294967295
bigint8-9223372036854775808 ~ 92233720368547758070 ~ 2^(8 * 8) - 1
  • 在MySQL中,整型可以指定是有符号的和无符号的,默认是有符号的。
  • 可以通过unsigned来说明某个字段是无符号的
  • 无符号案例
mysql> create table tt2(num tinyint unsigned);
mysql> insert into tt2 values(-1); -- 无符号,范围是: 0 - 255
ERROR 1264 (22003): Out of range value for column 'num' at row 1
mysql> insert into tt2 values(255);
Query OK, 1 row affected (0.02 sec)
mysql> select * from tt2;
+------+
| num |
+------+
| 255 |
+------+
1 row in set (0.00 sec)
zerofill属性 与 int(n) 中 n 的关系
  • int(n) 中的 n 为显示宽度,只有当它与 zerofill 属性配合时才会显现它的作用

  • 在创建表结构时,如果创建int类型字段且没有设置宽度mysql默认显示宽度为11位,有个符号位。

  • 添加zerofill属性时,该列会自动变成无符号整型(unsigned)且默认显示宽度为10位。这是因为zerofill的主要目的是为了在显示数字时,在左边填充零以达到指定的显示宽度,而对于负数,这种填充零的操作没有意义。

    示例没有zerofill属性:

    mysql> create table t1(-> id int-> );
    )
    Query OK, 0 rows affected (0.00 sec) 
    mysql> insert into t1 values(10); #插入一条数据
    mysql> insert into t1 values(1);  #插入一条数据
    Query OK, 1 row affected (0.00 sec)
    mysql> 	select * from t1;
    +------+
    |  id  | 
    +------+
    |  10  | 
    +------+
    |  1   | 
    +------+
    

    示例有zerofill属性:

    mysql> create table t1(-> id int zerofill-> );
    )
    Query OK, 0 rows affected (0.00 sec) 
    mysql> insert into t1 values(10); #插入一条数据
    mysql> insert into t1 values(1);  #插入一条数据
    Query OK, 1 row affected (0.00 sec)
    mysql> 	select * from t1;
    +---------------+
    |  id           | 
    +---------------+
    |  0000000010   | 
    +---------------+
    |  0000000001   | 
    +---------------+
    
2.bit类型

用法:bit(m)——create table 表名 ( 字段名 bit(m)); 位字段类型。M表示字段的bit位数,范围从1到64。如果M被忽略,默认为1。
介绍:

  • bit字段在显示时,是按照ASCII码对应的值显示(如果在一个bit字段插入数字 65,查看时显示 A)
  • 如果我们有这样的值,只存放0或1,这时可以定义bit(1)。这样可以节省空间
3. 小数类型
float类型

float[(m, d)] [unsigned] : M指定显示长度,d指定小数位数,默认无符号。
例:
float(4,2) :无符号时范围是 -99.99 ~ 99.99 有符号时范围是 0 ~ 99.99
若插入一个数 99.985,四舍五入储存为99.99.

  • 固定占用空间4个字节
  • 有精度损失,float表示的精度大约是7位
  • MySQL在保存指定小数位数以外的值时会进行四舍五入
decimal类型

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

  • decimal类型精度更高
  • decimal整数最大位数m为65。支持小数最大位数d是30。如果d被省略,默认为0.如果m被省略,默认是10

建议:如果希望小数的精度高,推荐使用decimal

二、字符串类型

字符串类型储存内容占用字节
char(4)A4 * 3 = 12
varchar(4)A1 * 3 + 1 = 4
char(4)abcd4 * 3 = 12
varchar(4)abcd4 * 3 + 1 = 13
char(4)abcde报错,超出长度
varchar(4)abcde报错,超出长度
1. char

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

2. varchar

varchar(L): 可变长度字符串,L表示可储存的最大字符长度,最大长度65535个字节,可根据储存内容缩小储存大小。
说明:
关于varchar(L),L到底是多大,这个L值,和表的编码密切相关:

  • varchar长度可以指定为0到65535之间的值,但是有1 - 3 个字节用于记录数据大小,所以说有效字节数是65532。
  • 当我们的表的编码是utf8时,varchar(n)的参数n最大值是65532/3=21844[因为utf中,一个字符占用3个字节],如果编码是gbk,varchar(n)的参数n最大65532/2=32766(因为gbk中,一个字符占用2字节)。
如何选择定长或变长字符串?
  • 如果数据确定长度都一样,就使用定长(char),比如:身份证,手机号,md5
  • 如果数据长度有变化,就使用变长(varchar), 比如:名字,地址,但是你要保证最长的能存的进去。
  • 长的磁盘空间比较浪费,但是效率高。
  • 长的磁盘空间比较节省,但是效率低。
  • 长的意义是,直接开辟好对应的空间。
  • 长的意义是,在不超过自定义范围的情况下,用多少,开辟多少。
3. 日期时间类型(date datetime timestamp)

常用的日期有如下三个:

  • date :日期 ‘yyyy-mm-dd’ ,占用三字节
  • datetime 时间日期格式 ‘yyyy-mm-dd HH:ii:ss’ 表示范围从 1000 到 9999 ,占用八字节
  • timestamp :时间戳,从1970年开始的 yyyy-mm-dd HH:ii:ss 格式和 datetime 完全一致,占用四字节
4. enum枚举类型

用法:enum('选项1','选项2','选项3',...);

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

当在创建表结构中字段类型时选择enum类型并设置选项后,在此表中插入数据时只能从设置的选项中多选一

5. set多选类型

用法:set('选项值1','选项值2','选项值3', ...);

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

当在创建表结构中字段类型时选择enum类型并设置选项后,在此表中插入数据时可以从设置的选项中多选

说明:不建议在添加枚举值,集合值的时候采用数字的方式,因为不利于阅读。

http://www.yayakq.cn/news/79168/

相关文章:

  • 网站框架方案中国娱乐公司三大巨头
  • 电子商城网站建设报告哪个网站是教人做淘宝客的
  • 用dw设计网站模板下载地址医院网站建设目的
  • react可以做门户网站么官方制作网站
  • 广州建站业务公司施工企业资质等级承包范围
  • 网站建设程序员提成推广营销是什么
  • 专业做公司网站昆明网站建设企业
  • 做英文网站需要多少宁波网站建设哪家强
  • 建设银行分期手机网站wordpress文章分类页面置顶
  • 企业做网站有哪些好处郑州网站推广策划
  • 南京网站建设电话盐城建设银行招聘网站
  • 什么是网站建设的重点什么专业可以做网站编辑
  • 迁安三屏网站建设门户网站需要哪些人
  • 贵阳官方网站win8网站源码
  • 什么网站做外链优化好吉林省建设厅官方网站
  • 怎么用壳域名做网站做网站全部乱码怎么办
  • 程序网站开发大连网站哪家做的好?
  • 做百度推广需要自己有个网站吗网站建设哪家比较好
  • 如何创建个人网站北京网站建设+知乎
  • 手机微网站怎么做的专业网站快速
  • 介绍美食的网站模板企业网站如何提高
  • 义乌建设局网站打不开网络品牌网站建设
  • 优秀的电子商务网站黄骅港高铁最新进展
  • 简述电子商务网站的建设步骤淘宝上做网站的生意怎么样
  • 宿州做网站相亲网站怎么建设
  • 网站建设视频教程集wordpress 插件库 思路
  • 做网站用哪个预装系统最新网络舆情
  • 有没有网站可以做地图淘客网站是怎么做的
  • 东莞营销型网站建站南京手机网站设计专业
  • 中小学校园网站开发技术品牌设计公司名称