数据库之表的增删查改详解

一、表的增加

语法:insert into table_name[(column[,column…])] values (value [,value…]);
举例:
1、建如下表:
这里写图片描述
2、插入数据
这里写图片描述
使用添加语句注意的细节:
(1)插入的数据应与字段的数据类型相同。比如,将‘2a’插入到id列就不行:
这里写图片描述
还有一些我们之前用过的一些细节:
(2)数据的大小应在规定的范围内,例如:不能将一个长度为80的字符串插入到长度为40的列中。
(3)在values中列出的数据位置必须与被加入的列位置相对应。
(4)字符和日期类型应该包含在单引号中。
(5)插入空值,不指定或insert into table values(null)
(6)insert into table values(),(),() 一次性添加多条记录
(7)如果给表中的所有字段添加数据,可以不写前面的字段名称
(8)如果你只给表的某几个字段赋值,则需要制定字段名

增加进阶

我们上面已经讲过,在数据插入的时候,假设主键对应的值已经存在,则会插入失败。
我们可以选择性的进行处理:
1、更新-update
语法:insert into 表名(字段列表) values(值列表) on duplicate key update 字段=新值;
举例:
表如下:
这里写图片描述

更新数据:
这里写图片描述
2、替换
主键如果没有冲突,就直接插入。
语法:replace into 表名(包含字段) values(值列表);
eg:
这里写图片描述

二、修改

更新表中的数据
语法:
update tbl_name set col_name1=expr1, [col_name2=expr2 …] [where conditon]
举例,用以上tt7,将所有name改为小红:
这里写图片描述
将id为2的name改为小刚:
这里写图片描述
通过上述例子我们知道:
update语法可以用新值更新原有表中的各列
set子句指示要修改哪些列和要给予哪些值
where子句指定应更新哪些行。
(如果没有where子句,则更新所有行,如果需要更新多个字段,可以通过 set 字段1=值1,字段2=值2…)
我们还可以限制修改个数:
语法:update 表名 set 字段=值 [where 条件] [limit 更新数量];
如下:
这里写图片描述

删除

语法:
delete from tbl_name [where condition]
这里写图片描述
我们需要注意:
(1)无where条件全部删除,是一行一行删。
(2)带where属性,删除满足条件的数据
(3)delete只删除数据,见上图,不会影响表结构(drop table)。
若全部删除,我们可以了解另一个命令:
truncate table 表名:直接把文件大小变为0。
我们就可以总结,
上述两种删除整表的区别:
(1)效果一样,truncate速度快
(2)delete可以带where条件,删除更加灵活
(3)delete可以返回被删除的记录数,而truncate返回0
(4)推荐使用delete

select

见下篇文章
这里写链接内容

猜你喜欢

转载自blog.csdn.net/baidu_37964071/article/details/80295813
今日推荐