如何用Sql语句添加字段?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用Sql语句添加字段?相关的知识,希望对你有一定的参考价值。

如何用Sql语句向表中添加字段?ALTER TABLE employee(表名) ADD COLUMN post(字段名) varchar(20) 这句哪里有错?

通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数\x0d\x0a增加字段: alter table [表名] add 字段名 smallint default 0 增加数字字段,整型,缺省值为0\x0d\x0aalter table [表名] add 字段名 int default 0 增加数字字段,长整型,缺省值为0\x0d\x0aalter table [表名] add 字段名 single default 0 增加数字字段,单精度型,缺省值为0\x0d\x0aalter table [表名] add 字段名 double default 0 增加数字字段,双精度型,缺省值为0\x0d\x0aalter table [表名] add 字段名 Tinyint default 0 增加数字字段,字节型,缺省值为0\x0d\x0aalter table [表名] add 字段名 text [null] 增加备注型字段,[null]可选参数\x0d\x0a\x0d\x0aalter table [表名] add 字段名 memo [null] 增加备注型字段,[null]可选参数\x0d\x0a\x0d\x0aalter table [表名] add 字段名 varchar(N) [null] 增加变长文本型字段大小为N(1~255)\x0d\x0a\x0d\x0aalter table [表名] add 字段名 char [null] 增加定长文本型字段大小固定为255\x0d\x0a\x0d\x0aalter table [表名] add 字段名 Datetime default 函数增加日期型字段,其中函数可以是now(),date()等,表示缺省值\x0d\x0a\x0d\x0a(上面都是最常用的,还有其他的属性,可以参考下面的数据类型描述)\x0d\x0a\x0d\x0a删除字段: alter table [表名] drop 字段名\x0d\x0a\x0d\x0a修改变长文本型字段的大小:alter table [表名] alter 字段名 varchar(N)\x0d\x0a\x0d\x0a删除表: drop table [表名]\x0d\x0a\x0d\x0a创建表:\x0d\x0a\x0d\x0asql="CREATE TABLE [表名] ([字段1,并设置为主键] int IDENTITY (1, 1) NOT NULL CONSTRAINT PrimaryKey PRIMARY KEY,"&\x0d\x0a\x0d\x0a"[字段2] varchar(50),"&\x0d\x0a\x0d\x0a"[字段3] single default 0,"&\x0d\x0a\x0d\x0a"[字段4] varchar(100) null,"&\x0d\x0a\x0d\x0a"[字段5] smallint default 0,"&\x0d\x0a\x0d\x0a"[字段6] int default 0,"&\x0d\x0a\x0d\x0a"[字段7] date default date(),"&\x0d\x0a\x0d\x0a"[字段8] int default 1)"\x0d\x0a\x0d\x0aconn.execute sql\x0d\x0a\x0d\x0a有null 的表示字段允许零长 参考技术A

使用SQL语句为数据表增加一个字段,使用alter table子句。

语法:alter table 表格名 add 字段名 数据类型 -alter table table_name add col_name char(5)

例,表格:tt

新增字符型字段 :test_column

SQL语句:   

alter table tt add test_column char(5);

参考技术B 语法
ALTER TABLE 表 ADD ADDCOLUMN 字段类型 [ (字长)] [NOT NULL] [CONSTRAINT 索引 ] |<br/> ALTER COLUMN 字段类型 [(字长)] |<br/> CONSTRAINT 多重字段索引 |
DROP DROPCOLUMN 字段 I CONSTRAINT 索引名

ALTER TABLE 语句分为以下几个部分:

部分 说明
table 欲修改的表之名称。
field 欲在表内增加或删除的字段的名称。或表内欲被替换的字段名称。
type 字段的数据类型。
size 字段的字符长度 (文本及二进制字段)。
index 字段索引。欲了解更多有关如何构造本索引的信息,请看 CONSTRAINT子句。
multifieldindex 欲增加至表 中的多重字段索引的定义。欲了解更多有关如何构造本索引的信息,请看 CONSTRAINT子句。
indexname 欲删除的多重字段索引的名称。

说明
使用 ALTER TABLE 语句,可用多种不同方法更改当前已存在的表:你可以:

使用 ADD COLUMN 在表中添加新的字段。需要指定字段名、数据类型、还可以 (对文本和二进制字段)指定长度。例如,下列语句在员工表中增加一 25 个字符的、名为 Notes 的文本字段:
ALTER TABLE Employees ADD COLUMN Notes TEXT(25)

也可以定义此字段的索引。关于单一字段索引的详细信息,请参阅CONSTRAINT 子句主题。

如果对一字段指定 NOT NULL,则在这字段中添加的新记录必须有有效的数据。

