欢迎光临散文网 会员登陆 & 注册

MySQL_基础+高级篇- 数据库 -sql -mysql教程_mysql视频_

2022-10-24 14:41 作者:突刺刺突刺刺  | 我要投稿

有bug。视频标识有时是不对应的。


001_MySQL基础_课程引入 P1 - 00:09



MySQL数据库管理软件(开源)



002_MySQL基础_为什么学习数据库 P2 - 00:02


重要性

内存 - 易失性

文件 - 大量、不易查询

=>DB管理系统 - 软件



003_MySQL基础_数据库的相关概念 P3 - 00:06


数据库管理系统 安装


DB(数据库database):

存储数据的“仓库”。它保存了一系列有组织的数据。

DBMS(数据库管理系统Database Management System):

数据库是通过DBMS创建和操作的容器。

SQL(结构化查询语言Structure Language):

专门用来与数据库通信的语言。

管理系统听得懂的语言


DBA管理数据库的员工



总结

数据库好处

1 持久化数据到本地

2 可以实现结构化查询,方便管理


数据库相关概念

DB:数据库,保存一组有组织的数据的容器

DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据

SQL:结构化查询语言,用于和DBMS通信的语言



004_MySQL基础_数据库存储数据的特点 P4 - 00:08


如何存储数据?



005_MySQL基础_MySQL软件的介绍 P5 - 00:03




一般的安装 是 安装数据库的服务端




006_MySQL基础_MySQL软件的卸载 P6 - 00:03



删除残留文件



清理注册表



007_MySQL基础_MySQL软件的安装 P7 - 00:12




开发机占的内存小



008_MySQL基础_配置文件介绍 P8 - 00:06



Data - 文件目录


配置完成后

服务需要重新启动



009_MySQL基础_MySQL服务的启动和停止 P9 - 00:18



开机自启 -> 手动



010_MySQL基础_MySQL服务端的登录和退出 P10 - 00:08



简写




011_MySQL基础_配置环境变量 P11 - 00:01




012_MySQL基础_MySQL常见命令介绍 P12 - 00:03


如何输入SQL命令的


show database;

MySQL自带的四个数据库

information_schema用于 保存 源数据信息

performance_schema用于 搜集 性能信息

test代表一种测试数据库

use

show

select

create

desc

看数据select * from DB

insert

update

delete



013_MySQL基础_查看MySQL服务端版本 P13 - 00:02


查看当前数据库的版本

select version();

mysql --version

mysql -V



014_MySQL基础_总结MySQL常见命令 P14 - 00:11





015_MySQL基础_MySQL语法规范介绍 P15 - 00:13


软件 会 自动规划



016_MySQL基础_图形化用户界面... P16 - 00:04




017_MySQL基础_图形化用户界面... P17 - 00:01


通过 root用户 连接到 本机



每行命令 加 分号



018_MySQL基础_myemployees库的四张表介绍 P18 - 00:37


DQL查询

DML增删改

DDL库和表的定义

TCL事务控制语言


合法的 可以直接执行的

字段



019_MySQL基础_基础查询介绍 P19 - 00:20





020_MySQL基础_查询表中的字段 P20 - 00:04





021_MySQL基础_查询时的细节注意补充 P21 - 00:16


在做查询之前 use DB;



022_MySQL基础_查询常量、表达式、函数 P22 - 00:15





023_MySQL基础_起别名 P23 - 00:30



特殊情况



024_MySQL基础_去重 P24 - 00:24





025_MySQL基础_+号的作用 P25 - 00:13




连接



027_MySQL基础_【案例讲解】基础查询 P27 - 00:06




028_MySQL基础_条件查询介绍 P28 - 00:06






029_MySQL基础_条件运算符的使用 P29 - 00:14




要查谁,就加谁

怎么判断?“的”后面的



030_MySQL基础_逻辑运算符的使用 P30 - 00:02


员工信息 *



031_MySQL基础_模糊查询—like关键字 P31 - 00:22





使用转义符 \

指定转义符 ESCAPE



032_MySQL基础_模糊查询—between and关键字 P32 - 00:11






033_MySQL基础_模糊查询—in关键字 P33 - 00:02



③不支持通配符

有可能出现的值 都放在()里


等价关系



034_MySQL基础_模糊查询—is null关键字 P34 - 00:06





IS要和NULL搭配



035_MySQL基础_【补充】安全等于的介绍 P35 - 00:10


判断NULL值

判断普通值


缺点

可读性差


区分



035_MySQL基础_【补充】安全等于的介绍 P35 - 03:05




