首页 > 开发 > 综合 > 正文

SQL增删查改注意的事项

2024-07-21 02:46:49
字体:
来源:转载
供稿:网友
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触发器;


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表