如何用Sql语句添加字段?

如何用Sql语句添加字段?,第1张

通用式: 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 的表示字段允许零长

sql_server都支持中文字段,你这样编写代码,不是累死了,你需要建立一张对应表,每次SQL的拼接需要先去这张对应表取到你所要的字段名称。

不知道你为什么这么做,我的方法是:

建立学科表,字段如下,ID,学段,学科名称

学段指的是这门课是哪个年级的同学上的。

然后存储成绩的时候则为:ID,姓名,学科ID(或者学科名称),成绩,时间,学段。

由于学段是一年一年累加的,所以,不用在学生信息表中增加学段这个字段。否则你会需要每年都去改一次他的学段。你只需要记录他的入学日期就行了。

学生的成绩统计表则为:学生,学科名称(转化下),时间,成绩。然后根据时间来确定是哪次考试,做一个选择。学段来确定他是需要取的是学生的历史成绩表还是当年成绩表,也做一个选择。

比较麻烦的是任课老师的教学情况表,这个你需要再起一个教师教学情况表,然后ID,教师名,任课名称,任课时间。这个表不能被修改,否则你都不知道老师教过哪些班级,每次都增加一条。做错了,删除后再增加。通过任课时间去关联考试时间,得出他相对应的主持的考试。

暂时就这么点,其他的,再说吧。

alter table只允许添加满足下述条件的列:

列可以包含空值;

或者列具有指定的 default 定义;

或者要添加的列是标识列或时间戳列;

或者,如果前几个条件均未满足,则表必须为空以允许添加此列。

下面:表名是 "table1",以下方法都可以插入一个非空列

方法一:

alter table table1

add BZ nvarchar(50) not null

方法二:

alter table table1

add BZ nvarchar(50) not null default('默认值')

方法三:

alter table table1

add BZ int identity(1,1) not null

希望对你有所帮助!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7978737.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存