036_MySQL基础_【案例讲解】条件查询 P36 - 01:19





037_MySQL基础_测试题1讲解 P37 - 00:06







037_MySQL基础_测试题1讲解 P37 - 03:41


and 可能不一样

or 一样

使用like %%无法查出 NULL 的记录

正确处理的方式是 拼接SQL

拼接 sql 需要先定义 初始化sql where “1=1”

拼接:where += ......;



038_MySQL基础_复习前一天内容 P38 - 00:34




















排序


039_MySQL基础_排序查询介绍 P39 - 00:11




DESC 降序

ASC 升序 默认



040_MySQL基础_排序查询示例 P40 - 00:11




可以按照 别名 进行排序


整体

局部 降序



041_MySQL基础_排序查询总结 P41 - 00:06





042_MySQL基础_【案例讲解】排序查询 P42 - 00:00











常见函数 - 类似Java的方法


043_MySQL基础_常见函数介绍 P43 - 00:18





043_MySQL基础_常见函数介绍 P43 - 00:01




单行函数 可分为



045_MySQL基础_字符函数 P45 - 00:19


length 用于 获取数值的字节个数

utf

一个字母一个字节

一个汉字三个字节

jdk

一个汉字两个字节


concat 拼接字符串


upper、lower 大小写


substr、substring 索引


instr 返回起始索引


trim前后空格


lpad、rpad


replace



046_MySQL基础_数学函数 P46 - 00:10


round

四舍五入

加绝对值,再加正负号


ceil

向上取整

floor

向下取整


truncate

截断


⭐mod

取余



047_MySQL基础_日期函数 P47 - 00:26













048_MySQL基础_其他函数 P48 - 00:07





049_MySQL基础_流程控制函数-if函数 P49 - 00:15





050_MySQL基础_流程控制函数-case结构 P50 - 00:21


⭐case





不是=

而是<、>的情况



051_MySQL基础_单行函数总结 P51 - 00:24




052_MySQL基础_【案例讲解】单行函数 P52 - 00:07








分组函数 - 统计使用


053_MySQL基础_分组函数的介绍 P53 - 00:06





搭配使用

如:round 保留小数






056_MySQL基础_count函数的具体介绍 P56 - 00:12





效率

一般使用 count(*);

统计行数




058_MySQL基础_【案例讲解】分组函数 P58 - 00:01







分组查询


059_MySQL基础_分组查询的介绍 P59 - 00:36






060_MySQL基础_分组查询—简单使用 P60 - 00:10







061_MySQL基础_分组查询—添加分组前筛选 P61 - 00:06




062_MySQL基础_分组查询—添加分组后筛选 P62 - 00:18





筛选


案例3




063_MySQL基础_分组查询—添加筛选的总结 P63 - 00:01





064_MySQL基础_分组查询—按函数分组 P64 - 00:04


group by可以放什么



065_MySQL基础_分组查询—按多个字段分组 P65 - 00:58




066_MySQL基础_分组查询—添加排序 P66 - 00:02




067_MySQL基础_分组查询总结 P67 - 00:05





067_MySQL基础_分组查询总结 P67 - 00:07





各个、每个





连接查询


069_MySQL基础_连接查询—笛卡尔乘积 P69 - 00:44





笛卡尔积


连接条件


表名限定



071_MySQL基础_等值连接的介绍 P71 - 00:15




案例1 - 等值连接

第一张表 匹配 第二张表

筛选


案例2

筛选



起别名

两个表的顺序是否可变? - 可以


4 是否可以加筛选

WHERE

AND

案例1


案例2


5 是否可以加分组

案例1



因为两个表里都有departmentID 所以要区分一下


6 可以加排序? √

案例


7 三表连接? √


总结



073_MySQL基础_非等值连接 P73 - 00:10


非等值连接



074_MySQL基础_自连接 P74 - 00:18



自连接(找自己) = 等值连接

把 原来的表 当成 两张,甚至 更多的表




075_MySQL基础_测试题2讲解 P75 - 00:06





076_MySQL基础_复习前一天内容 P76 - 00:17


排序查询


常见函数

字符函数

数字函数

日期函数

其他函数

流程控制函数

多重 if 实现区间判断


分组函数

分类

特点

统计 案例

count(1):统计是1的行数



分组查询

特点



连接查询



等值连接



非等值连接


自连接 - 表1、表2 都是一张表



077_MySQL基础_作业讲解 P77 - 00:48









SQL99


078_MySQL基础_sql99语法介绍 P78 - 00:12





079_MySQL基础_sql99语法—等值连接 P79 - 00:56