使用ALTER COLUMN改变一个当前字段的数据类型,需要指定字段名、新数据类型、还可以 (对文本和二进制字段)指定长度。例如,下列语句把雇员表中一个字段的数据类型, 被称为ZipCode(最初被定义为整数),改变成一个10字符文本字段:
ALTER TABLE Employees ALTER COLUMN ZipCode TEXT(10)

使用 ADD CONSTRAINT 添加多重字段索引。关于多重字段索引的详细信息,请参阅 CONSTRAINT 子句主题。
使用 DROP COLUMN 删除字段。只要指定欲删除的字段名即可。
使用 DROP CONSTRAINT 删除多重字段索引。只要在 CONSTRAINT 保留字后面指定索引名即可。
--------------------------------------------------------------------------------

注意

不能同时添加或删除一个以上的字段或索引。
你可以使用 CREATE INDEX 语句在一个表中增加一个单字段或多重字段,你还可以使用 ALTER TABLE 或 DROP 语句删除一个由ALTER TABLE或CREATE INDEX建立的索引。
可以在单一字段上使用 NOT NULL,或在用于单一字段或多重字段(名为 CONSTRAINT) 的 CONSTRAINT 子句中使用 NOT NULL。但是,一个字段只能使用一次 NOT NULL 限制。尝试多次应用此限制将导致运行错误。
参考技术C

如果要在数据表中添加一个字段,应该如何表示呢?下面就为您介绍表添加字段的SQL语句的写法,希望可以让您对SQL语句有更深的认识。

    通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数。

    增加字段: alter table [表名] add 字段名 smallint default 0 增加数字字段,整型,缺省值为0。

    alter table [表名] add 字段名 int default 0 增加数字字段,长整型,缺省值为0alter ;table [表名] add 字段名 single default 0 增加数字字段,单精度型,缺省值为0alter ;table [表名] add 字段名 double default 0 增加数字字段,双精度型,缺省值为0alter ;table [表名] add 字段名 Tinyint default 0 增加数字字段,字节型,缺省值为0alter;

    table [表名]add 字段名 text [null] 增加备注型字段,[null]可选参数alter;

    table [表名]add 字段名 memo [null] 增加备注型字段,[null]可选参数;

    alter table [表名] add 字段名 varchar(N) [null] 增加变长文本型字段大小为N(1~255);

    alter table [表名] add 字段名 char [null] 增加定长文本型字段大小固定为255;

    alter table [表名] add 字段名 Datetime default 函数增加日期型字段,其中函数可以是 now(),date()等,表示缺省值;

    PS:(上面都是最常用的,还有其他的属性,可以参考下面的数据类型描述)

    删除字段: alter table [表名] drop 字段名,

    修改变长文本型字段的大小:alter table [表名] alter 字段名 varchar(N)。

    删除表: drop table [表名]。

    创建表:sql="CREATE TABLE [表名] ([字段1,并设置为主键] int IDENTITY (1, 1) NOT NULL CONSTRAINT PrimaryKey PRIMARY KEY,"&

    "[字段2] varchar(50),"&;

    "[字段3] single default 0,"&;

    "[字段4] varchar(100) null,"&;

    "[字段5] smallint default 0,"&;

    "[字段6] int default 0,"&;

    "[字段7] date default date(),"&;

    "[字段8] int default 1)";

    conn.execute sql。

    有null 的表示字段允许零长。

参考技术D ALTER TABLE employee(表名) ADD COLUMN post(字段名) varchar(20)

把 COLUMN 去掉,正解为:
ALTER TABLE employee ADD post varchar(20)

如何用SQL语句将数据库中的表的某一时间型字段的默认值设置为当前日期

1、如果是创建新表格,创建的SQL语句添加:datetime default getdate() ,即新增行,默认当前日期。

比如:

CREATE TABLE a2(
bh int IDENTITY NOT NULL, 
rq datetime default getdate() , 
CONSTRAINT p_a2 PRIMARY KEY NONCLUSTERED (bh)) ;

2、如果是已创建的表格datetime字段,insert into语句中直接赋值getdate()。

比如: 

insert into 表格名 (rq) values (getdate());
参考技术A 假设表名为aaa,字段名为dt,语句为:
ALTER TABLE aaa ADD CONSTRAINT
DF_aaa_dt DEFAULT getdate() FOR dt

这样aaa的dt字段默认值就是当前系统日期了
参考技术B 设为getdate()即可。 参考技术C update 表名 set 字段名 = getdate() 参考技术D 默认值设为getdate()本回答被提问者和网友采纳

以上是关于如何用Sql语句添加字段?的主要内容,如果未能解决你的问题,请参考以下文章

如何用Sql语句添加字段?

如何用标准SQL语句给一张表中添加多个字段

如何用sql语句将sql中的一个字段导出到文本文件?

如何用sql语句,判断数据库中某字段的内容,包含于某字符串

oracle数据库中如何用sql语句查出重复字段以及如何删除?

如何用SQL语句查询一个数据表所有字段的类型