SQL增删查改注意的事项

 

一.新增

1.增加的时候,bit字段要用“0,1”表示false,和true;

 

2.时间字段,用单引号包括,里面要遵循基本时间格式;

 

3,不能为标识列(自动编号列)插入数据(特殊情况下:set identity_insert 表名 on)

 

4.可以把“列”直接拖出来;

 

5,insert into 表(列名1,列名2,...列名n)values(值1,值2,....值n),插入数据的时候,可以省略表后面的列名,但是不推荐。

 

6.不能为非空字段插入空值;

 

7.插入字符的时候,一般都会在字段前面带上‘N’

二.修改

1.修改一个字段

update 表1 set 字段1=值1;    例如: update student set name=‘王八蛋‘;  ---把student表的name都改为王八蛋

 

2.修改多个字段

update 表1 set 字段1=值1,字段2=值2,...字段n=值n ;   --修改多个字段,字段之间间用逗号区分

 

3.根据条件修改

update 表1 set 字段1=值1 where name=‘王八蛋’;    --修改名字为王八蛋的字段1的值 

 

4.根据主键修改------效率要高很多

update 表1.set 字段1=值1 where id=1;      --where中还可以使用复杂的逻辑判断

 update student set age=22,name=‘王八羔子‘ where sex=‘男‘ and age>34;     --where 后面可以有多个条件判断,多个条件,中间用空格and隔开

 

5.and  和or的区别

5.1 and

 update student set age=22,name=‘王八羔子‘ where sex=‘男‘ and age>34; ---都要满足,where后面可以有无数个and

 

5.2 or

UPDATE dbo.MyStudent 
SET S_Age=999 
WHERE S_Name=‘王八蛋‘ 
OR 
S_Name=‘王八蛋1‘ 
OR S_Name=‘王八蛋2‘
OR S_Name=‘王八蛋3‘
OR 
S_Name=‘王八蛋4‘

说明:or是或者的意思,where后面也可以跟无数个or

 

6.and 优先于or执行

技术分享

 

7.where中可以使用其他的逻辑运算符:(||)or  ,(&&) and,  !(not) ,> , <,  >=,  <=,  <>(不等);

 

8.SQL中,对空值的判断,使用:where 字段 is  null,不能用where 字段=null;   同样,对于不是空值,可以使用  is  not  null;

 

9.修改空格字段,可以使用update 字段=值 where 字段=‘ ‘,注意单引号之间是空格哦;   ,空字符串是‘‘

 

10.不等于有两个,!=和<>

 

 

三.删除

1.delete from 表名;----删除所有行,不对表结构做任何修改(删除表中全部数据);

2.delete只是删除数据,表还在,和drop不同;

3.delete也可以带where条件,来删除一部分数据,例如:delete from student where age>20;

4.truncate table student(表名)的作用与delete from student 作用一样,都是删除表中的全部数据,区别在于:

*truncate语句非常高效,由于truncate操作采用按最小方式来记录日志,所以效率非常高,对于数百万条数据使用truncate删除,只要几秒钟,而delete则可能耗费几小时。

*truncate会把表中的自动编号,重置为默认值;

*truncate语句不触发delete触发器;

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。