51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

mysql 数据操作 增删改查 (insert, update ,select ,delete)

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 多表查询 :连接

赞(7)
未经允许不得转载:工具盒子 » mysql 数据操作 增删改查 (insert, update ,select ,delete)