![如何用Sql语句添加字段?,第1张 如何用Sql语句添加字段?,第1张](/aiimages/%E5%A6%82%E4%BD%95%E7%94%A8Sql%E8%AF%AD%E5%8F%A5%E6%B7%BB%E5%8A%A0%E5%AD%97%E6%AE%B5%EF%BC%9F.png)
通用式: 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
希望对你有所帮助!
评论列表(0条)