三、表数据的基本操作
插入数据表
注:按照规定操作符应该大写的,但是读起来有点费力,改用小写
insert语句的3种方式
- insert into <表名> [<列名1>[,…<列名n>]]value(值1)[…,(值n)];
1
2
3
4insert into
mytest.students(student_name, student_sex, student_age,student_major)
values('张三','1','24','化学专业'),
('王五','1','23','数学专业'); - insert … set 语句
1
2insert into mytest.students
set student_name="李明", student_sex=default, student_age=22, student_major="数学专业" - insert … select语句
1
2
3
4insert into mytest.students
(student_name, student_sex, student_age, student_major)
select student_name, student_sex, student_age, student_major
from mytest.students_copy
- insert into <表名> [<列名1>[,…<列名n>]]value(值1)[…,(值n)];
replace语句
当插入数据与已有数据主键重复,需要使用replace语句,同样也有三种形式。
1
2
3
4insert into mytest.students
values(1320,'李芳','1','22','计算机专业','12345678912')
replace into mytest.students
values(1320,'李芳','1','26','会计专业','12345678912')
删除表数据
- 使用DELETE语句从单个表中删除数据
delete from <表名>[where语句][order by][limit]
- where语句,限定删除条件,若省略删除该表中的所有行
- order by, 按照一定顺序进行删除
- limit, 删除行的最大值
1
2delete from mytest.students
where student_name='王丽';
- 使用DELETE语句从多个表中删除数据
delete <表名> from <表1,表2,…,表n>[where子句]
- 该命令删除位于from子句前表中的数据行
1
2delete tb1, tb2 from tb1, tb2, tb3
where tb1.id = tb2.id and tb2.id = tb3.id;
- 该命令删除位于from子句前表中的数据行
- 使用truncate语句删除表数据
truncate table <表名>
- truncate速度要比delete快因为它是先删除原来的表,并再重新创建一个表
- 与不带where的delete语句一样
- 占用的事务日志资源更少
修改表数据
- 使用update语句修改单个表单
update <表名> set 字段1=值1[, 字段2=值2…] [where子句] [order by] [limit]
1
2
3update mytest.students
set student_age=23, student_major='物理专业'
where student_name='张三'; - 使用update修改多个表
update <表1,表2> set 列名1=值1[,列名2=值2,…][where子句]
1
2
3update tb1,tb2
set tb1.name='李明', tb2.name='王伟'
where tb1.id=tb2.id;
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 年轻没有梦!
评论