SQL server中常见的增,删,改,查的操作

版权声明:欢迎转载评论~哈哈哈哈请标明出处呀 https://blog.csdn.net/legendaryhaha/article/details/80383524
--增--
/*增加列*/
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 '视图名'


猜你喜欢

转载自blog.csdn.net/legendaryhaha/article/details/80383524