您的当前位置:首页SQL DEFAULT 约束

SQL DEFAULT 约束

2023-11-10 来源:哗拓教育

1、create table时创建default约束。

技术分享技术分享

2、alter table时创建default约束。

技术分享

3、撤销default约束

技术分享

参考:http://www.w3school.com.cn/sql/sql_default.asp

SQL DEFAULT 约束

标签:约束   ges   logs   href   创建   .com   blog   技术分享   images   

小编还为您整理了以下内容,可能对您也有帮助:

SQL DEFAULT 约束介绍

DEFAULT 约束用于向列中插入默认值。

如果没有规定其他的值,那么会将默认值添加到所有的新记录。


SQL DEFAULT Constraint on CREATE TABLE

下面的 SQL 在 Persons 表创建时为 City 列创建 DEFAULT 约束:

My SQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons

(Id_P int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255) DEFAULT Sandnes)

通过使用类似 GETDATE() 这样的函数,DEFAULT 约束也可以用于插入系统值:

CREATE TABLE Orders

(Id_O int NOT NULL,

OrderNo int NOT NULL,

Id_P int,

OrderDate date DEFAULT GETDATE())


SQL DEFAULT Constraint on ALTER TABLE

如果在表已存在的情况下为 City 列创建 DEFAULT 约束,请使用下面的 SQL:

MySQL:

ALTER TABLE Persons

ALTER City SET DEFAULT SANDNES

SQL Server / Oracle / MS Access:

ALTER TABLE Persons

ALTER COLUMN City SET DEFAULT SANDNES


撤销 DEFAULT 约束

如需撤销 DEFAULT 约束,请使用下面的 SQL:

MySQL:

ALTER TABLE Persons

ALTER City DROP DEFAULT

SQL Server / Oracle / MS Access:

ALTER TABLE Persons

ALTER COLUMN City DROP DEFAULT

sql语句中default是什么意思?

意思是DEFAULT约束在执行INSERT INTO语句时,如果某列没有提供具体的值,那么它提供了一个默认值。

例如:

下面SQL语句创建一个新的表名为CUSTOMERS,并增加了5列。 SALARY列设置为5000.00默认情况下,这样的情况下,INSERT INTPO声明并没有提供此列的值,则默认情况下,该列将被设置为5000.00。

CREATE TABLE CUSTOMERS(

ID INT NOT NULL,

NAME VARCHAR (20) NOT NULL,

AGE INT NOT NULL,

ADDRESS CHAR (25) ,

SALARY DECIMAL (18, 2) DEFAULT 5000.00,

PRIMARY KEY (ID)

);

扩展资料:

default的用法

DEFAULT 约束用于向列中插入默认值。

如果没有规定其他的值,那么会将默认值添加到所有的新记录。

CREATE TABLE 时的 SQL DEFAULT 约束

下面的 SQL 在 “Persons” 表创建时在 “City” 列上创建 DEFAULT 约束:

My SQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons

(

P_Id int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255) DEFAULT 'Sandnes'

)

通过使用类似 GETDATE() 这样的函数,DEFAULT 约束也可以用于插入系统值:

CREATE TABLE Orders(

   

O_Id int NOT NULL,

   

OrderNo int NOT NULL,

   

P_Id int,

   

OrderDate date DEFAULT GETDATE()

)

SQL中的几种约束的创建与删除

约束的目的就是确保表中的数据的完整性。

常用的约束类型如下:

主键约束:(Primary Key constraint) 要求主键列唯一,并且不允许为空

唯一约束:(Unique Constraint) 要求该列唯一,允许为空,但只能出现一个空值

检查约束:(Check Constraint) 某列取值范围、格式等。如有关年龄的

默认约束:(Default Constraint) 某列的默认值,如我们的男性学员比较多,性别默认为男

外键约束:(Foreign Key Constraint) 用于在两表之间建立关系,需要指定引用主表的哪一列

一、添加约束

在创建表时,我们可以在字段后添加各种约束,但一般不这样混用,推荐将添加约束和建表的语句分开编写。

添加约束的语法如下:

Code:

Alter Table 表名

Add Constraint 约束名 约束类型 具体的约束类型

上述语法标识修改某个表,添加某个约束,其中约束名的命名规则推荐采用"约束类型_约束字段"这样的形式。

Code:

---添加主键约束

Alter Table stuInfo

Add Constraint PK_stuNO primary Key(stuNo)

---添加唯一约束

Alter Table stuInfo

Add Constraint UQ_stuID unique(stuID)

---添加默认约束

Alter Table stuInfo

Add Constraint DF_stuAddress default('地址不详') for stuAddress

---添加检查约束

Alter Table stuInfo

Add Constraint CK_stuAge check(stuAge between 15 and 40)

---添加外键约束

Alter Table stuMarks

Add Constraint FK_stuNo foreign key(stuNo) references stuInfo(stuNo)

二、删除约束

如果错误的添加了约束,则可以删除约束

删除约束的语法如下:

Code:

Alter Table 表名

Drop Constraint 约束名

附加:在创建表的时候同时添加约束的写法:

Code:

use stuDB

go

if exists(select * from Sysobjects where name = 'stuInfo')

drop table stuInfo

go

create table stuInfo

(

stuName varchar(20) not null primary key(stuName)

,stuID int not null unique(stuID)

,stuAddress varchar(20) not null default('地址不详')

,stuAge int not null check(stuAge between 15 and 40)

)

sql server如何在表上列中设置约束以020开头

T-SQL代码:

ALTER TABLE 表名

ADD CONSTRAINT 约束名 CHECK(列名 LIKE '020%')

例如:   

CREATE TABLE Persons

(

P_Id varchar(255) NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),

CHECK (Left(P_Id,3)='030')

)

扩展资料:

由于Internet的出现而带来的全球数据访问也同时增加了潜在的安全危险。对于数据库的安全要求决不会比以前更高,而SQL Server7.0还没有获得任何类型的安全证书。相比之下,Oracle是唯一获得最高认证级别的ISO标准认证的数据库。

Oracle高级的安全特性考虑了强制实施的细小权限,先进的审查,增强的访问控制,安全的分布是处理与复制,以及使用附加的外部签发机制的能力。SQL Server7.0没有这些特性。

参考资料来源:百度百科-Microsoft SQL Server

显示全文