黑马程序员技术交流社区

标题: 关于SQL中create table的语法问题 [打印本页]

作者: 彭清贵    时间: 2013-2-7 01:45
标题: 关于SQL中create table的语法问题


我在视频上只见老师给下面的”???“写null(这里的null是空值的意思吗?)和not null(这里是不是空值吗,还是不能赋值),请问一下  是只能放这两个2
ps后面老师说数据库中一个列没有指定值,那么值为null,表示不知道;not  null  又是神马意思了??????
create table  pqw(name nvarchar(10)  ???);

作者: 林其荣    时间: 2013-2-7 02:06
你这里所说的null 是 数据库建表时 对 字段 是否可以为空 的一个约束!

null 表示该字段可为空  not null表示 该字段不可为空!
作者: 刘明杰    时间: 2013-2-7 09:51
楼上正解,只是限定该位置值是否可以为空,和放什么值能放几个没有关系
作者: 彭清贵    时间: 2013-2-7 23:39
林其荣 发表于 2013-2-7 02:06
你这里所说的null 是 数据库建表时 对 字段 是否可以为空 的一个约束!

null 表示该字段可为空  not null ...

null   是不是可以写  也可以不写,not  null 是必须要写  是否是这个意思  我开始理解not  null  是这杨的:
例:create  table   (name   nvarchar(10)  not null);  //这里的not null  是不是必须得给他赋值,而不是 不允许给他赋值?
作者: 林其荣    时间: 2013-2-8 00:42
ADO.NET 插入数据 如果你所插入的字段是not null的  而你没有给他值的话 会报错
作者: 彭清贵    时间: 2013-2-8 13:15
林其荣 发表于 2013-2-8 00:42
ADO.NET 插入数据 如果你所插入的字段是not null的  而你没有给他值的话 会报错 ...

明白了,not null  就是不能是空,null可以为空
作者: 潘望    时间: 2013-2-8 13:26
彭清贵 发表于 2013-2-8 13:15
明白了,not null  就是不能是空,null可以为空

正常都是可以为空,你给数据库当这个字段不为空(not null),就是当你插入\更新数据时会报错
作者: 彭思    时间: 2013-2-11 19:36
null表示插入数据时可以为空也可以不为空,not null表示插入数据时一定不能为空,否则报错。
作者: 彭清贵    时间: 2013-2-13 04:20
彭思 发表于 2013-2-11 19:36
null表示插入数据时可以为空也可以不为空,not null表示插入数据时一定不能为空,否则报错。 ...

美女回答的简单,且是重点




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2