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; #外连接

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

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

最新文章

  1. rsync+inotify实现自动备份
  2. 30 分钟开发一个简单的 watchOS 2 app <oneVcat>
  3. SQL Server添加MDW性能监控报表
  4. Java web项目的字符集问题
  5. perl常见符号
  6. php文件上传的例子
  7. submit和button提交表单的区别
  8. c盘没有新建修改权限的,执行下面命令
  9. 【宽搜】Vijos P1360 八数码问题
  10. APP-SQLAP-10771
  11. DropDownList控件学习
  12. python的str()和repr()的区别
  13. NIO 多线程
  14. 如何在MySQL中查询每个分组的前几名【转】
  15. Java和Php比较
  16. Django REST Framework API Guide 02
  17. Oracle create tablespace 、create user and so on
  18. Hadoop日记Day15---MapReduce新旧api的比较
  19. [LeetCode] Palindrome Permutation I & II
  20. electron写俄罗斯方块游戏(Tetris)

热门文章

  1. 一.JDBC学习入门
  2. 软件测试 → 第一章 基础-> 软件与软件危机
  3. c++之手写strcmp
  4. cmakelists.txt中配置openg环境出现: undefined reference to symbol 'glLightfv'
  5. Effective Modern C++:02auto
  6. KiCad 5.1.4 无法覆铜?
  7. 2019-10-26-dotnet-core-发布只有一个-exe-的方法
  8. MaxCompute 项目子账号做权限管理
  9. “不是不需要运维工程师,是人人皆是运维”|对话阿里云MVP蒋烁淼(上)
  10. python环境测试MySQLdb、DBUtil、sqlobject性能