修改表
1、表结构修改
1.添加字段
alter table biao1
add sex char(4)
alter table biao1
add age int check(age>=18, and age<=50)
alter table 表名
add 新字段名 数据类型 约束
如果表是空表,新添加的字段可以设置约束非空,如果表中有数据,则不能设置非空约束。
2.删除字段
alter table biao1
drop column sex
语法格式:
alter table 表名
drop column 字段名
被删除的字段不能被其他表引用,不能被检查约束引用。被删除的字段中的数据将会丢失,如果没有做备份,则无法恢复。
2、字段修改
1.修改字段名
exec sp_rename 'biao1.name', 'names'
exec sp_help biao1
exec 可执行进程调用
格式:
exec sp_rename '表名.旧字段名','新字段名'
2.修改字段数据类型
alter table biao1
alter column sex char(4)
语法格式:
alter table 表名
alter column 字段名 数据类型 约束
没有数据时,字段类型可以随意修改,当有数据时,必须保证数据的兼容性。任何类型数据都能转换为字符串,而字符串不能转换为其他数据类型。
3.添加约束
添加非空,
alter table biao1
alter column sex char(4) not null
删除非空约束
alter table biao1
alter column sex char(4) null
添加主键约束
语法格式:
alter table 表名
add constraint 约束名 约束类型 添加约束的字段名
alter table biao1
add constraint pk_id primary key(id)
删除主键约束:
alter table 表名
drop constraint 约束名
添加唯一约束:
alter table biao1
add constraint unq_name unique(names)
添加默认约束:
alter table biao1
add constraint def_sex default '男'for sex
alter table biao1
add constraint chk_age check(sex='男' or sex='女')
添加检查约束:
alter table biao1
add constraint chk_age check(age>=18 and age<=50)
添加外键约束:
alter table biao1
add constraint fk_id foreign key(id) references biao2(id)
3、数据修改
1.添加数据 insert
insert into 表名 (字段名,字段名2,....)values(数值1,数值2,....)
字段名物理排序:创建表时,设置的字段顺序。使用sp_help查看表时显示的字段顺序。
字段名的顺序与数值的顺序要相对应,数量也有相对应。
insert into biao1 (id,name,age,sex,uuid) values(1,'张飞',20,'男',1)
insert into biao1 (id,uuid,sex,name,age) values(2,2,'nan','liukang')
insert into 表名 values (数值1,数值2,....)
没有定义字段名,数据按照字段名的物理排序进行添加】
连续添加多行数据:
格式1:
insert into 表名 (字段名,字段名2,....)values(数值1,数值2,....),(数值1,数值2,....),(数值1,数值2,....)
格式2:
insert into 表名 (字段名1,字段名2,...) select 数值1,数值2,...
union select 数值1,数值2,...
2.修改数据 update
格式:
update 表名 set 字段名=新数据 where 查询条件
update biao1 set sex='女' where name='孙悦'
3.删除数据 delete
格式:
delete from 表名 where 查询条件
删除所有数据: delete from 表名
delectable from biao1 where id
4.删除表
drop table biao1