zoukankan      html  css  js  c++  java
  • 字符串类型:char,varchar,text,enum,set

    字符串类型

    1.char
    格式:char (M)

    2.varchar
    格式:varchar (M)

    【注意】M表示允许的字符串长度[65535]。M表示的是字符数,而不是字节数。但是最大长度的使用是按照字节来算的。
        varchar中M表示,是允许的最大长度,在最大长度范围内就行,可变长度。
        char内M表示严格限定的长度,固定长度。


        char(5)    varchar(5)   说明

    ''    5个字节    1个字节    varchar需要一个字节保存字符串总长度
    'abc'   5个字节       6个字节

    **总结**1,varchar的空间利用优于char;char的效率比varchar快(速度快)。
                       2,varchar总长度65535;char的特点,当类型数据超过255个字符时,采用2B表示长度。65535-2=65533
                        整条记录,需要一个额外的字节(1B),用于保存当前字段的null值。除非所有的字段都不是null,这个字节才可以省略。

    给表设置 字符集 方法:
    create table s_1 ( a varchar(100)) character set utf8;

    注意:字段的最大长度(65535),除了类型本身限制之外,记录的总长度也有限制。

    3.text
    文本,有很多兄弟类型:
    tinytext longtext 表示的字符串长度不一样。
    分别可存储大小:
    tinytext:1B
    text:64KB
    mediumtext:16MB
    longtext:4GB


    3.enum
    枚举类型:多个可选值中选择一个(单选)

    例子:CREATE TABLE s_2 (gender enum('female','male'));
    解析:在INSERT插入数据的时候只能在female和male中选择一个,否则插入失败或者为空值。

    例子:select gender+0 from s_2;
    解析:显示enum中第几个选项


    4.set
    集合:不定项选择

    例子:CREATE TABLE s_5(name varchar(10),hobby set('basketball','pingpong','soccer','tennis'));

    解析:INSERT INTO s_5 VALUES('jack','tennis,soccer,basketball');
    【注意】如果插入的值不在set里面,则无法插入该值;可以任意插入set中设置好的一个或者多个值。

  • 相关阅读:
    每种特定的迭代器如何使用
    常量迭代器
    容器迭代器
    三十分钟掌握STL
    高快省的排序算法
    FloatTest32 Example
    /浮点数的比较
    java第一天
    ACwing 898
    POJ 3268
  • 原文地址:https://www.cnblogs.com/python-wen/p/10009430.html
Copyright © 2011-2022 走看看