MySQL支持类型后面的小括号指定显示宽度,例如:int(5)表示当数值宽度小于5的时候在数字前面填满宽度,如果不显示指定宽度则默认为int(11)。如果插入的数据大于这个数值宽度,对实际的插入值是没有影响的,是按照int类型的实际大小进行的。
create table valuetype( age int, age1 int ) insert into valuetype(age,age1)values(1,2);//这时候数据库就显示1 alter table valuetype modify age int zerofill;//这时候数据库就显示'0000000001' 位类型说明bit(M) 位类型最小1,最大64
create table test(pwd bit(64))
数据插入bit类型字段时,首先转换为二进制,如果位数允许,将插入成功,如果位数小于实际的位置,则插入失败。
日期时间类型
日期类型说明date 表示年月日
datetime 表示年月日时分秒
time 表示时分秒
timestamp 时间戳(1970-2038)
year 年份(1901-2155)
mysql里面获取当前时间为now().mssql获取当前时间为getdate()
timestamp,支持的范围非常小,从1970-2038年,timestamp受时区的影响
create table timestamptest( tp timestamp) 系统会自动给tp赋予默认值current_timestamp(系统日期),但是mysql只给第一个timestamp设置默认值,如果有第二个timestamp类型,则默认值设置为0字符串类型
常用字符串类型说明char(M) M为0-255之间的整数
varchar(M) M为0-65535之间的整数,值长度+1个字节
text 允许0-65535字节,值长度+2字节
1.char与varchar类型的区别:
char列最后的空格已经删除,而varchar保留空格
四、MySQL中运算符
算术运算符
运算符说明+ 加法
- 减法
* 乘法
/,DIV 除法,返回商
%,MOD 除法,返回余数
比较运算符,满足返回1,否则返回0
运算符说明= 等于
<>,!= 不等于
<=> null安全的等于
< 小于
<= 小于等于
> 大于
>= 大于等于
between 存在于指定范围
in 存在于指定集合
is null 为null
is not null 不为null
like 通配符匹配
regexp,rlike 正则表达式
逻辑运算符(布尔运算符)
运算符说明NOT,! 逻辑非
AND,&& 逻辑与
OR 逻辑或
XOR 逻辑异或
位运算符
运算符说明& 位与
位或
^ 位异或
~ 位取反
>> 位右移
<< 位左移
运算符优先级,大多情况下使用()进行操作
五、常用函数