空值是nullvalue的中文名,两者指的是同一个东西。
搞清楚null(空值)和零长度字符串(或空字符串)的区别。
在代码中,零长度字符串用一对没有间隔的英文引号表示,其数据类型明确,即属于字符型,所以存储零长度字符串要占用物理磁盘空间;
空值的数据类型未知,不会占用物理磁盘空间。
在没有约束的情况下,我们可以将空值插入任何数据类型的字段,而零长度字符串只能插入字符数据类型的字段,插入其他类型的字段会出错。
在mysql中null和null字符()是一样的吗?答案是否定的。
在同一个数据库表中,同时插入一个空值数据和一个空字符数据,然后使用select语句进行查询。显然,显示的结果是不同的。从这个结果可以看出,空值不等于空字符。这是在mysql中执行sq。l语句遇到的第二个陷阱。在实际工作中,空数据和空字符往往代表不同的含义。数据库管理员可以根据实际需要进行选择。例如,像号码这样的字段在默认情况下可以设置为null(表示您不根本不知道对方的号码)或设置为空。字符(表示这个号后来取消了)等等。因为它们在数据库中会有不同的表现形式,所以数据库管理员需要区别对待。我更喜欢使用空值,而不是空字符。这主要是因为null数据类型有几个特殊的操作字符。诸如如果字段是空字符,数据库将使用字段名。相反,如果插入空值,则直接显示null。这也不同于其他数据库的显示。
一个是isnull和isnotnull关键字。如果要判断一个字段是否包含空数据,需要使用特殊的关键字。前者表示此字段为空,后者表示此字段不为空。在select语句的查询条件中,这两个级别是封闭的关键字很有用。如果需要查询所有号码为空的用户(需要补充号码信息),可以在查询条件中添加isnotnull关键字。
其次,统计函数(如count)在空值中也有特殊的应用。如果现在需要统计用户信息表中有号码的用户数量,可以使用count函数,将号码作为参数。因为在统计过程中,这个函数会自动忽略空值。数据。此时统计的是带有号码的用户信息。如果使用了带有空字符的数据,该函数将对其进行计数。统计刚建立的两条记录时,系统统计的结果是1,而不是2。可以看出,系统自动忽略空值数据。
使用isnull或isnotnull来判断null。可以使用ifnull函数来处理sql语句。
判断空弦,使用或。如果(col,col,0)可以用在sql语句中,即当col为true(非空,且非)时,则显示,否则打印0。
在mysql中,可以使用createtable语句来创建表。
语法格式为:
创建表表名([表定义选项])[表选项][分区选项]
其中,表定义选项的格式为:
列名1类型1[,…]列名n类型n
createtable语句的主要语法和指令如下:
创建表:要创建具有给定名称的表,您必须拥有创建该表的权限。
lttablenamegt:指定要创建的表的名称,该名称在createtable之后给出,并且必须符合标识符命名规则。
lt表定义选项gt:表创建定义,由列名(col_name)、列定义(column_definition)和可能的空描述、完整性约束或表索引组成。
默认情况下,表是在当前数据库中创建的。如果该表已经存在,没有当前数据库或数据库不存在,将会出现错误。