如何往数据库插入字段为空值的sql语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何往数据库插入字段为空值的sql语句相关的知识,希望对你有一定的参考价值。

sql数据库里面有张表tab,有三个字段
id 自动增长列
name nvarchar
num int 可以为空
写一个num为空时的sql语句
insert into tab (name,num) values ('aaa',NULL)
这种我写过
insert into tab (name,num) values ('aaa',''),num字段是int型,要用''吗?

还有就是答案必须是sql语句,要成功过的,请各位大大没写sql语句的写语句

1、首先打开sql server管理系统工具,使用数据库账号登录到数据管理系统。

2、进去以后,点击数据库文件前面的+号,

3、然后右键数据库文件夹,选择“新建数据库”。

4、然后建立一个名为test的数据表。


5、建立完成后,在下方的编辑器中输入下方图片中的代码,点击运行,

6、运行之后,可以看到test表插入了一条空记录,,这样就完成了。如下图所示:

参考技术A

首先,要确认该字段是否允许为空,如果不允许则无法插入。

如果该字段允许为空则可参考以下方法插入:

比如数据表table的字段有:name,email,addr。其中addr可以为空,并插入空值。sql语句如下:

INSERT INTO table(name,email) values('xiaoming','my email')

参考技术B 字段对应的值直接写null 参考技术C insert into tab (name,num) values ('aaa','')或
insert into tab (name,num) values ('aaa',NULL)本回答被提问者和网友采纳
参考技术D insert into tab (name) values ('aaa')

SQL 空值

SQL NULL Values(空值)


什么是SQL NULL值?

SQL 中, NULL 用于表示缺失的值。数据表中的 NULL 值表示该值所处的字段为空。

具有NULL值的字段是没有值的字段。

如果表中的字段是可选的,则可以插入新记录或更新记录而不向该字段添加值。然后,该字段将被保存为NULL值。

值为 NULL 的字段没有值。尤其要明白的是,NULL 值与 0 或者包含空白(spaces)的字段是不同的。

注意 :理解NULL值与零值或包含空格的字段不同是非常重要的。具有NULL值的字段是在记录创建期间留空的字段!

如何测试NULL值?

使用比较运算符(例如=,<或<>)来测试NULL值是不可行的。

我们将不得不使用IS NULL和IS NOT NULL运算符。

IS NULL语法

SELECT column_names
FROM table_name
WHERE column_name IS NULL;

IS NOT NULL语法

SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;

演示数据库

假设我们有以下的“人员”表:

ID LastName FirstName Address City
1 Doe John 542 W. 27th Street New York
2 Bloggs Joe London
3 Roe Jane New York
4 Smith John 110 Bishopsgate London

假设“人员”表中的“Address”列是可选的。如果插入的记录没有“Address”值,则“Address”列将以空值保存。

IS NULL运算符

以下SQL语句使用IS NULL运算符来列出所有没有地址的人员:

SELECT LastName, FirstName, Address FROM Persons
WHERE Address IS NULL;

结果集将如下所示:

LastName FirstName Address
Bloggs Joe
Roe Jane

提示 :始终使用IS NULL来查找空值。

IS NOT NULL运算符

以下SQL语句使用IS NOT NULL运算符来列出所有具有地址的人员:

SELECT LastName, FirstName, Address FROM Persons
WHERE Address IS NOT NULL;

结果集将如下所示:

LastName FirstName Address
Doe John 542 W. 27th Street
Smith John 110 Bishopsgate

语法:

创建表的时候,NULL 的基本语法如下:

SQL> CREATE TABLE CUSTOMERS(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25) ,
   SALARY   DECIMAL (18, 2),       
   PRIMARY KEY (ID)
);

这里, NOT NULL 表示对于给定列,必须按照其数据类型明确赋值。有两列并没有使用 NOT NULL 来限定,也就是说这些列可以为 NULL。

值为 NULL 的字段是在记录创建的过程中留空的字段。

示例:

NULL 值会给选取数据带来麻烦。不过,因为 NULL 和其他任何值作比较,其结果总是未知的,所以含有 NULL 的记录不会包含在最终结果里面。

必须使用 IS NULL 或者 IS NOT NULL 来检测某个字段是否为 NULL。

考虑下面的 CUSTOMERS 数据表,里面包含的记录如下所示:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |          |
|  7 | Muffy    |  24 | Indore    |          |
+----+----------+-----+-----------+----------+

下面是 IS NOT NULL 运算符的用法:

SQL> SELECT  ID, NAME, AGE, ADDRESS, SALARY
     FROM CUSTOMERS
     WHERE SALARY IS NOT NULL;

上面语句的运行结果如下:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
+----+----------+-----+-----------+----------+

下面是 IS NULL 运算符的用法:

SQL> SELECT  ID, NAME, AGE, ADDRESS, SALARY
     FROM CUSTOMERS
     WHERE SALARY IS NULL;

其运行结果如下:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  6 | Komal    |  22 | MP        |          |
|  7 | Muffy    |  24 | Indore    |          |
+----+----------+-----+-----------+----------+

本文转自:http://codingdict.com/article/6955

以上是关于如何往数据库插入字段为空值的sql语句的主要内容,如果未能解决你的问题,请参考以下文章

SQL 语句 把一个值为0的字段改为空('null')

在sql中我设置列表的类型时没有设置为空,还有主键都设置了,为啥在ASP中输入的数据还是可以插入空值的

sql判断字段是不是为空

SQL 空值

如何用SQL语句来判断查询结果为空?

sql怎么在数据库中插入一列数据