SQL中的default怎么使用啊

作者&投稿:曹厚 (若有异议请与网页底部的电邮联系)
SQL中的default怎么使用啊~

DEFAULT约束在执行INSERT INTO语句时,如果某列没有提供具体的值,那么它提供了一个默认值。 例如: 例如,下面SQL语句创建一个新的表名为CUSTOMERS,并增加了5列。 SALARY列设置为500000默认情况下,这样的情况下,INSERT INTPO声明并没有提供SQL中的default怎么使用啊

设置一个字段的默认值吧

1、在创建表的时候,给字段添加的默认值约束,没有约束名称。  

如:CREATE TABLE "dbo"."Test"    ( id int PRIMARY KEY, sex varchar(10) DEFAULT ('boy'),    name varchar(40),    age int DEFAULT ((1))) 。  

注意: 此时默认值约束,没有约束名称。DMBS会自动的给添加一个“默认值约束名称”,varchar类型和int类型在DEFAULT 中分别用‘’和()把value值包起来。   

2、在创建表之后,给字段添加的默认值约束。    

如:alter table [dbo].[Test] add constraint Test_name_Default Default('Tom') for baseCurrencyCode    

注意:此时,必须编写一个约束名称,防止重名。    

3、修改字段原有的默认值约束。 

如:declare @csname varchar(100)    set @csname= '' select @csname=[name]  from sysobjects  where exec('alter table [dbo].[Test] add constraint ' + @csname + ' Default((18)) for age')。 

注意:默认值约束,不能修改。必须先drop之后再add drop的时候,必须知道当前“默认值约束的名称”。通过上面的sql可以查出Test表的age字段所绑定的“默认值约束名称”,才可以drop。

扩展资料:

DEFAULT 值只有当一个字段没有在 INSERT 或 MERGE 中指定值,或者使用了 DEFAULT 关键字时才会使用。如果不显式地声明一个 DEFULAT 值,SQL将隐式地将默认值定义为 NULL,而且 DEFAULT 关键字也是这样。

在SQL中,可以在 DEFAULT 子句中使用诸如 SYSDATE 或 CURRENT_TIMESTAMPE 之类的伪字段。

参考资料来源:

百度百科——约束

百度百科——SQL触发器



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)
);

如果CUSTOMERS表中已经被创建,然后添加一个DFAULT约束的SALARY列默认值,那么需要写一个类似下面的语句:
ALTER TABLE CUSTOMERS
MODIFY SALARY DECIMAL (18, 2) DEFAULT 5000.00;

删除默认约束:
要删除一个DEFAULT约束,请使用下面的SQL语句:
ALTER TABLE CUSTOMERS
ALTER COLUMN SALARY DROP 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)
);

如果CUSTOMERS表中已经被创建,然后添加一个DFAULT约束的SALARY列默认值,那么需要写一个类似下面的语句:
ALTER TABLE CUSTOMERS
MODIFY SALARY DECIMAL (18, 2) DEFAULT 5000.00;

删除默认约束:
要删除一个DEFAULT约束,请使用下面的SQL语句:
ALTER TABLE CUSTOMERS
ALTER COLUMN SALARY DROP DEFAULT;

你应该设置not null才行,要不然你没插入相应数据是会默认为空,像下面这样写,我测试过了create table rsb(性别 bit not null default 1)

图中的default表示该字段的默认值是一个空的字符串‘’,即在插入记录时不指定该字段取值时默认用‘’作为插入值。问题补充中的的default其实应该是“DEFAULT CHARSET”的一部分,表示数据库中字符的默认编码方式采用utf-8


郏县18785641641: sql语句中default是什么意思? -
福美羧甲: 意思是DEFAULT约束在执行INSERT INTO语句时,如果某列没有提供具体的值,那么它提供了一个默认值.e799bee5baa6e79fa5e98193e78988e69d8331333431353934 例如: 下面SQL语句创建一个新的表名为CUSTOMERS,并增加了5列...

郏县18785641641: SQL 语句中用default 怎么关键字段 怎么做? -
福美羧甲: create table tb(id int primary key)--设置主键,default设置的是默认值,当不显示插入字段时,可以默认插入设置的默认值

郏县18785641641: SQL中的default怎么使用啊 -
福美羧甲: 这可能是因为该数据库:

郏县18785641641: default的用途
福美羧甲: 在数据库中default是用来创建默认约束的,即提供默认值,比如果你数据库中有一个字段认置了default,如果你插入记录没有提供值,则就会使用default的值了.

郏县18785641641: 如何对数据库字段使用默认值?
福美羧甲: 在创建数据库表时,你可以指定一个 default 值(即默认值).对数据库字段使用默认值有助于将数据库设计问题与应用程序代码隔离. 可以在以后某个时候通过一条 alter ...

郏县18785641641: oracle中创建表的sql语句如何添加default约束 -
福美羧甲: 建立表时创建默认约束: create table t1 (tname varchar2(20) default 'yang'); 为表添加默认约束: alter table t1 modify (tname varchar2(20) default 'yang');

郏县18785641641: 数据库中的default具体有什么用,是说用了可以节省磁盘空间么 -
福美羧甲: 不能节省磁盘空间,相反应该是更多占用磁盘空间才对.default用来插入数据时,如果没有指定值(null时)时,数据库中用 指定的默认值(default)来填充对应列

郏县18785641641: 用default设置默认值时该如何正确使用? -
福美羧甲: oracle 数据库中的default的用法是:在创建数据库表时,可以指定一个 DEFAULT 值(即默认值).对数据库字段使用默认值有助于将数据库设计问题与应用程序代码隔离.可以在以后某个时候通过一条 ALTER TABLE 命令改变一个字段的默认...

郏县18785641641: 有关mysql数据库中的default -
福美羧甲: MySQL不能在建表时用default curdate()指定字段默认值为当前日期,所以一定要在插入或更新的时候指定一个日期或者用curdate()函数,例如insert into 表 (字段) values (curdate()); 如果不指定一个时间,那就按照系统默认值也就是日期"0000-00-00".

郏县18785641641: sql server中,这样新增default约束??? -
福美羧甲: 添加约束:ALTER TABLE 表名 add CONSTRAINT 约束名 DEFAULT 默认值 FOR 列名 .如下所示:在a表的字段b上添加默认值为20:ALTER TABLE dbo.a add CONSTRAINT DF_a_b DEFAULT 20 FOR b

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网