如何用Sql语句添加字段?

Posted

tags:

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

通用式: 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 USE
bankDB
GO
CREATE
TABLE
cardInfo
(
cardID
varchar(19)
not
null,
--卡号
curType
varchar(10)
not
null,
--货币种类
默认为人民币
savingType
varchar(8)
not
null,
--存款类型
活期、定期
openDate
datetime
not
null,
--开户日期
openMoney
money
not
null,
--开户金额
balance
money
not
null,
--余额
pass
int
not
null,
--密码
6位数字,默认为6个‘8’
IsReportLose
char(2)
not
null,
--是否挂失
默认为“否”
customerID
int
not
null
--顾客编号,外键(一位顾客允许办理多张卡)
)
go
ALTER
TABLE
cardInfo
ADD
CONSTRAINT
PK_cardID
PRIMARY
KEY(cardID),
CONSTRAINT
CK_cardID
CHECK(cardID
LIKE
'1010
3576
[0-9][0-9][0-9][0-9]
[0-9][0-9][0-9][0-9]'),
CONSTRAINT
DF_curType
DEFAULT('人民币')
FOR
curType,
CONSTRAINT
DF_openDate
DEFAULT(getdate())
FOR
openDate,
CONSTRAINT
CK_openMoney
CHECK(openMoney>=1),
CONSTRAINT
CK_balance
CHECK(balance>=1),
CONSTRAINT
DF_pass
DEFAULT('888888')
FOR
pass,
CONSTRAINT
DF_IsReportLoss
DEFAULT('0')
FOR
IsReportLose,
CONSTRAINT
FK_customerID
FOREIGN
KEY(customerID)
REFERENCES
userInfo(customerID)
GO
参考技术B ALTER
TABLE
employee(表名)
ADD
COLUMN
post(字段名)
varchar(20)

COLUMN
去掉,正解为:
ALTER
TABLE
employee
ADD
post
varchar(20)
参考技术C 语法
ALTER
TABLE

ADD
ADDCOLUMN
字段类型
[
(字长)]
[NOT
NULL]
[CONSTRAINT
索引
]
|
ALTER
COLUMN
字段类型
[(字长)]
|
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
限制。尝试多次应用此限制将导致运行错误。

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

ALTER TABLE 语句

ALTER TABLE 语句用于在已有的表中添加、修改或删除列。

如需在表中添加列,请使用下列语法:

ALTER TABLE table_name
ADD column_name datatype

实例:

/*ALTER TABLE 增加多个字段 */
ALTER TABLE TABLE_USER ADD 
 DEPARTMENT_ID INT NOT NULL
,COMPANY_ID INT NOT NULL
,TEMP_COL NVARCHAR(10)
;
参考技术A alter table b_en_zh add edict MEDIUMTEXT,
add rootsaffixes MEDIUMTEXT,
add simple_means MEDIUMTEXT,
add sanyms MEDIUMTEXT
;
参考技术B alter table 表名 add columns 字段名 约束条件 参考技术C

CREATE   TABLE   test   (column_a   INT)                 --建立数据库 

GO  

ALTER   TABLE   test   ADD   column_b   VARCHAR(20)   NULL   --增加

GO  

======================================================

alter   table   表名   add   列名   varchar(2)        --增加  

alter   table   表名   drop   column   列名           --删除

alter   table   表名   alter   column   列名          --修改   

alter   table   表名   rename   column   原列名   to   新列名   --修改列名

alter   table   表名   add   新列名   新列数据类型

SQL语句无论是种类还是数量都是繁多的,很多语句也是经常要用到的,SQL查询语句就是一个典型的例子,无论是高级查询还是低级查询,SQL查询语句的需求是最频繁的。

参考技术D create table userinfo

(
id int primary key not null identity (1,1),

[name] char(20) unique,
age int check(age>10),
sex char(2)
)

建议一个名叫userinfo的表,字段为

id ,自动+1,主键,不为空!
name ,char(20) 不重复!
age int类型,年龄必须大于10,否则会出现错误!
sex 性别 char(2)

好好学习,天天向上!
转载xing_8888_good他的回答

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

如何用Sql语句添加字段?

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

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

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

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

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