DML:数据操作语言

1.插入insert into

单行插入:insert into 表名 (字段名, 字段名,。。。) values (值, 值, 。。。) 注:值列表要和字段列表相匹配。

     insert into 表名  values  (值, 。。。) 表示全字段都插入相应的值。

多行插入:insert into 表名 (字段列表) select 字段列表/* from 表名 where 条件

       insert into 表名 select 字段列表/* from 表名 where 条件

  注:主要应用与表之间数据的复制

2.修改update

  update 表名 set 字段名1=值1, 字段名2=值2... where 条件。

  如果不加where条件就是全表更新。

3.删除delete

全表删除:delete from 表名  效率较低(因为此方法再删除时机器会先建立日志,先复制储存一遍再进行删除)

     truncate table 表名 效率高(通常采用此方法进行全表的删除)

选择删除:delete from 表名 where 条件

DQL:数据查询语言

一.查询某个表中的某个字段:select 字段名/* from 表名 。 当是*号时表示查询所有字段

给表加别名: student t   。   给字段加别名: son as s

二.排序order by的用法:

1.order by 字段名1 asc/desc, 字段名2 asc/desc,...

先按照字段名1的升序/降续给表进行排列 然后 按照字段名2的升序/降续给表进行排列。 其中排在前面的字段名优先进行排列,排在后面的在前面的基础上在进行排列。

2. order by 字段序号 asc/desc, 字段序号 asc/desc,...

按照字段的序号进行排列,字段的序号就是表中每个字段从左到右依次排列的顺序,从1开始。字段序号对应相应的字段名。

3.

asc(升序)/desc(降续)

order by 默认是升序排列的,所以我们在进行排列时

如果要按升序进行排列,就不需要写asc。

如果要按降续进行排列,就   需要写desc。

4.order by 要放在where语句的后面

三.group up的用法

1.group up 字段列表

2.group by 字段列表 having 过滤条件

在一完整的语句中select后面仅可以跟要分组的字段和聚合函数

四.多表之间的关联查询

1.join on 负责关联两个表 (内连接)

用法:select * from 表名 join 表名 on 两表之间的连接关系

例:学生表与成绩表两表之中都有学号,那么我就可以把学号作为关联两表之间的等式关系。

  select * from student t join score e on t.sno=e.sno

当然我们也可以关联更多的表,只需要在后面继续添加join 表名 on 链接关系即可。注意我们要把主表放在from后面。

例:成绩表中有学生号(sno)和课程号(con),学生表中有学号,课程表中有课程号,那么我们可以把成绩表作为主表,利用主表中的学号与课程号与学生表和课程表进行关联。

  select * from score e join student t on e.sno=t.sno join couser r on e.con=r.con

内连接特点:表的数据和另外一个表没有可关联数据,那该数据就会被隐藏

2.左联接 left join on

用法:同内连接一样只是在join前面加了left。

特点:可以保证左边表的数据会全部显示

3.右连接 right join on

用法:同内连接一样只是在join前面加了right。

特点:可以保证右边表的数据会全部显示

4.全连接 full join on

用法:同内连接一样只是在join前面加了full

特点:这样就保证了左右两边的表中的全部数据都会显示

五.结果集合并 union

用法:用来合并两条查询语句。当我们要把连个毫无联系的查询结果或者两个表进行合并成一个表,但要去除重复数据时,我们就需要用 union 进行合并。

例:我要去学生表中的学号(sno)和教师表中的教工号(tno)

  select sno from student union select tno from teacher

当我不想去掉重复数据时,我只需要在union 后面加一个 all即可

例:select sno from student union all select tno from teacher

总结一下:

在我们使用DQL查询语句时,不仅要搞懂每种特定语句的使用方式,更要了解清楚查询时的逻辑关系,有时在查询一个很复杂的数据时,我们不妨转换一下几种方式。

例如:

1.子查询的嵌套思想。

2.把查询出来的结果当做条件中的数值或者数组

3.其实我们间接查出来数值,我们都可以把它看做是一个表,然后把它作为表与其他表进行关联等等。

4.条件where的使用方式是很重要的:

1.where都是附属在DQL,DML语句后面的

2.where 后使用比较运算符,逻辑运算符连接

DML以及DQL的使用方法的更多相关文章

  1. Mysql 数据库操作之DDL、DML、DQL语句操作

    Mysql 数据库操作之DDL.DML.DQL语句操作 设置数据库用户名密码 l  Show databases 查看数据库列表信息 l  查看数据库中的数据表信息 ,格式: use 数据库名: sh ...

  2. MySQL的sql语言分类DML、DQL、DDL、DCL、

    MySQL的sql语言分类DML.DQL.DDL.DCL. SQL语言一共分为4大类:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL 1.数据定义语言DDL(Data ...

  3. MySQL的DML和DQL 增删改查

    DML和DQL   增删改查 SELECT * FROM grade --新增 insert -- 向年级表中新增3条数据INSERT INTO grade(gradeID,gradeName) VA ...

  4. SQL--SQL详解(DDL,DML,DQL,DCL)

    SQL--SQL详解(DDL,DML,DQL,DCL) 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 什么是SQL? Stru ...

  5. sql 语言--- DML,DDL,DQL,DCL,TCL,CCL

    结构化查询语言(Structured Query Language)简称SQL                是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理 ...

  6. 使用Statement执行DML和DQL语句

    import com.loaderman.util.JdbcUtil; import java.sql.Connection; import java.sql.DriverManager; impor ...

  7. sql操作数据库(1)-->DDL、DML、DQL

    SQL 操作数据库 概念:结构化查询语言 Structured Quary Language 作用:  1.是一种数据库的查询的标准,对所有的数据库都支持  2.不同的数据库SQL语句可能有点不同 ( ...

  8. jdbc java数据库连接 3)Statement接口之执行DDL、DML、DQL

    |- Statement接口: 用于执行静态的sql语句 |- int executeUpdate(String sql)  : 执行静态的更新sql语句(DDL,DML) |- ResultSet ...

  9. DDL\DML\DCL\DQL

    [DML] DML = Data Manipulation Language,数据操纵语言,命令使用户能够查询数据库以及操作已有数据库中的数据的计算机语言.具体是指是UPDATE更新.INSERT插入 ...

随机推荐

  1. ubuntu su 密码 (转)

    Ubuntu刚安装后,不能在terminal中运行su命令,因为root没有默认密码,需要手动设定. 以安装ubuntu时输入的用户名登陆,该用户在admin组中,有权限给root设定密码. 给roo ...

  2. 【Tyvj1038】忠诚 线段树

    题目描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意.但是由于一些人的挑拨,财主还是对管家产生了 ...

  3. volatile的理解

    用法解释 一旦一个共享变量(类的成员变量.类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其 ...

  4. 更快、更强——解析Hadoop新一代MapReduce框架Yarn(CSDN)

    摘要:本文介绍了Hadoop 自0.23.0版本后新的MapReduce框架(Yarn)原理.优势.运作机制和配置方法等:着重介绍新的Yarn框架相对于原框架的差异及改进. 编者按:对于业界的大数据存 ...

  5. Java多线程初学者指南系列教程

    转自:http://developer.51cto.com/art/200911/162925.htm 51cto 本系列来自NokiaGuy的“真的有外星人吗”博客,系列名称为<Java多线程 ...

  6. org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot create directory /user/hive/warehouse/page_view. Name node is in safe mode

    FAILED: Error in metadata: MetaException(message:Got exception: org.apache.hadoop.ipc.RemoteExceptio ...

  7. Hibernate工作原理及为什么要用?

    Hibernate工作原理及为什么要用? 原理:1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件2.由hibernate.cfg.x ...

  8. iOS移动开发周报-第21期

    iOS移动开发周报-第21期 [摘要]:本期iOS移动开发周报带来如下内容:苹果iCloud中国数据转存中国电信,Swift Operators,100 个 Swift 必备 tips,FLEXLoa ...

  9. hdu Inverting Cups

    这题需要分类讨论: 第一种情况: n为奇数m为偶数的情况无解,因为m为偶数,每次翻转将把从正面翻到反面的个数x减去从反面翻到正面的个数y,得到的数必定为偶数.因为x+y为偶数,x-y也为偶数.而总个数 ...

  10. sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"问题解决

    安装一个软件时,遇到这个问题sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 上网 ...