DML 数据操纵语句:INSERT UPDATE DELETE SELECT 主要用来对数据库的数据进行一些操作;

DCL 数据定义语句:CREATE ALTER DROP  主要是用在定义或改变表的结构,数据类型,表之间的链接和约束等初始化工作上;

DCL 数据控制语句:GRANT,DENY,REVOKE 主要是用来设置或更改数据库用户或角色权限的语句.

先创建两个表 一个学生表 一个成绩表

 create table student(
code int primary key auto_increment,
sname varchar(20)
)engine=InnoDB default charset=utf8 auto_increment=1; insert into student (code,sname) values(1,"wang");
insert into student (code,sname) values(2,"lin"); create table score(
studentid int,
score int,
courseid varchar(20)
)engine=INNODB DEFAULT CHARSET=UTF8; insert into score (studentid,courseid,score) values (1,'java',50);
insert into score (studentid,courseid,score) values (1,'DB',60);
insert into score (studentid,courseid,score) values (2,'java',70);
insert into score (studentid,courseid,score) values (2,'DB',80);

函数的使用:

1.取平均值:

SELECT studentid,avg(score) FROM score GROUP BY studentid;  #取平均值

2.求和,统计

select studentid,AVG(score) as average,SUM(score) as sum,COUNT(1) from score GROUP BY studentid;#求和

3.替换元素

update score set courseid=REPLACE(courseid,'a','A');#替换

4.显示某几行

select * from score LIMIT 2,2;#limit (从第2行,查询2行) 默认第一行是0

5.内连接

select student.sname,score.courseid,score.score from student,score where student.code=score.studentid; #内连接

6.外连接

select sname,courseid,score from student t LEFT JOIN score s ON t.code=s.studentid; #外连接

内外连接还是有点懵。但是大意就是内连接: 只连接匹配的行
左外连接: 包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行
右外连接: 包含右边表的全部行(不管左边的表中是否存在与它们匹配的行),以及左边表中全部匹配的行

其实就是用其中一个表去匹配另一个表中的值来达成构成一个表来显示同一个事物的所有信息。

mysql 第二课 DML操作的更多相关文章

  1. 详解MySQL第二篇—DML语句

    DML 语句: DML 操作是指对数据库中表记录的操作,主要包括表记录的插入(insert).更新(update).删除(delete)和查(select),是开发人员日常使用最频繁的操作.下面将依次 ...

  2. c潭州课堂25班:Ph201805201 MySQL第二课 (课堂笔记)

    mysql> create table tb_2( -> id int, -> name varchar(10) not null -> ); 插入数据 insert into ...

  3. MYSQL第二课

    创建数据库: 输入:CREATE DATABASE itcase;计算机输出: Query OK, 1 row affected 查看数据库:输入:SHOW DATABASES;计算机输出: +--- ...

  4. Asp.Net Web API 2第二课——CRUD操作

    详情请查看http://aehyok.com/Blog/Detail/69.html 个人网站地址:aehyok.com QQ 技术群号:206058845,验证码为:aehyok 本文文章链接:ht ...

  5. C++ 第二课:操作符号的优先级

           优先级     操作符 1 () [] -> .   ::         ! ~ ++ -- 2 - (unary) * (dereference)   & (addre ...

  6. Asp.Net Web API 2(CRUD操作)第二课

    Asp.Net Web API 2(CRUD操作)第二课 Asp.Net Web API 导航   Asp.Net Web API第一课:入门http://www.cnblogs.com/aehyok ...

  7. Kotlin入门第二课:集合操作

    测试项目Github地址: KotlinForJava 前文传送: Kotlin入门第一课:从对比Java开始 初次尝试用Kotlin实现Android项目 1. 介绍 作为Kotlin入门的第二课, ...

  8. [Sqoop]利用sqoop对mysql运行DML操作

    业务背景 利用sqoop对mysql进行查询.加入.删除等操作. 业务实现 select操作: sqoop eval \ --connect jdbc:mysql://127.0.0.1:3306/m ...

  9. 利用sqoop对mysql执行DML操作

    业务背景 利用Sqoop对MySQL进行查询.添加.删除等操作. 业务实现 select操作: sqoop eval \ --connect jdbc:mysql://127.0.0.1:3306/m ...

随机推荐

  1. HTTP请求封装Java工具类

    装载自:http://www.open-open.com/lib/view/open1384844838743.html package com.wiker; import java.io.Buffe ...

  2. vue-cli3 关闭eslint

    关闭eslint 直接注释掉package.json文件中eslint的配置就可以了(以下是vue-cli的默认配置) "eslintConfig": { "root&q ...

  3. 设置脚本sh

  4. PPT转PDF

    需求:可以上传ppt,前台可以预览. 在用程序将ppt转pdf的过程中,遇到几个问题,记录如下: 1.检索 COM 类工厂中 CLSID 为 {91493441-5A91-11CF-8700-00AA ...

  5. Thread class vs Runnnable interface(转)

    http://developer.51cto.com/art/201203/321042.htm Thread(Runnable target) Allocates a new Thread obje ...

  6. day002--python编程的相关软件,变量

    --python是一门解释型语言,需要安装解释器,由于python3和python不兼容,所以需要安装这两个版本的解释器. 目前python2.7版本已经停止更新,使用企业较少,所以应当以学习pyth ...

  7. vue-cnodejs

    感谢那些无私开源的程序员,你们是最可爱的人儿~~~~ //根app app.js <template> <div id="app"> <v-heade ...

  8. 【NS2】NS2中802.11代码深入理解—packet传输的流程(转载)

    如何传送一个封包(How to transmit a packet?)首先,我们要看的第一个function是在mac-802_11.cc内的recv( ),程式会先判断目前呼叫recv( )这个pa ...

  9. 从零学React Native之08Image组件

    开发过程中, 几乎每个项目都会用到图片. RN就是通过Image组件显示图片.既可以加载网络图片,也可以加载本地资源图片. Image组件必须在样式中声明图片的款和高.如果没有声明,则图片将不会被呈现 ...

  10. Uva 10334

    UVa 10334 这道题几乎和UVa 495是一样的. #include<iostream> #include<cstdio> #define mod 1000000 usi ...