mysql 数据操作 增删改查
操作管理语句应用实践(DML)
数据操作语言(DML),主要针对数据库里的表里的数据进行操作,用来定义数据内容信息(数据);
1增加数据内容信息(insert)
# 数据表数据插入命令语法
mysql> insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )];
-- 属于表内容信息变更操作,需要按照表结构预先定义好的字段信息插入
实际操作命令演示:
# 具体实际操作过程
mysql> desc stu1;
mysql> insert into stu1(id,name,age,dept) values(1,'baimei',35,'net sec');
-- 插入单行信息标准方法(信息输入不要重复,且特定信息不要为空)
mysql> insert into stu1(id,name,age,dept) values(0,'baimei',35,'net sec');
mysql> insert into stu1(id,name,age,dept) values(null,'baimei',35,'net sec');
-- 插入单行信息标准方法(自增列信息可以填入0或null,表示默认实现自增效果)
mysql> insert into stu1 values(2,'oldgirl',25,'linux');
-- 插入单行信息可以不含有表字段信息
mysql> insert into stu1 values(03,'littlegirl',2,'net sec'),(04,'littleboy',1,'Linux');
-- 插入多行信息可以不含有表字段信息
mysql> insert into stu1(name,age) values('baimei',35);
-- 插入当行信息可以只含部分字段信息,但是省略字段信息必须具有自增特性 或 可以为空 或有默认值输入
mysql> insert into stu1 values(6,'老男孩',32,'python,linux,net sec');
-- 插入中文信息
# 检查信息是否插入成功
mysql> select * from stu1;
2修改数据内容信息(update)
修改命令语法格式:
# 数据表数据修改命令语法
mysql> update 表名 set 字段=新值,... where 条件;
-- 属于表内容信息变更操作,需要按照表结构预先定义好的字段信息修改,并且按照条件修改,默认全表修改
实际操作命令演示:
# 具体实际操作过程
mysql> update stu1 set name="zhangsan" where id=6;
-- 修改表数据内容标准方式,修改时一定要加条件信息(条件信息建议为主键或具有唯一性信息)
# 检查信息是否修改成功
mysql> select * from stu1;
3删除数据库中数据信息:
删除命令语法格式:
# 数据表数据删除命令语法
mysql> delete from 表名 where 表达式;
-- 属于表内容信息变更操作,需要按照表结构预先定义好的字段信息删除,并且按照条件删除,默认全表删除
实际操作命令演示:
# 具体实际操作过程
mysql> delete from stu1 where id=6;
mysql> delete from stu1 where id<3;
mysql> delete from stu1 where age=2 or age=1;
mysql> delete from stu1;
-- 删除表信息时,如果不加条件会进行逐行删除全表信息(效率比较慢)
# 检查信息是否删除成功
mysql> select * from stu1;
删除数据库信息扩展:伪删除操作
由于执行删除语句信息时,有可能会对一些业务数据造成影响,甚至可能会将表中所有数据清空,虽然可以通过日志信息恢复(闪回)
但是整体操作过程还是比较危险的,因此在进行数据信息删除操作时,可以利用伪删除操作代替真实删除操作;
一般在数据库中删除数据信息,是因为从业务层面有些数据不想被查询获取到,伪删除就是不让查询时可以获取想要删除的数据;
伪删除的本质:利用update替代delete
可以在相应表中添加状态列信息,可以将状态列设置为:1表示存在 0表示不存在
在进行伪删除操作时,只是将状态列信息改为0,但是并没有把相应行的数据信息删除,但是在查询时可以忽略状态列为0的信息;
这样可以有效规避误删除操作对业务数据的影响,万一伪删除操作有问题,可以再将状态列信息0改为1即可
删除数据库信息扩展:伪删除操作
由于执行删除语句信息时,有可能会对一些业务数据造成影响,甚至可能会将表中所有数据清空,虽然可以通过日志信息恢复(闪回)
但是整体操作过程还是比较危险的,因此在进行数据信息删除操作时,可以利用伪删除操作代替真实删除操作;
一般在数据库中删除数据信息,是因为从业务层面有些数据不想被查询获取到,伪删除就是不让查询时可以获取想要删除的数据;
伪删除的本质:利用update替代delete
可以在相应表中添加状态列信息,可以将状态列设置为:1表示存在 0表示不存在
在进行伪删除操作时,只是将状态列信息改为0,但是并没有把相应行的数据信息删除,但是在查询时可以忽略状态列为0的信息;
这样可以有效规避误删除操作对业务数据的影响,万一伪删除操作有问题,可以再将状态列信息0改为1即可
4查:
参考
mysql group by 实战 : 连接
mysql 多表查询 :连接