怎么用SQL语句添加新字段并设置默认值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用SQL语句添加新字段并设置默认值相关的知识,希望对你有一定的参考价值。

用SQL语句向mysql数据库中 已经建好的表中添加一个名为(sex)的新字段,并设置这个字段的默认值为“1”,百度了一下 找不到满意的答案,所以希望大虾们给予正确、准确的回答。

使用navicat来给mysql表添加字段和设置默认值。

具体操作:

第一步:打开navicat工具,连接上mysql数据库服务,如图可以查看所有表,选择其中一个需要添加字段的表,然后右击选择设计表

第二步:在设计表页面中,可以看到当前表所有的字段以及类型等信息,图形化工具可以很直观的看到各个字段信息。

第三步:然后点击添加栏位,会在表字段最后添加空白行。如果你不想把新增的字段放在最后面,可以先选择一个字段,然后点击插入栏位,即可在刚刚选择的字段前插入一个空行。

接下来在空行里填入需要新增字段的名称、类型、长度、是否为空,下方的两个空白输入框,一个就是设置的默认值,另一个是注释,如图填完信息之后,点击保存按钮。

第四步:执行sql语句之后,查看表结构信息,可以看到刚刚的字段已经正确的添加到表里了。

参考技术A ALTER TABLE 表名 ADD sex BIT NOT NULL DEFAULT 1本回答被提问者采纳

sql 更改默认值

alter table `characters` add `zhuan` int(10) NOT NULL default '100';

我已经用了这个 添加了一个列

但我先把默认值 修改一下 把100改成20

用命令怎么写

命名为:

alter table tablename alter column drop default; (若本身存在默认值,则先删除)

alter table tablename alter column set default 't5';(若本身不存在则可以直接设定)

eg:

alter table `t_member_base_ext` alter member_autograph drop default; 

alter table `t_member_base_ext` alter member_autograph set default null;

-  t_member_base_ext 表名

-  member_autograph 表字段

扩展资料:

注意事项

一、ONLY_FULL_GROUP_BY  
对于使用 GROUP BY 进行查询的SQL,不允许 SELECT 部分出现 GROUP BY 中未出现的字段,也就是 SELECT 查询的字段必须是 GROUP BY 中出现的或者使用聚合函数的或者是具有唯一属性的。

二、STRICT_TRANS_TABLES  

该选项针对事务性存储引擎生效,对于非事务性存储引擎无效,该选项表示开启strict sql模式。在strict sql模式下,在INSERT或者UPDATE语句中,插入或者更新了某个不符合规定的字段值,则会直接报错中断操作。

三、NO_ZERO_IN_DATE  

MySQL中插入的时间字段值,不允许日期和月份为零。

四、NO_ZERO_DATE  

MySQL中插入的时间字段值,不允许日期为零。

五、ERROR_FOR_DIVISION_BY_ZERO  

INSERT或者UPDATE语句中,如果数据被0除,则出现警告(非strict sql模式下)或者错误(strict sql模式下)。

参考技术A

更改默认值方法如下:

1、先创建一个表,给出默认值。此时sex字段默认值为“男”。

create table test
(id int,
sex varchar(2) default '男')

2、将默认值修改为“女”。需要分为三步:

a.先找到表中默认值约束的名称,如图:

b.删除此约束:

alter table test drop constraint DF__test__sex__658C0CBD

c.重新建立新的约束:

alter table test add constraint DF__test__sex__658C0CBD DEFAULT (('女')) for sex

参考技术B update
表名 set
字段名=值 where
字段名=值
参考技术C alter table `characters` modi `zhuan` int(10) NOT NULL default 20;本回答被提问者采纳 参考技术D sql server
alter table characters alter column zhuan int(10) not null default '20'

oracle
alter table characters modify(zhuan int(10) not null default '20');

以上是关于怎么用SQL语句添加新字段并设置默认值的主要内容,如果未能解决你的问题,请参考以下文章

sql语句中修改字段的默认值,该怎么做

sql语句 给表增加一列并设置默认值

mysql表字段默认值

SQL2000语句,创建数据表怎么设置主健和默认值

用SQL语句设置某个字段的排序方式

sqlserver 下 修改表的某个字段默认值语法是怎么样的