1. 如果向mysql特定的类型中插入不合法的数据,mysql一般是直接拦截。 2. 反过来,如果已经有数据被成功插入到mysql中了,那么插入一定是合法的。 3. 所以在mysql中,数据类型本身也是一种数据约束。
1. tinyint数据范围:-2^7~2^7-1。 2. tinyint unsigned数据范围:0~2^8-1。 3. int数据范围:-2^31~2^31-1。 4. int unsigned数据范围:0~2^32-1。 5. 在mysql中,整型可以指定是有符号的和无符号的,默认是有符号的。 可以通过unsigned来说明某个字段是无符号的。
1. bit(M): 位字段类型。M表示每个值的位数,范围从1到64,如果M被忽略,默认为1。 2. bit字段在显示时,是按照ASCII码对应的值进行显示,所以如果值太小,bit是不会显示出来的。 3. 如果我们有这样的值,只存放0或1,这时可以定义bit(1),这样可以节省空间。
1. float(m,d) : m指定显示的长度,d指定小数的位数。 2. float在合法范围内,会发生四舍五入。 3. decimal(m, d): m指定显示的长度,d指定小数的位数。 4. decimal和float很像,但是有区别: float和decimal表示的精度不一样,如果希望小数的精度高,推荐使用decimal。
1. char(L): 固定长度字符串,L是可以存储的长度,单位为字符,而非字节,最大长度为255字符。 2. varchar(L): 可变长度字符串,L表示字符长度,最大长度为65535字节。
1. date:日期'yyyy-mm-dd',占用三字节。 2. datetime :时间日期格式 'yyyy-mm-dd HH:ii:ss' ,占用八字节。 3. timestamp : 时间戳 ,从 1970年 开始计算,格式和 datetime 完全一致,占用四字节。 4. timestamp 在修改表格时,会 自动更新时间 ,而 date 和 datetime 需要自己 手动更新 。
1. enum:枚举,''单选''类型。插入数据时,既可以输入选项,也可以输入编号,编号从1开始。 2. set : 集合 , ''多选'' 类型。 插入数据 时,既可以输入 选项 ,不推荐使用 编号。 因为 编号 遵循 二进制 进位规则 :2--->0010,表示第二项;4---->0100,表示第三项,非常不方便。 3. 集合查询需要用到函数: find_in_set(sub,str_list) , 如果 sub 在 str_list 中,则 返回下标 ;如果不在, 返回0 。
感谢您花时间阅读这篇文章!如果您对本文有任何疑问、建议或是想要分享您的看法,请不要犹豫,在评论区留下您的宝贵意见。每一次互动都是我前进的动力,您的支持是我最大的鼓励。期待与您的交流,让我们共同成长,探索技术世界的无限可能!