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’
8.可以有默认值。default
二.修改
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触发器;