表 交换位置 查询结果一样






两个表的关联列 类型 最好一样,或者可以隐形的转换


分组 + 筛选


排序


三表连接

有顺序:有连接条件




080_MySQL基础_sql99语法—非等值连接 P80 - 00:01






081_MySQL基础_sql99语法—自连接 P81 - 00:05





外连接


082_MySQL基础_sql99语法—左(右)外连接 P82 - 00:30








左外连接




083_MySQL基础_全外连接 P83 - 00:04



全外 是 三部分组成




084_MySQL基础_交叉连接 P84 - 00:05


cross join



085_MySQL基础_总结连接查询 P85 - 00:15






086_MySQL基础_【案例讲解】多表连接 P86 - 00:00










子查询


087_MySQL基础_子查询介绍 P87 - 00:31






088_MySQL基础_where后面的标量子查询使用 P88 - 00:06




案例1


案例2

一个查询里可以放两个子查询


案例3 - 分组函数


案例4 - HAVING

子查询

筛选



089_MySQL基础_where后面的列子查询使用 P89 - 00:09



any任意一个

all所有


列子查询 - 单列多行

IN

or

= any,即 等于里面任意一个


案例二

or

小于最大的


案例三

or

小于最小的



090_MySQL基础_where后面的行子查询使用 P90 - 00:05


行子查询 结果集是 一行多列 或 多行多列

案例一:不一定存在

两个判断条件都是用的 =

or使用行子查询

虚拟字段,多个字段当成一个使用



091_MySQL基础_select后面的子查询使用 P91 - 00:09


个数的值 应该对应 部门号



案例2



092_MySQL基础_from后面的子查询使用 P92 - 00:16


将 子查询的结果集 充当 数据源 来使用

且必须 起别名 不然找不到



093_MySQL基础_exists后面的子查询使用 P93 - 00:15


相关子查询







094_MySQL基础_【案例讲解】子查询 P94 - 00:14







多行的时候使用IN



类似自连接

不知道单行还是多行 使用IN


CONCAT(将多个字符串连接成一个字符串)



⭐分页查询


095_MySQL基础_分页查询 P95 - 00:07


一页显示不全,需要分页提交sql请求

limit分页递交请求

1-10、11-20...页

【】里的不一定有

【offset】:起始索引

size:要显示的条目个数


执行步骤:

每一步都会生成一个虚拟的结果集


特点


案例



096_MySQL基础_测试题3讲解 P96 - 00:01





在1的结果上筛选使用having




097_MySQL基础_复习前一天内容 P97 - 00:09




内连接语法


内连接特点


分类


外连接


特点


交叉连接



子查询(逻辑上偏难)

exists

有值返回true,没值返回false


案例 - 标量子查询

案例 - 列子查询



分页查询



098_MySQL基础_子查询经典案例讲解 P98 - 00:03






方式二

②处没有使用子查询

升序 limit 1 = 最低


平均**最高的##的查询

思路:

先查每个##的信息

再将其作为一个表,进行查询其中最高的





查询的是领导信息



099_MySQL基础_作业讲解 P99 - 00:05







联合查询 union

将多条查询语句的结果合并成一个结果

拆分


100_MySQL基础_联合查询介绍 P100 - 00:28


目录

没有分号



应用场景:

当 要查询的结果来自多个表

且 表之间没有联系

但 查询的信息一样 的时候

特点

1.要求多条查询语句的查询列数是一致的

2.要求多条查询语句的查询的每一列类型顺序最好一致

3.union关键字默认去重

如果使用union all可以包含重复项



查”每张表“需要的信息



101_MySQL基础_联合查询的特点 P101 - 00:11







===========================

DML - 数据操作语言

插入:insert

修改:update

删除:delete

-----------------

插入语句


102_MySQL基础_插入语句的方式一 P102 - 01:30


语法:

表已经存在了 - 表名

插入到哪一列 - 列名

insert into 表名(列名,...)

value();

特点

方式一:

1.类型一致


2.不可以为null的列必须插入值

可以为null的列如何插入值?

如果不想插入:

方式一:插入null

方式二:列名和值都不写


3.列的顺序是否可以调换? √


4.列数和值个数必须一致

bug:列和值不匹配


5.可以省略列名,默认所有列

而且列的顺序和表中列的顺序一致


方式二:


103_MySQL基础_插入语句的方式二 P103 - 00:06


语法:

insert into 表明

set 列名 = 值,列名 = 值,...



104_MySQL基础_两种插入方式大pk P104 - 00:13


方式一 VS 方式二

1

方式一 支持插入多行。使用逗号分隔

