美文网首页
数据分析课程笔记 - 12 - MySQL(一)

数据分析课程笔记 - 12 - MySQL(一)

作者: 爱学习的ai酱 | 来源:发表于2020-12-10 08:46 被阅读0次

    大家好呀,又跳票了,我已经没脸再找借口了,所以就不解释了哈哈。

    直接进入正题。Pandas 学完,Python 的学习就暂时告一段落了。从这节课开始,我们正式进入数据分析的另一利器——MySQL 的学习。

    Mysql 的安装在这个课程刚开始的环境安装部分已经讲过了,这里就不再赘述了,没有安装好的童鞋,可以再复习一下之前的内容——环境安装

    这里我们需要再安装一个数据库管理工具——Navicat。这个软件是收费的,不过有 14 天的试用期,足够大家把 Mysql 学完了。

    安装好之后,我们就可以开始 Mysql 的学习了。

    以下是这节课的主要内容:

    1、认识数据库
    (1)对比Excel来认识数据库
    (2)数据库的构成
    (3)市面上主流的数据库管理系统
    (4)SQL语言简介
    2、MySQL的基本操作
    (1)连接到MySQL
    (2)MySQL的常用指令
    (3)数据库的操作
    (4)创建表
    3、常用的数据类型
    (1)数值型
    (2)日期时间型
    (3)字符型
    (4)其他
    4、Navicat 管理工具
    (1)连接MySQL:在Navicat中新建⼀个连接
    (2)Navicat基本操作
    (3)数据库的备份与恢复

    一、认识数据库

    1、对比Excel来认识数据库

    对于之前没接触过数据库的同学来说,这可能是一个比较陌生的概念,但是 Excel 相信大家都很熟悉,我们可以用 Excel 来帮助自己理解数据库。

    一个 Excel 文件可以有多张工作表(Sheet),一张工作表中有很多行和列。

    相对应的,一个数据库(Database)也可以有多张数据表(Table),一张数据表中也有很多行(Rows)和列(Columns)。

    不过不同的是,Excel 最多只能存放 104 万行、1024 列数据,而 MySQL 每个数据库最多可以创建20亿张表,所以 MySQL 通常被企业用来存放规模较大的数据。当然了,MySQL 虽然对每个表中行的数量没有直接限制,但它会受到数据库存储空间的限制。

    2、数据库的构成

    从上面的对比我们可以看出,数据库由数据表、行和列组成。MySQL 可以存放多个数据库实例,一个数据库实例可以存放多张数据表,一张数据表可以存放多条数据。

    数据库和数据表 行和列

    3、市面上主流的数据库管理系统

    目前,市面上有很多数据库管理系统,,Mysql 由于其开源性和强大的功能,是应用最为广泛的数据库之一,其排名仅次于商用数据库 Oracle。

    各种数据库管理系统

    4、SQL语言简介

    SQL(Structured Query Language),即结构化的查询语言,它是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

    数据分析师最常用的就是:数据查询语言(DQL)、数据操作语言
    (DML)、数据定义语言(DDL),也就是众所周知的——增删改查。

    二、MySQL 的基本操作

    1、连接到MySQL

    首先要确保 MySQL 服务正常启动,处于正在运行的状态。(可以百度一下如何启动和关闭 Mysql 服务,就知道怎么查看 Mysql 服务是否正在运行了。)

    然后以命令行的方式连接到MySQL:

    mysql -u root -p
    

    之后输入密码即可,也可以在 -p 后直接输入密码。

    (2)MySQL的常用指令

    1. 查看所有的数据库:show databases;
    2. 使用/进入数据库:use 数据库名;
    3. 查看创建的数据库:show create database 库名;
    4. 查看数据表结构:describe/desc 表名;
    5. 查看数据表详细结构:show create table 表名;

    注意:Mysql 命令结束必须要加分号 ; (英文分号)!并且命令一般默认用大写,数据库名、表名、字段名等默认用小写。

    (3)数据库的操作

    语法结构:

    CREATE DATABASE 数据库名;
    # 或者在工具中创建
    

    例如:创建名为 xuexii 的数据库:

    CREATE DATABASE xuexii
    

    查看创建的数据库信息:

    SHOW CREATE DATABASE xuexii;
    

    删除数据库(谨慎操作,谢绝删库跑路!):

    DROP DATABASE xuexii;
    

    (4)创建表

    语法结构

    CREATE TABLE 表名 -- 创建的表名不区分大小写,但不能使⽤关键字,如DROP、ALTER等
    (
        字段1 数据类型  [列级别约束条件] [默认值],
        字段2 数据类型  [列级别约束条件] [默认值],
        .......,
        [表级别约束条件]
    )[ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='关于表的注释'];
    
    注:
    ENGINE=InnoDB   -- 引擎类型(事务处理引擎)
    AUTO_INCREMENT=1    -- 每增加⼀行时自动增量
    CHARSET=utf8mb4 -- 编码格式
    

    这样看可能不够直观,我们来看一个例子:

    -- 主键约束
    create table tb_emp1(
        id INT PRIMARY  KEY,
        name VARCHAR(20),
        deptId INT,
        salary FLOAT
    );
    
    注 :PRIMARY  KEY:表示主键约束,限制了该列的值都是唯⼀且非空的。
    
    -- 唯⼀性约束
    create table tb_dept1(
        id INT PRIMARY  KEY,
        name VARCHAR(22)  UNIQUE,
        location VARCHAR(50) 
    );
    
    说明:唯⼀性约束要求该列的值都是唯⼀的,允许为空,但只能出现⼀个空值。因此唯⼀性约束的功能是确保⼀列或者几列不出现重复值。⼀个表中可以有多个UNIQUE字段,但只能有⼀个PRIMARY KEY声明,声明为主键的列不允许有空值,而唯⼀性约束的列可以 且只有⼀个空值。
    
    -- 默认约束:用来指定某列的默认值
    
    create table tb_emp2(
        id INT PRIMARY  KEY,
        name VARCHAR(25) not null,
        deptId INT default 1000,
        salary float  
    );
    
    说明:如果在插⼊数据时没有指定部⻔编号,则默认都为1000。
    
    -- 属性值⾃动增加
    create table tb_emp3(
        id INT PRIMARY KEY AUTO_INCREMENT,
        name VARCHAR(25) NOT NULL,
        deptId INT,
        salary FLOAT 36 
    );
    
    说明:在插⼊记录时,默认的⾃增字段id的值从1开始,每次添加
    ⼀条新纪录时该值⾃动加1。
    
    INSERT INTO tb_emp3 (name,salary) 
    values('Tom',2000),('Jack',10000),('Kevin',40);
    
    select * from tb_emp3; 
    
    扩展1:查看表基本结构
    desc tb_emp3; 
    
    扩展2:查看表详细结构语句
    show create table tb_emp3;
    show create table tb_emp3\G
    

    三、常用的数据类型

    注:蓝色高亮为常用数据类型

    1、数值型

    数值型数据

    2、日期时间型

    日期和时间型数据

    3、字符型

    字符型数据

    4、其他

    其他类型的数据

    四、Navicat 管理工具

    1、连接 MySQL:在Navicat中新建⼀个连接

    连接 连接成功

    2、Navicat 基本操作

    (1)数据库基本操作

    新建数据库 数据库设置

    (2)数据表基本操作

    新建数据表 数据表设置

    (3)表数据基本操作

    插入和删除数据 查询语句

    3、数据库的备份与恢复

    (1)数据库的备份

    数据库备份

    (2)数据库的恢复

    数据库恢复

    相关文章

      网友评论

          本文标题:数据分析课程笔记 - 12 - MySQL(一)

          本文链接:https://www.haomeiwen.com/subject/npqcgktx.html