MySQL NULL 值处理

我们已经知道 MySQL 使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条
件字段为 NULL 时,该命令可能就无法正常工作。
为了处理这种情况,MySQL提供了三大运算符: 
IS NULL: 当列的值是 NULL,此运算符返回 true。
IS NOT NULL: 当列的值不为 NULL, 运算符返回 true。
<=>: 比较操作符(不同于=运算符),当比较的的两个值为 NULL 时返回 true。
关于 NULL 的条件比较运算是比较特殊的。你不能使用 = NULL 或 != NULL 在列中查找 NULL 值 。
在 MySQL 中,NULL 值与任何其它值的比较(即使是 NULL)永远返回 false,即 NULL = NULL 返回
false 。
MySQL 中处理 NULL 使用 IS NULL 和 IS NOT NULL 运算符。

MySQL 元数据

你可能想知道MySQL以下三种信息:
查询结果信息: SELECT, UPDATE 或 DELETE语句影响的记录数。
数据库和数据表的信息: 包含了数据库及数据表的结构信息。
MySQL服务器信息: 包含了数据库服务器的当前状态,版本号等。
在MySQL的命令提示符中,我们可以很容易的获取以上服务器信息。

获取服务器元数据

以下命令语句可以在 MySQL 的命令提示符使用,也可以在脚本中 使用,如PHP脚本。

SELECT VERSION( ) 服务器版本信息
SELECT DATABASE( ) 当前数据库名 (或者返回空) 
SELECT USER( ) 当前用户名
SHOW STATUS 服务器状态
SHOW VARIABLES 服务器配置变量

MySQL ALTER命令

当我们需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令。

删除、添加或修改表字段

如下命令使用了 ALTER 命令及 DROP 子句来删除以上创建表的 i 字段:

mysql> ALTER TABLE testalter_tbl DROP i;

如果数据表中只剩余一个字段则无法使用DROP来删除字段。
MySQL 中使用 ADD 子句来向数据表中添加列,如下实例在表 testalter_tbl 中添加 i 字段,并定义数据类
型:

mysql> ALTER TABLE testalter_tbl ADD i INT; 

执行以上命令后,i 字段会自动添加到数据表字段的末尾

修改字段类型及名称

如果需要修改字段类型及名称, 你可以在ALTER命令中使用 MODIFY 或 CHANGE 子句 。
例如,把字段 c 的类型从 CHAR(1) 改为 CHAR(10),可以执行以下命令:

mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10); 

修改表名

如果需要修改数据表的名称,可以在 ALTER TABLE 语句中使用 RENAME 子句来实现。
尝试以下实例将数据表 testalter_tbl 重命名为 alter_tbl:

mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;

数据库-null值处理及元数据相关推荐

  1. golang 数据库null值错误 解决方法

    遇到问题: converting NULL to string is unsupported 定义的结构体中 结构体成员类型为string,从mysql数据库中查询数据中有NULL值,go语言执行sc ...

  2. PostgreSQL 数据库NULL值的默认排序行为与查询、索引定义规范 - nulls first\last, asc\desc...

    背景 在数据库中NULL值是指UNKNOWN的值,不存储任何值,在排序时,它排在有值的行前面还是后面通过语法来指定. 例如 -- 表示null排在有值行的前面 select * from tbl or ...

  3. ASP——判断数据库NULL值

    有一个表test1,有字段num,字段num有null值,也有空值,也有其他值,我要用asp语句判断我查询出来的num的值是否为null值. 严谨一点,要有两层判断: If IsNull(Rs(&qu ...

  4. 数据库-null值和notnull操作

    null和not null值 对一些字段类型要进行检查,判断某些字段是否为NULL,或者 non-NULL mysql> SELECT name, birth, death, ‐> TIM ...

  5. [随笔] 数据库NULL值的含义及陷阱

    文章内容仅为自己网课学习内容记录,截图来自于天善学院,BAO胖子的免费网课视频 网课视频地址: https://edu.hellobi.com/course/54 NULL 的含义 Null 不代表0 ...

  6. oracle根据null排序,oracle 关于null值排序

    在oracle中根据字段来desc排序的话null值可能会在数据的最前面.然而有时候我们查看数据的时候并不希望能够在前面看到这些null值的排序数据. 因此我查了一下: 1.排序的时候运用nvl(). ...

  7. 查询数据库,处理NULL值问题

    在做机房收费系统时,每当从数据库中查找数据并显示到窗体界面时,如果查询的记录中有字段值为NULL时,就会报错: 比如:(例子可能不恰当,因为注册时不允许不输入学生姓名.但是就是那个意思)卡号1(学号为 ...

  8. oracle sql为null值,在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办

    在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办? 1.MSSQL: ISNULL() 语法 ISNULL ( check_expression , replacem ...

  9. 数据库过滤操作中 != 或者 指定操作数并不能改匹配到NULL值

    数据库过滤操作中 != 或者 <> 指定操作数并不能改匹配到NULL值 转载于:https://www.cnblogs.com/theone67/p/8127299.html

最新文章

  1. SQL同时删除两张表中的数据
  2. 器官复刻、脑机接口、电子皮肤…这些前沿科学或改写人类未来
  3. Vivado中单端口和双端口RAM的区别
  4. vsftp的安装或升级
  5. 对象序列化(六):应用实例-WPF对象的XAML序列化
  6. Swift中的集合类之数组
  7. mysql直连1.执行语句_MySQL随笔01_一条SQL语句是如何执行的
  8. 【转】Windows Phone 8 开发环境的搭建
  9. 数学狂想曲(十一)——高阶统计, 最速降线, 泛函 变分
  10. 代码review工具:Review Board
  11. static和瞬态_具有瞬态属性的视图对象的钝化和激活
  12. 在线文字图标logo文章封面图生成工具
  13. 毅航产品—模拟载板I
  14. 网络语音视频技术浅议(附多个demo源码下载)
  15. 帧中继环境下Ping的实现
  16. 超级简易的加法计算器
  17. 通过hx1838遥控数码管显示对应数字的程序及问题
  18. Lesson 17.11 案例一:SVHN街道实景门牌识别
  19. 主机能ping通Ubuntu,Ubuntu无法ping通主机
  20. 一个元素位于另一个元素之上,点击上面的元素引发下面元素事件操作

热门文章

  1. 关于input file img实时预览获取文件路径的问题
  2. Linux networkmanager
  3. Windows Communication Foundation(WCF) 一步一步从入门到精通
  4. 【大话hibernate】hibernate系统学习大合集
  5. 文件上传下载—servlet API实现
  6. S3C2440 IIS操作 uda134x录放音
  7. 简单爬虫-爬取免费代理ip
  8. 【js与jquery】三级联动菜单的制作
  9. java 从网络Url中下载文件
  10. 使用CXF与Spring集成实现RESTFul WebService