一文带你学透SQL语言的核心之DML操作

 更新时间:2023年06月07日 10:44:24   作者:陈橘又青  
DML(Data Manipulation Language)是SQL语言的核心部分,其主要用于对数据库的数据进行增删改查,在学习数据时,学习DML操作是必不可少的一部分,本文就带大家详细了解SQL语言的核心DML操作,需要的朋友可以参考下

我们已经基本学会了写SQL来操作数据库,但在命令行中写SQL时,往往有体验感差,效率低等问题,今天开始我们就学习一下在MySQL的图形化客户端Navicat中执行SQL语句

Navicat 为数据库管理、开发和维护提供了一款直观而强大的图形界面,大大的提高了工作效率,建议在学习中也使用这款开发工具。接下来,在Navicat中新建查询,我们就可以编写SQL并且执行SQL语句了。

1.添加数据

给指定列添加数据:

insert into 表名(列名1,列名2...) values(值1,值2...);

​​​​​给全部列添加数据:

insert into 表名 values(值1,值2...);

批量添加数据:

insert into 表名(列名1,列名2...) values(值1,值2...),(值1,值2...),(值1,值2...)...;

批量添加数据(省略字段名):

insert into 表名 values(值1,值2...),(值1,值2...),(值1,值2...)...;

在开发过程中添加数据的时间是不建议省略字段名的,这样降低了代码的可读性,使效率下降。下面是添加数据的小案例:

查询表中的所有数据的方法是:

select * from 表名;

后面会用到的。

需求:往下面的tb_user表中添加一条数据。

insert into tb_user(id,name) values(2,'李四');

添加成功:

2.修改数据

修改表的数据:

update 表名 set 列名1=值1,列名2=值2...[where 条件];

在修改数据时,也可以不使用where条件,此时的操作是修改整列数据,这样的操作是很危险的。

需求:把下面tb_user表中的张三的密码改为abc23

update tb_user set passwor d ='abc123' where name='张三';

修改成功:

3.删除数据

删除表的数据:

delete from 表名 [where 条件];

在删除某条数据时,如果不使用where条件,将会导致删除整个表的数据。

需求:删除tb_user表中的李四记录。

delete from tb_user where name='李四';

操作成功:

4.查询数据

下面给出一些SQL语言的DML查询数据的例子:

  • 查询student表中所有数据
SELECT * FROM student;
  • 查询student表中所有年龄大于等于18岁的学生数据
SELECT * FROM student WHERE age >= 18;
  • 查询student表中男生(gender为’男’)的平均年龄
SELECT AVG(age) FROM student WHERE gender = '男';
  • 查询student表中年龄最大的学生的信息
SELECT * FROM student WHERE age = (SELECT MAX(age) FROM student);
  • 查询student表中,各性别(gender)的学生数量
SELECT gender, COUNT(*) FROM student GROUP BY gender;
  • 查询student表中,年龄排名前三的学生的姓名和年龄
SELECT name, age FROM (
    SELECT name, age, RANK() OVER (ORDER BY age DESC) AS rank
    FROM student
) AS tbl WHERE rank <= 3;

上面这些例子涉及到了查询全部数据、条件查询、聚合函数、子查询、分组和排序等多种查询方式。在实际应用中,可根据需要选择不同的查询方式来获取所需的数据。

5.注意事项

  • 在学习DML操作时,需要注意以下几点:
  • 注意SQL语句的语法和格式,不要犯错。
  • 在进行数据修改操作时,一定要谨慎,尤其是DELETE语句,一定要确认数据删除的范围和内容。
  • 在进行数据查询操作时,要明确查询的条件和要检索的列名,以避免不必要的查询负担。
  • 在进行复杂查询操作时,要深入理解SQL语言的实现原理和查询优化技术,以提高数据操作效率和质量。

6.总结

学习DML操作是学习数据操作的重要基础步骤,只有熟练掌握并灵活运用DML操作,才能更好地管理和利用数据。

到此这篇关于一文带你学透SQL语言的核心之DML操作的文章就介绍到这了,更多相关SQL语言之DML操作内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySql如何查看索引并实现优化

    MySql如何查看索引并实现优化

    这篇文章主要介绍了MySql如何查看索引并实现优化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • MySQL数据库子查询 sub query

    MySQL数据库子查询 sub query

    这篇文章主要介绍了MySQL数据库子查询 sub query,子查询指嵌套查询下层的程序模块,当一个查询是另一个查询的条件的时候,更多相关内容需要的小伙伴可以参考一下下面文章内容介绍
    2022-06-06
  • 详解MySQL误操作后怎样进行数据恢复

    详解MySQL误操作后怎样进行数据恢复

    在大家日常操作数据库时候难免会因为“大意”而误操作,那么误操作后怎样进行数据恢复呢,下面跟着小编一起来学习学习。
    2016-08-08
  • MySQL一次性创建表格存储过程实战

    MySQL一次性创建表格存储过程实战

    这篇文章主要介绍了MySQL一次性创建表格存储过程实战,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-07-07
  • 一文带你理解MySql中explain结果filtered

    一文带你理解MySql中explain结果filtered

    使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的,下面这篇文章主要给大家介绍了关于MySql中explain结果filtered的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • MySQL数据库遭到攻击篡改(使用备份和binlog进行数据恢复)

    MySQL数据库遭到攻击篡改(使用备份和binlog进行数据恢复)

    这篇文章主要介绍了MySQL数据库遭到攻击篡改(使用备份和binlog进行数据恢复),需要的朋友可以参考下
    2016-04-04
  • MySQL 5.7忘记root密码后修改的详细教程

    MySQL 5.7忘记root密码后修改的详细教程

    因为长时间不操作mysql而忘记root密码的朋友估计不在少数,最近发现在MySQL 5.7版本下用之前的方法修改密码不能成功了,所以只能重新想办法解决,下面这篇文章主要给大家介绍了MySQL 5.7忘记root密码后修改的详细教程,需要的朋友可以参考。
    2017-05-05
  • MySQL优化insert性能的方法示例

    MySQL优化insert性能的方法示例

    对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长。下面这篇文章主要给大家介绍了关于MySQL优化insert性能的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-06-06
  • MySQL处理重复数据的方法

    MySQL处理重复数据的方法

    这篇文章主要介绍了MySQL处理重复数据的方法,处理重复数据包括防止表中出现重复数据、统计重复数据、过滤删除重复数据,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • MySQL单表存多大的数据量比较合适

    MySQL单表存多大的数据量比较合适

    MySQL数据库在处理大规模数据时,性能会受到影响,这时候就需要考虑分库分表策略,本文就来介绍一下MySQL单表存多大的数据量比较合适,感兴趣的可以了解一下
    2024-11-11

最新评论