DML语句是指对数据库中表的记录的操作。下面这篇文章主要介绍MySQL基础课程DML语句的相关信息。通过示例代码介绍的非常详细,有需要的朋友可以参考一下。
目录
DML语句1。插入记录2。更新记录3。只需查询记录4。删除记录5。查询记录明细(DQL报表)5.1。查询非重复记录。条件查询5.3。聚合查询5.4。排序查询5.5 .限制查询5.6。连接表查询5.7。子查询5.8。唱片联盟。
DML 语句
DML(数据操作语言)语句:数据操作语句。
用途:用于增加、修改、删除、查询数据库记录,检查数据完整性。
常见关键词:插入、更新、删除、选择等。
DML操作的对象是库表的数据(记录)。
包括插入、更新、删除和选择。
DML语句是开发人员最常用的操作。
1.插入记录
插入记录
插入到表名(字段1,字段2,fieldn)值(值1,值2,valuen);
一次插入多条数据
插入到表名中
(场1,场2,字段n)
价值观念
(值1,值2,valuen),
(值1,值2,valuen);
2.更新记录
更新单个表数据
更新表名设置field1=value1,filed2=value2,fieldn=valuen [where条件]
同时更新多个表的数据
更新t1、t2,tn set t1.field1=expr1,tn.field=exprn [where条件];
通常用于根据一个表中的字段动态更新另一个表中的字段。
注意:括号“[]”表示可选参数,即可选参数。
3.简单查询记录
简单条件查询。符号“*”代表查询所有字段。如果您只想查看某些列,请写下表的列名。
select * from tablename [where条件];
选择字段1、字段2、fieldn from tablename [where条件];
另一个名字
别名列或表名的关键字:作为或不作为关键字。比如:
从表名中选择field1为f1,field2为f2。
从表1中选择t2.field1作为f1,t1.field2 f2作为t1,table2 t2
如果不取别名,则查询结果的列名是表的原始列名;
如果选择别名,则查询结果的列名为别名。
4.删除记录
删除单个表记录
从tablename [where条件]中删除;
同时从多个表中删除数据
删除t1、t2、tn从t1,t2,tn [where条件];
注意:删除没有where条件的所有表数据。
表“添加、更改、检查和删除”操作案例:
多表“删除”操作案例:
再看另一个删除案例。
最后看一个删除案例。
多表删除结论:
如果条件成立,条件表的相应数据将被删除;如果没有条件,将删除整个表;
不满足条件的,一个都不删除。
留个问题:多表删除不给where条件会怎么样?
您可以探索同时更新多个表数据的操作。毕竟有思想的学习才是最有价值的。
5.查询记录详解(DQL语句)
DQL(数据查询语言)是数据库查询语言。
数据库查询语句就像玩积木一样,一块一块拼凑起来,每个方括号“[]”代表一个积木。
首先以递进的方式逐一列出查询语法。
5.1.查询不重复的记录
从表名中选择不同的字段;
Distinct关键字是对“查询结果集”进行去重。让我们看另一个例子。
5.2.条件查询
-查询所有列:
select * from tablename [where条件];
-查询指定的列:
选择[字段1,字段2,fieldn] from tablename [where条件];
常用条件(条件)
等于:字段=xxx
大于:字段xxx
小于:字段xxx
不等于:字段!=xxx
不等于:字段xxx
等于空:字段为空
不等于null:字段不为null
在多个条件之间使用逻辑运算符:and和or。
模糊查询' _ ':字段like _ x _ xx _ symbol' _ '表示匹配单个任意字符。你可以在你喜欢的角色旁边加“_”。
模糊查询“%”:field like % x % xx % symbol“%”表示匹配0~n个任意字符。您可以在您最喜欢的字符旁边添加“%”。
In语句查询:字段in(值1,值2,)查询字段和in数组是否匹配,如果不匹配就没有数据。
在语句查询中:字段不在(值1,值2,)查询字段和in数组是否不匹配,不匹配则有数据。
其他常用条件具体怎么用,参考常用条件来操作。
5.3.聚合查询
-最简单的聚合查询:
选择[字段1,字段2,fieldn]fun _ name from tablename group by field;
-完整语法:
选择[字段1,字段2,fieldn]表名中的fun_name
[where条件]
[按字段1、字段2,field n[带汇总]]
【具备条件】;
描述:
Fun_name代表聚合函数,常用作sum sum()、记录计数(*)、average avg()、maximum max()和minimum min();
【where condition】就是上面提到的条件查询;
[按字段1、字段2,field n[带汇总]]
Group关键字表示字段field被分类和聚集;
With rollup关键字指示是否重新汇总分类和聚合的结果。
【having condition】对分类聚合后的查询结果集进行过滤。
where和having的区别:
分组前的条件过滤在哪里;Having是分组后的条件过滤。
其中,使用原始表列名进行条件筛选;Having是使用查询结果集的列名进行条件筛选。
先选择where条件过滤,可以减少结果集,提高分类聚合效率。
方括号'[]'表示可选的意思,也就是说group by前面的[where条件]是可选的,后面的[with rollup]和[having condition]也是可选的。
group by和distinct的区别:group by对指定的列进行分组;Distinct是对查询结果进行重复数据消除。
添加where和having的示例:
把它列为avg(stu_age)有点奇怪。给他起个个性的名字,一目了然:
5.4.排序查询
-最简单的排序查询:
select * from tablename order by字段;
-完整语法:
选择[字段1,字段2,fieldn]表名中的fun_name
[where条件]
[按字段1、字段2,field n[带汇总]]
[有条件]
[按字段1 [desc|asc],字段2 [desc|asc]排序,fieldn[desc | ASC]];
DESC代表降序(从最大到最小);Asc代表升序(从小到大),ASC是默认排序。也就是说,你所要做的就是记住desc。正好desc是查询表设计的关键词,语法很简单:desctablename
单列排序:
多列排序:只需用符号“,”将它们分开
5.5.limit查询
也称为限制查询、范围查询和分页查询。
-最简单的极限查询:offset_start和数组下标一样,从0开始。
select * from tablename limit offset _ start,row_count。
-Complete语法:此sql是单表查询的完整版本。
选择[字段1,字段2,fieldn]表名中的fun_name
[where条件]
[按字段1、字段2,field n[带汇总]]
[有条件]
[按字段1 [desc|asc],字段2 [desc|asc]排序,fieldn [desc|asc]]
[限制offset_start,row _ count];
示例1:从第1篇文章开始,查询两条数据
示例2:查询第2篇文章中的两条数据。
=========================
=以上是关于单表查询的语法=
=下面是关于两个表的联查的语法=
=========================
5.6.连表查询
需要关联多个表数据时使用。只需要学习左连接和内连接。
左接:选择左表中的所有记录,不管右表是否匹配;左表为主,右表信息关联。
select * from t1 left join T2 on t1 . field 1=T2 . field 2;
Join:只选择两个表中相互匹配的记录;如果不匹配,结果将为空。
select * from t1 . field 1=T2 . field 2上的t1内部联接T2;
select * from t1,t2其中t1 . field 1=T2 . field 2;
5.7.子查询
当需要另一个查询结果作为查询条件时使用。子查询用“()”括起来。
比如查学生“张三”的成绩
在某些情况下,子查询可以转换为连接表查询。例如,上述示例可以写成一个连接表查询:
5.8.记录联合
将两个表的查询结果合并成一个结果集进行输出。合并的条件是多个表的查询结果字段个数要相同。请注意,查询结果字段的数量不是表字段的数量。
选择f1、f2、来自t1的fn
联合/联合所有
选择f1、f2、来自t2的fn
.
联合/联合所有
选择f1、f2、fn来自tn
如果查询字段的数量不同,将会报告错误。
固定查询结果集字段编号
5.9.select语句的执行顺序
也是对之前知识的巩固,证明执行顺序是否正确。
(7)选择
(8)不同的选择列表
(1)从左侧_表格
(3) join_type连接右表
(2)在连接条件下
(4) WHERE where_condition
(5)分组列表
(6)具备具备条件
(9)按条件排序
(10)极限limit_number
6.总结
至此,日常操作中最常用的表数据的insert、update、delete、select语句已经完成。最复杂的查询语句,也称为DQL语句,是DML语句的重点。
关于MySQL基础教程的DML语句这篇文章到此为止。有关MySQL Basic的DML语句的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。