是一条语句,批量插入三行

方式二 不支持插入多行


2.

方式一 支持子查询

方式二 不支持

将select的结果集对应的插入到表里


--------

修改


105_MySQL基础_修改单表的记录 P105 - 00:03


1.修改单表记录⭐

语法

① update 表名

③ set 列= 新值,列= 新值,...

② where 筛选条件;



106_MySQL基础_修改多表的记录 P106 - 00:09


2.修改多表的记录【补充】

sql92语法

update 表1 别名,表2 别名

set 列= 值,...

where 连接条件

and 筛选条件;

sql99语法

update 表1 别名

inner / left / right join 表2 别名

on 连接条件

set 列 = 值

where 筛选条件

sql92,sql99里的列都是对应的多表


------

删除


107_MySQL基础_删除语句的介绍 P107 - 00:07



108_MySQL基础_删除方式一 P108 - 00:08


方式一:delete

语法

  1. 单表的删除⭐

delete from 表名 where 筛选条件


2.多表的删除【补充】

连接

sql92语法

delete 表1的别名,表2的别名

from 表1 别名,表2 别名

where 连接条件

and 筛选条件;

sql99语法

delete 表1的别名,表2的别名

from 表1 别名

inner / left / right join 表2 别名

on 连接条件

where 筛选条件;

两个表都删的 - 级联删除



109_MySQL基础_删除方式二 P109 - 00:00


方式二:truncate - 清空


104_MySQL基础_两种插入方式大pk P104 - 00:13


语法:

truncate table 表名;

不允许加where

什么时候使用?

当要 删除表中所有数据 的时候使用


⭐⭕truncate VS delete

1

delete可以加where条件

truncate不能加


2

truncate删除,效率


3

如果要删除的表中有自增长列


若 用delete删除后,再插入数据,自增长列的值 从断点开始


而 truncate删除后,再插入数据,自增长列的值 从1开始


4

truncate删除没有返回值


delete删除有返回值


5

truncate删除不能回滚

delete删除可以回滚



110_MySQL基础_【案例讲解】数据的增删改 P110 - 00:00



1、2


3

方式一:value

方式二:union

insert支持子查询的情况

select可被认为是一条查询语句 - 因为被union合并了


4


5


6


7


8


9


10



==========================

DDL - 数据定义语言


111_MySQL基础_DDL语言的介绍 P111 - 00:01


库和表的管理

一、库的管理

创建、修改、删除

二、表的管理

创建、修改、删除


创建:create

修改:alter

删除:drop


一、库的管理


104_MySQL基础_两种插入方式大pk P104 - 00:08



1 库的创建

语法

create database 库名;

默认存储


2 库的修改

不安全 数据会丢失 - 不再使用

若要修改:

停止服务,修改名称,重新启动

更改库的字符集


3 库的删除



二、表的管理


113_MySQL基础_表的创建 P113 - 00:01


⭐1 表的创建

语法

create table 表明{

列名 列的类型【(长度) 约束】,

列名 列的类型【(长度) 约束】,

列名 列的类型【(长度) 约束】,

...

列名 列的类型【(长度) 约束】

}


2 表的修改


114_MySQL基础_表的修改 P114 - 00:00


核心语法

ALTER TABLE book CHANGE / MODIFY / ADD / DROP COLUMN 列明 【列类型 约束】;

① 修改列名 CHANGE COLUMN

② 修改列的类型或约束 MODIFY COLUMN

③ 添加列 ADD COLUMN

④ 删除列 DROP COLUMN

⑤ 修改表名 RENAME COLUMN


3 表的删除


115_MySQL基础_表的删除 P115 - 00:01


通用的写法:

DROP DATABASE IF EXISTS 旧库名;

CREATE DATABASE 新库名;

--------------------------------------------------

DROP TABLE IF EXISTS 旧表名;

CREATE TABLE 表名();


4 表的复制


116_MySQL基础_表的复制 P116 - 00:01


① 仅仅复制表的结构

- LIKE

② 复制表的结构 + 数据

- SELECY * FROM 表名

只复制部分数据

仅仅复制某些字段

0:false

1:true



117_MySQL基础_【案例讲解】库和表的管理 P117 - 00:07



跨库 储存表结构



修改类型







==========

数据类型


118_MySQL基础_数据类型介绍 P118 - 00:09


常见的数据类型 - 对数据的限制



119_MySQL基础_整型 P119 - 00:04












MySQL_基础+高级篇- 数据库 -sql -mysql教程_mysql视频_的评论 (共 条)

分享到微博请遵守国家法律