mysql数据表问题,求各位程序员帮助

img

所有资金为null的字段,值改为3000

所以文员资金加2000

update tablexxx set 资金 = 3000 where 资金 is null;
update tablexxx set 资金 = 资金 + 2000 where 岗位 = ‘文员’;

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/256935
  • 你也可以参考下这篇文章:解决mysql中int接收数据返回为null的报错
  • 除此之外, 这篇博客: MySQL高级查询语句(一)排序、运算符、别名、子查询、内外连接中的 NULL 值描述 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 在SQL语句使用过程中,经常会碰到NULL这几个字符。通常使用NULL来表示缺失的值,也就是在表中该字段是没有值的。
    • 如果在创建表时,限制某些字段不为空,则可以使用NOT NULL关键字,不使用则默认可以为空。
    • 在向表内插入记录或者更新记录时,如果该字段没有NOT NULL并且没有值,这时候新记录的该字段将被保存为 NULL。
    • 需要注意的是,NULL 值与数字 0 或者空白(spaces)的字段是不同的,值为NULL的字段是没有值的。
    • 在SQL语句中,使用IS NULL可以判断表内的某个字段是不是NULL值,相反的用IS NOT NULL 可以判断不是NULL值。
    ################首先创建一个表用于测试#######################################
    mysql> CREATE TABLE `test` (
        -> `id` int(10) NOT NULL AUTO_INCREMENT,
        -> `NAME` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
        -> `level` int(10) NOT NULL,
        -> `coin` int(32),
        ->  PRIMARY KEY (id)
        -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> insert into test(name,level) values('aa',10);  //插入数据
    Query OK, 1 row affected (0.01 sec)
    
    mysql> insert into test(name,level,coin) values('ab',20,100);
    Query OK, 1 row affected (0.01 sec)
    
    mysql> select * from test;   //coin字段未插入数据默认为null
    +----+------+-------+------+
    | id | NAME | level | coin |
    +----+------+-------+------+
    |  1 | aa   |    10 | NULL |
    |  2 | ab   |    20 |  100 |
    +----+------+-------+------+
    2 rows in set (0.00 sec)
    mysql> select * from test where coin is null;    //查询出coin字段为null的数据
    +----+------+-------+------+
    | id | NAME | level | coin |
    +----+------+-------+------+
    |  1 | aa   |    10 | NULL |
    +----+------+-------+------+
    1 row in set (0.00 sec)
    
    mysql> select * from test where coin is not null;   //查询出coin字段不为null的数据
    +----+------+-------+------+
    | id | NAME | level | coin |
    +----+------+-------+------+
    |  2 | ab   |    20 |  100 |
    +----+------+-------+------+
    1 row in set (0.00 sec)