SQL NOT NULL 约束

Posted 兔子喜欢月亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL NOT NULL 约束相关的知识,希望对你有一定的参考价值。

SQL约束:NOT NULL

这里主要细讲SQL约束中的NOT NULL,非空约束。

        默认情况下,表的列接受NULL值,NOT NULL约束则强制对应字段不为空。

约束 说明
NOT NULL非空约束,确保列中不存储NULL值
UNIQUE唯一约束,确保每列的每行都有唯一的值
DEFAULT默认约束,确保没有给列赋值时,有规定的默认值
CHECK检查性约束,用于限定列的取值范围,确保列中的值符合指定条件
PRIMARY KEY主键,是NOT NULL与UNIQUE的结合,助于快速找到表中的一个特定记录
FOREIGN KEY外键,确保一个表中的数据匹配另一个表中的值的参照完整性。

 一、NOT NULL ,查询

对应的检测方式,可以使用 IS NULL 或者 IS NOT NULL进行查询

SELECT XXX,XXX,XX

FROM XX_XXXX

WHERE XX IS NULL 

或者是

SELECT XXX,XXX,XX

FROM XX_XXXX

WHERE XX IS NOT NULL 

 二、NOT NULL ,建表建约束

NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录,下面就在创建表时规定‘SERVER_NAME'和'OWNER'不可为空。

CREATE TABLE SERVER
(
    ID INT NOT NULL AUTO_INCREMENT,
    SERVER_NAME VARCHAR(20) NOT NULL,
    OWNER VARCHAR(20) NOT NULL,
    PRIMARY KEY('ID')
)

 二、NOT NULL ,修改表约束

SQL 约束可以在创建表时规定,也可在创建表之后规定。

ALTER TABLE XX_XXX 
ALTER COLUMN X INT(10) NOT NULL DEFUALT'0'

或者

ALTER TABLE XX_XXX 
MODIFY X INT(10) NOT NULL DEFUALT'0'

SQL*Plus中怎么执行多个*sql脚本文件

1.在
SQL*Plus
中执行单个sql
脚本文件
:
SQL>@c:\aaa.sql
2.在SQL*Plus中执行多个sql脚本文件:
比如你要执行得2个sql脚本
a.sql

b.sql
现在你重新写一个脚本
c.sql
其中得内容如下
@@a.sql
@@b.sql
然后把c.sql放在a.sql和
b.sql
得同一个目录中即可,然后在sqlplus下执行:SQL>@c.sql
就可以了.
当然有具体路径的加上路径即可,如下:
SQL>
@E:\c.sql注意事项:
1>.sql文件都在一个目录中;2>.尤其是c.sql文件中直接写:
@@a.sql
@@b.sql
即可。
参考技术A mysql
–u用户名–p密码
–d数据库<【sql脚本文件路径全名】,示例:mysql
–uroot
–p11111
-dtest注意:a、如果在sql脚本文件中使用了use
数据库,则-d数据库选项可以忽略b、如果【mysql的bin目录】中包含空格,则需要使用“”包含,如:“c:\program
files\mysql\bin\mysql”
–u用户名
–p密码–d数据库<【sql脚本文件路径全名】方法二
进入mysql的控制台后mysql>source
sql脚本路径
参考技术B shizhiyong06朋友说的基本都对。要注意如果sql脚本文件包含sql*plus命令语句不能再sql窗口运行,只能在sql*plus或pl/sql的命令窗口运行。有两种运行方式:
1、用文本编辑器打开sql脚本文档,全部选择复制后直接粘贴在sql>提示符上。
2、在sql>提示符下直接运行sql脚本,语句格式是:
sql>
start
盘符:\路径\sql脚本文件名

sql>
@
盘符:\路径\sql脚本文件名

以上是关于SQL NOT NULL 约束的主要内容,如果未能解决你的问题,请参考以下文章