您现在的位置是:首页 >学无止境 >带你学透SQL语言的核心——DML操作网站首页学无止境
带你学透SQL语言的核心——DML操作
0️⃣写在前面
DML(Data Manipulation Language)是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操作,才能更好地管理和利用数据。