MySQL

null和空的区别

NULL也就是在字段中存储NULL值,空值也就是字段中存储空字符("")。

  • 占空间区别
1
2
3
4
5
6
@test> select length(NULL), length(""), length("1");
+--------------+------------+-------------+
| length(NULL) | length("") | length("1") |
+--------------+------------+-------------+
| <null>       | 0          | 1           |
+--------------+------------+-------------+

NULL的长度是NULL(标记这个值是NULL),空值长度是0,不占空间

NULL columns require additional space in the row to record whether their values are NULL. NULL列需要行中的额外空间来记录它们的值是否为NULL。

  • 插入/查询的区别

设置字段为NOT NULL时,插入NULL会报错,但是可以插入空值

查询为null where one is null;

查询不为null where one is not null;

查询为空 wehre one = “";

查询不为空 where one != “";

NULL值查询使用is null/is not null查询,而空值("")可以使用=或者!=、<、>等算术运算符。

  • COUNT和IFNULL函数 count(字段) 统计会过滤掉null值,但是不会过滤掉空值 IFNULL有两个参数。如果第一个参数字段不是NULL,则返回第一个字段的值。否则,IFNULL函数返回第二个参数的值(默认值)。

insert同时插入多条数据

update同时更新多条数据多个字段的不同值

主键和唯一索引的区别

https://blog.csdn.net/u010648555/article/details/94555199 https://blog.csdn.net/u010648555/article/details/81102957#_87

mongodb

redis

数据类型 获取过期时间 tls

tcp/udp的区别

tcp三次握手

tcp四次挥手