一、数据类型:
id int(4)
MySQL手册中这个长度/值用"M"来表示的。 M指示最大显示宽度。最大有效显示宽度是255。显示宽度与存储大小或类型包含的值的范围无关;这里M=4我们可以简单的理解成为,我们建立这个长度是为了告诉MySQL数据库我们这个字段的存储的数据的宽度为5位数, 当然如果你不是5位数(只要在该类型的存储范围之内)MySQL也能正常存储。另外如果不指定M,则系统会为每一种数据类型指定默认的宽度值(这个宽度值保证每一种数据类型可以取到值范围类的所有值)。
int(M) M表示的不是数据的最大长度,只是数据宽度,并不影响存储多少位长度的数据;
varchar(M) M表示的是varchar类型数据在数据库中存储的最大长度,超过则不存,报错
不论是定点还是浮点类型,如果用户指定的精度超出经度范围,则会四舍五入进行处理。
对日期/时间类型字段赋值时,可以使用字符串类型或数字类型的数据插入,只有符合类型格式即可。
mysql允许“不严格”语法:任何标点符号都可以用作日期部分之间的间隔符。例如,‘98-11-31’、‘98/11/31’、‘98.11.31’、‘98@11@31’是等价的,这些值都可以正确地插入到数据库。
timestamp和datetime除了存储字节和支持的范围不同之外,还有一个最大区别就是:datetime在存储日期数据时,按实际输入的格式存储,即输入什么就存储什么,与时区无关;而timestap值的存储是以UTC(时间标准时间)格式保存的,存储时对当前时区进行转换,检索时再转换回当前时区。即查询时,根据当前时区的不同,显示的时间值是不同的。
字符串类型:
删除尾部空格:char、enum
不删除尾部空格:varchar、text
二、运算符:算术、比较、逻辑、位
算术运算符: 加减乘除模
比较运算符:大于、小于、等于、大于等于、小于等于、不等于、in、between and、 is null 、 least(最小)、greatest(最大)、like、regexp(正则)
逻辑运算:逻辑非(!)、逻辑与(&& 或 and)、逻辑或(||或or)、逻辑异或(xor)
位运算符:参与运算的参数,按二进制进行运算。位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)