--增--
/*增加列*/
alter table 表名
add 列名 varchar(20) check(你的约束条件);
如:在学生情况表中增加一个Email列,要求检查输入的是否为Email;
alter table 学生情况表
add Email varchar(20) check(Email like ('%@ %.com'));
/*增加唯一约束*/
alter table 表名
add constraint 约束名 unique(列名)
如:对学生情况表增加约束条件,要求姓名唯一
alter table 学生情况表
add constraint un_name unique(姓名)
/*增加check约束*/
alter table 表名
add check(你的约束)
如:对课程表增加约束,要求学分取值范围为1-4
alter table 学生课程表
add check(学分 between 1 and 4)
/*增加主键*/
这个地方要注意,你必须需要确保你设置的列不能有空值,在设置之前还先执行以下语句
(如果该列已经设置成not null了,请忽略)
alter table 表名
alter column 列名 数据类型 not null
//再执行
alter table 表名
add constraint 你自己定义的主健名 primary key (列名)
/*增加外键*/
设置成外键的列在主表和从表中的数据类型要一样,从表中的数据要是在主表中的
alter table 从表名 add constraint 你自己定义的外健名 foreign key(要设置的列)
references 主表名 (要设置的列)
/*增加某一行数据*/
insert into (表名)(列名1,列名2)
values
('00051','李明')
--删--
/*数据库中常用的删除通常有两种方式,一种是delete,一种是drop,前者不会改变结构,删除的是内容,而drop会改变成结构,相当于清理了它的物理空间*/
如:删除某列(删除的不能是主健列)
alter table 学生情况表(表名)
drop column 性别(列名)
/*删除约束*/
alter table 学生课程表
drop constraint CK__学生课程表__学分__117F9D94(约束名)
/*删除某个表*/
drop table Student//整个表的定义,结构都没得了
而
delete from student //删除这个表中的内容
/*删除视图*/
drop view s_dept01(视图名)
--改--
/*将teacher表学号为00001的score加一,使用update时记得指定条件,不然改的就是整个表的了/
update teacher(表名)
set score=score+1
where sno='00001'
/**修改表名,将grade表修改成sc*/
EXEC sp_rename 'grade','SC';
/*修改列名**/
EXEC sp_rename ‘[原有列名]’, ‘[新列名]' , 'COLUMN';
此外,还有改列的数据类型,这种情况比较复杂,为了避免文章篇幅长,写在另一篇文章中
--查--
/*查个某个表*/
select* from (表名)
如果指定是表上的某些列
select 列名1,列名2 等等 from (表名)
需要满足哪些条件加上where
select 列名1,列名2 等等 from (表名) 【where (需要满足哪些条件)】
/*查约束*/
select * from sysobjects where parent_obj in(select id from sysobjects where name='表名')
或者
exec sp_helpconstraint @objname='表名'
/*查某个表上的索引*/
exec sp_helpindex (表名)
/*查视图*/
exec sp_helptext '视图名'