数据库基础

删除字段:alter table TableName drop column ColumnName 字段类型
添加字段:alter table TableName add ColumnName 字段类型
修改字段类型:alter table TableName alter column ColumnName 字段类型


添加约束:

添加约束的语法为:
ALTER TABLE 表名
ADD CONSTRAINT 约束名 约束类型  具体的约束说明
常见的约束类型有:
1 主键约束(primary key constraint)
2 唯一性约束(unique constraint)
3 默认约束(default constraint)
4 检查约束(check constraint)
5 外键约束(foreign key constraint)
例如:
alter table student
add constraint pk_stuid primary key (stuid)   //主键约束
 
alter table teacher
add constraint uq_teaid unique(teaid)          //唯一性约束
 
alter table student
add constraint df_stusex default ('男') for stusex  //默认约束
 
alter table student 
add constraint ck_stuage check (stuage between 0 and 100)   //检查约束
 
alter table course
add constraint fk_teaid foreign key(teaid) references Teacher(teaid)  //外键约束
 
注意,在同一张表中建立多个约束
alter table student
add constraint pk_stuid primary key(stuid),
    constraint df_stusex default('男') for stusex,
    constraint ck_stuage check(stuage between 0 and 100)
 
发现一个有趣的现象,sqlserver当用identity语句来对字段进行自增自动生成。如果不是因为insert语句本身的原因(例如:不满足约束条件)导致插入不成功,自增仍会进行。
比如说 stuid identity primary key,(identity默认是identity(1,1)基数为1,增量为1)那么在添加数据的时候,第一个stuid为1,第二个为2,这没错。如果某个增加记录出错,例如 insert into student('zhangsan','nan',12)  (student 表结构为(stuid identity primary key,stuname nvarchar(20),stusex default '男',stuage int)stusex有约束必须为'男'或者'女')那么这句插入语句违反了stusex的约束,插入是不成功的,但下一个插入的数据的stuid则从4开始,insert into student('zhangsan','nan',12)插入的时候自增操作还是进行了的,只不过违反check约束而无法插入。但如果是因为插入语句本身的原因例如insert value('zhangsan','男',12)导致插入不成功,则自增不会进行。
 
 
 
sqlserver操作:
1. 查询表中字段名称:
SELECT Name FROM SysColumns WHERE id=Object_Id('TABLENAME') 
 
2.查询表字段名称及类型:
select sc.name as '字段名', st.name as '字段类型',sc.length from syscolumns sc,systypes st 
where sc.xtype=st.xtype and sc.id in(
select id from sysobjects where xtype='U' and name='TableName'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值