Mysql实战(DML增删改+Select)

DML(增删改)

 insert 

   Mysql实战(DML增删改+Select)

   Mysql实战(DML增删改+Select)

 update

   Mysql实战(DML增删改+Select)

 delete

   Mysql实战(DML增删改+Select)

     说明:update和delete都要写清楚where

 truncate(清空表)

  Mysql实战(DML增删改+Select)

 区别:

     Mysql实战(DML增删改+Select)

 


 


 select (查是最重要的)

 https://www.bilibili.com/video/BV1NJ411J79W?p=27   3:42

 

简单查询:

Mysql实战(DML增删改+Select)

Mysql实战(DML增删改+Select)

 去重:

Mysql实战(DML增删改+Select)

 WHERE:配合NOT AND OR

Mysql实战(DML增删改+Select)

 

 


 模糊查询:(本质是 比较运算符)

Mysql实战(DML增删改+Select)

 Mysql实战(DML增删改+Select)

Like   %和_分别是:任意个、一个

 Mysql实战(DML增删改+Select)

 Mysql实战(DML增删改+Select)

 Mysql实战(DML增删改+Select)

 In   (后面括号内必须是全称、并且不能用%和_)

 Mysql实战(DML增删改+Select)

 

 


 联表查询Join

Mysql实战(DML增删改+Select)

联表查询的关键在于两个表的 "交叉点" ,交叉点在两个表中都有,所以要分清楚:

 Mysql实战(DML增删改+Select)

 (是先join再select么?)

Mysql实战(DML增删改+Select)

JOIN ON连接查询

WHERE等值查询

ON和WHERE:查询效果是一样的,但原理&效率分析,还不清楚

Mysql实战(DML增删改+Select)

 

 


 父子关系 (pid)

   Mysql实战(DML增删改+Select)

 


 Mysql实战(DML增删改+Select)

 

分组 GROUP BY过滤 HAVING一般组合使用:

  (用GROUP BY就不用WHERE,而用HAVING来说明 次要条件)

  Mysql实战(DML增删改+Select)

 

排序 ORDER BY

  Mysql实战(DML增删改+Select)   ( ASC+DESC )

 

分页 LIMIT

   LIMIT 0,10  //startIndex, pageSize  //起始号码,每页个数

 

 


 子查询

  Mysql实战(DML增删改+Select)

 两种方法:

  方式一:先连接,再用select...where筛选(总共只有一个select)

  Mysql实战(DML增删改+Select)

 

  方式二:先按条件找到关键词,再根据关键词去进一步select(有2或多个select)

   Mysql实战(DML增删改+Select)

 

目测使用多个select的子查询的方法,不会过于扩大表,提高查询的总速度??

  再举一个例子:

  Mysql实战(DML增删改+Select)

 

 


 MySQL函数

 Mysql实战(DML增删改+Select)

 Mysql实战(DML增删改+Select)

 

   获取用户、获取版本:Mysql实战(DML增删改+Select)

 

 

  COUNT()  计数:

  Mysql实战(DML增删改+Select)

  SUM()  求和

  AVG()  

  MIN()  MAX()

  Mysql实战(DML增删改+Select)

 

 


 


MD5加密

原理:Hash函数、不可逆运算

Mysql实战(DML增删改+Select)

 Mysql实战(DML增删改+Select)

 Mysql实战(DML增删改+Select)

 

 


索引

  MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。

  Mysql实战(DML增删改+Select)

 

   Mysql实战(DML增删改+Select)

   时间从O(n)到O(1),一次性就查到了

 

  Mysql实战(DML增删改+Select)

 

MySQL索引背后的数据结构及算法原理http://blog.codinglabs.org/articles/theory-of-mysql-index.html

 


 


 Mysql备份

   Mysql实战(DML增删改+Select)

 备份方式:

  1.直接拷贝物理文件:

  Mysql实战(DML增删改+Select)

   2.Navicat等可视化界面里:右击,备份导出

   3.使用命令行mysqldump命令:

  Mysql实战(DML增删改+Select)

   例:Mysql实战(DML增删改+Select)

 

 


 

JDBC示例

https://www.bilibili.com/video/BV1NJ411J79W?p=38   14:13

Mysql实战(DML增删改+Select)

 

 

 executeUpdate & executeSelect


 

SQL注入

  例子:Mysql实战(DML增删改+Select)

 


 

IDEA连接数据库(了解)

  Mysql实战(DML增删改+Select)

然后填写数据库信息(数据库名、用户、密码等)基本上和Navicat一样流程;

   然后打开设置,Mysql实战(DML增删改+Select)

   之后勾选需要展示的数据库即可Mysql实战(DML增删改+Select)

 

 

 


 

事务

try{

  setAutoCommit(false); //关闭自动提交,

  然后进行需要的操作(需要保持原子性的几行操作)

  commit();//然后再提交

}

catch exception{

  rollback(); //失败回滚

}

 


 

连接池

  Mysql实战(DML增删改+Select)

 

 

池化技术:准备一些预先的资源,过来就连接准备好的,但用完要释放

  Mysql实战(DML增删改+Select)

 

开源数据源实现(拿来即用):DBCP   C3P0   Druid

  Mysql实战(DML增删改+Select)

    Mysql实战(DML增删改+Select) Mysql实战(DML增删改+Select)

Druid 

 (后面再仔细学吧~)

https://www.bilibili.com/video/BV1NJ411J79W?p=45

https://www.bilibili.com/video/BV1J4411877m?p=100

 

上一篇:十三、视图


下一篇:数据操作语言(DML)一:插入数据insert、修改数据update、删除delete