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

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

直接进入正题。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(一))