inset语句
定义:往表中插入数据。
语法格式:
insert into 哪个表 (字段名,…)values (值,…)
例子:
insert into
student(id,name,gradeid,age) values(‘1’,‘libo’,‘1’,‘20’);
也可以一次插入多条数据,如下
insert into
student(name) values (‘zhao’),(‘sun’),(‘su’);
没错,只需要再后面用逗号把值分隔开就行了,values (‘值’),(‘值’),…
需要注意的是,字段和值必须是一一对应的,并且如果字段设置了非空,则必须要有该字段。
字段也是可以省略的,但是后面的值必须要一一对应,即使是有默认值,自增也不能省略
insert into
studentvalues (‘5’,‘yang’,‘1’,‘18’);
update语句
语法格式:
update 表名 set 字段=值 where 条件
修改年龄为20的人的名字
update student setname=‘li’ whereage=20;
如果我们不加条件的话就是默认修改所有数据
update student setname=‘li’;
修改多个数据,用逗号隔开就可以了
update student setname=‘li’,gradeid=2 whereage=20;
我们也可以添加多个条件
update student setname=‘li’ whereage=20 andname=‘zhao’;
我们也可以设置为一个变量的值
update student setbirthday=current_time whereage=20 andname=‘zhao’;
where语句相当于if(),where后面的是条件
delete语句
删除数据
语法格式:
delete from 表名 where 条件;
避免这样写,这样写是删除所有数据
delete fromstudent
正确写法
delete fromstudentwhereid=3;
truncate语句
清空数据库
语法格式:
truncate 表名;
delete和truncate语句的区别
相同点:都可以删除数据,并且不会改变表的结构和索引
不同:
- truncate会重置自增,将计数器归零
- truncate不会影响事务
- 如果你使用的是INNODB引擎的话,使用delete清空之后重启一下mysql,自增就会从1开始,因为INNODB是存在于内存中的。如果你使用的是MyASIM引擎,则会接着上一个自增开始,因为MyASIM是存在文件中的。
本文详细介绍了SQL中的数据插入、更新、删除和清空表操作。通过示例展示了如何使用INSERT插入单条及批量数据,UPDATE修改特定条件的数据,DELETE删除指定条件的数据,以及TRUNCATE清空表内容。特别指出,TRUNCATE会重置自增列并比DELETE执行更快,但不适用于部分删除数据的情况。

491

被折叠的 条评论
为什么被折叠?



