SQL NOT NULL约束

SQL NOT NULL约束SQLNOTNULL约束一、 说明本文主要讲一下,SQL的NOTNULL(不为空)约束相关内容。二、 所用工具SQL数据库三、 内容1. SQLNOTNULL约束的作用主要规定表中的数据必须遵守一定的规则,如果存在违反约束的数据行为,行为会被约束终止(也就是无法把数据添加到该表中)。而不为空约束则强制列不接受NULL值2.添加约束(1)约束可以在创建表时规定(通过CREATETABLE语句)语法为:CREATETABLE表名(列名该列的数据类型(约束),另

大家好,又见面了,我是你们的朋友全栈君。

SQL NOT NULL约束

一、 说明

本文主要讲一下,SQL的NOT NULL(不为空)约束相关内容。

二、 所用工具

SQL 数据库

三、 内容

1. SQL NOT NULL约束的作用

主要规定表中的数据必须遵守一定的规则,如果存在违反约束的数据行为,行为会被约束终止(也就是无法把数据添加到该表中)。而不为空约束则强制列不接受 NULL 值

2.添加约束

(1)约束可以在创建表时规定(通过 CREATE TABLE 语句)
语法为:
CREATE TABLE 表名(列名 该列的数据类型 (约束),另一列名 另一列的数据类型 (另一列约束)…)
例子:
创建一个Persons表,ID列为int类型且不为空,Name列为varchar类型且不为空,Address列为varchar类型且不为空,Age 列int类型约束为默认状态
代码:
CREATE TABLE Persons (
ID int NOT NULL,
Name varchar(255) NOT NULL,
Address varchar(255) NOT NULL
Age int
);
(2)约束也可以在表创建之后再进行规定(通过 ALTER TABLE 语句)
语法为:
ALTER TABLE 表名 ALTER COLUMN 要进行约束的列 数据类型 约束;
例子:
修改Persons表中Age列的约束为不为空
代码:
ALTER TABLE Persons ALTER COLUMN Age int NOT NULL;
注意:修改约束时可能会出现以下状况
1.把某个表的某个列的默认约束改为非空约束时,若是该列中原本的数据有空值存在则无法执行成功,需先将空的数据赋值才可以执行成功。
2.如果从一种约束改成另一种约束时(如从decimal改为int)则会把该decimal的所在列的原有值全部变成0

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143916.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 软阈值 (Soft Thresholding)函数解读

    软阈值 (Soft Thresholding)函数解读版权声明:本文为博主原创文章,遵循CC4.0by-sa版权协议,转载请附上原文出处链接和本声明。…

    2022年6月5日
    35
  • python2装饰器_python函数装饰器

    python2装饰器_python函数装饰器前言我们都知道装饰器的作用是在不改变原有的代码基础上,添加新的功能,但是这样会有一个弊端,被装饰的函数某些属性会变改变,接下来我们来看下案例importtimedefrun_time(fu

    2022年7月30日
    5
  • 用户头像上传_头像使用

    用户头像上传_头像使用上传头像上传头像-持久层SQL语句的规划将对应文件保存在操作系统上,然后在把这个文件路径给记录,因为记录路径是非常便捷和方便,将来如果要打开这个文件可以依据这个路径去找到这个文件。在数据库中需要保存这个文件的路径即可。将所有的静态资源(图片、文件、其他资源文件)方法某台电脑上,在把这台电脑作为一台单独的服务器使用。对应是一个更新用户avatar字段的sql语句。updatet_usersetavatar=?,modified_user=?,modified=?whereuid=?设

    2025年7月28日
    4
  • Python抛出异常_python抛出异常的作用

    Python抛出异常_python抛出异常的作用在工作中都会遇到异常报错问题,那么在这抽空码一些内容以作记录。在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识,不同的类对象标识不同的异常,一个异常标识一种错误AttributeError#试图访问一个对象没有的树形,比如foo.x,但是foo没有属性xIOError#输入/输出异常;基本上是无法打开文件ImportError#无法引入模块或包;基本上是路径问题或名称错误Indentati.

    2022年10月17日
    3
  • JVM 关于静态变量存储位置的问题[通俗易懂]

    JVM 关于静态变量存储位置的问题[通俗易懂]形如staticList<>a=newList<>();我知道a指向的List的对象肯定是在堆内存中,但a本身它存放在哪儿?java8后,永久代已经被移除,被称为“元数据区”的区域所取代。类的元数据放入nativememory,字符串池和类的静态变量放入java堆中,静态变量初始化就在堆,a就在堆中。…

    2022年6月6日
    39
  • 怎么给iOS项目打包

    怎么给iOS项目打包

    2022年1月31日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号