你将收获

共6天课程,知识点涉及mysql的增删改查,左右内连接,子查询,触发器,存储过程,且都深入做了讲解!绝对是各位学好mysql数据库的响当当的好视频。

适用人群

所有人

课程介绍

MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统

课程讨论

1111111111111111111
非常感谢老师,老师讲的非常清楚,受益良多。
校对集那章讲的好,一个例子一看就明白了,谢谢老师付出。
最好看的一个图,最好看的一个图,点个赞~
声音只能右耳听到

所有回复(1):

World文档有地方下载吗
初次收听,真是讲得很好。
讲的挺好 但是声音好小
带上耳机只有右耳能听到,,
这声音…?
声音真大

同学笔记

  • yf31702361 2020-02-16 00:20:59

    来源:22乱码问题 查看详情

    # Web乱码问题

     

    动态网站由三部分构成:浏览器,apache服务器(PHP),数据库服务器,三个部分都有自己的字符集(中文),数据需要在三个部分之间来回传递,很容易产生乱码。

     

    如何解决乱码问题:统一编码(三码合一)

     

    但事实上不可能:浏览器是用户管理(根本不可能控制)

     

    但是必须要解决这些问题:主要靠PHP来做

     

  • yf31702361 2020-02-15 23:52:30

    来源:21校对集 查看详情

    # 校对集问题

     

    校对集:数据比较的方式

     

    校对集有三种格式

    - _bin:binary,二进制比较 ,去除二进制位,一位一位的比较,区分大小写

    - _cd:case sensitive,大小写敏感,区分大小写

    - _ci:case insensitice,大小写不敏感,不区分大小写

     

    查看所有校对集

    show collation;

     

    校对集应用:只有当数据产生比较的时候,校对集才会生效。

     

    对比:使用UTF8的_bin和_ci的不同校对集;

     

    1、-- 创建表使用不同的校对集

    create table my_collate_bin( name char(1))charset utf8 collate utf8_bin;

     

    create table my_collate_ci(name char(1))charset utf8 collate utf8_general_ci;

     

    2、-- 插入数据

    insert into my_collate_bin values('a'),('A'),('B'),('b');

     

    insert into my_collate_ci values('a'),('A'),('B'),('b');

     

    -- 查看 

    select * from my_collate_bin;

     

    select * from my_collate_ci;

     

    3、-- 比较:根据某个字段进行排序:order by 字段名 [asc|desc]; asc升序,dese降序,默认升序

     

    -- 排序查找

    select * from my_collate_bin order by name;

    select * from my_collate_ci order by name;

     

    校对集:必须在没有数据之前声明号,如果有了数据,那么再进行校对集修改,那么修改无效。

     

    -- 有数据后修改校对集

    alter table my_collate_ci collate = utf8_bin;

  • yf31702361 2020-02-15 23:22:22

    来源:20中文数据问题 查看详情

    # 中文数据问题

     

    中文数据问题本质是字符集问题。

     

    计算机只识别二进制,人类更多是识别符号,需要有个二进制与字符的对应关系(字符集)

     

    -- 插入数据(中文)

    insert into my_student values(5,'005','张越','男');

     

    客户端向服务器插入中文数据,没有成功。

     

    原因:汉字在当前编码(字符集)下对应的二进制编码换成的十六进制:两个汉字=》四字节(GBK)

     

    报错:服务器没有识别对应的四个字节:服务器认为数据是UTF8,一个汉字有三个字节,读取三个字节转换成汉字(失败),剩余的再读三个字节(不够),最终失败。

     

    所有的数据库服务器表现的一些特性都是通过服务器的变量来保存:系统先读取自己的变量,看看应该怎么表现。

     

    //查看服务器到底识别哪些字符集

    show character set;

     

    基本上:服务器是万能,什么字符集都能支持。

     

    //既然服务器识别那么多,总有一种是服务器默认的跟客户端打交道的字符集。

     

    -- 查看服务器默认的对外处理的字符集

    show variables like 'character_set%';

     

    问题根源:客户端数据只能是GBK,而服务器认为是UTF,矛盾产生。

     

    解决方案:改变服务器,默认的接收字符集为GBK;

    Set character_set_client = gbk;

     

    -- 修改服务器认为的客户端数据的字符集为GBK

    Set character_set_client = gbk;

     

    如果显示表数据,发现中文乱码,这样的原因是:数据来源是服务器,解析数据是客户端(客户端只识别GBK:智慧两个字节一个汉字),但是事实服务器给的数据确实UTF8,三个字节ig汉字->乱码

     

    解决方式:修改服务器给定数据的字符集为GBK

    set character_set_result = gbk;

     

     

    Set 变量 = 值;修改只是会话级别(当前客户端,当西连接有效,关闭失效)

     

    设置服务器对客户端的字符集的认识:可以使用快捷方式:set names 字符集

    Set names gbk; ==> character_set_client,character_set_result,character_set_connection

     

    Connection连接层:是字符集转变的中间者,如果统一了效率更高,不同意也没问题。

没有更多了