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 约束的主要内容,如果未能解决你的问题,请参考以下文章