IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 数据分析 关系数据库和MySQL【中级】 -> 正文阅读

[大数据]数据分析 关系数据库和MySQL【中级】

Day1 数据分析 关系数据库和MySQL

关系数据库概述

1. 为什么要使用数据库

  • 数据持久化 —— 将数据从内存转移到硬盘(长久保存数据的储存介质)

  • 数据库(database) —— 存储数据,管理数据

2. 数据库的类型

  • 关系(型)数据库
  • 非关系型数据库 —> NoSQL数据库 —> No SQL —> No, SQL —> Not Only SQL
    - KV数据库
    - 文档数据库
    - 列族数据库
    - 图数据库

关系数据库的特点

  1. 理论基础:关系模型 - 关系代数 - 关系运算 - 谓词逻辑
  2. 具体表象:用二维表组织数据
  • 行(row):记录(record) - 元组(tuple)
  • 列(column):字段(field) - 属性(attribute)
  • 主键(primary key)
  • 外键(foreign key)
  1. 编程语言:SQL - 结构化查询语言

3. 关系数据库产品

~ Oracle / MySQL / DB2 / SQLServer / PostgreSQL / MariaDB

~ MySQL
    - reliable / mature / open-source
    - 中小型网站开发的黄金组合 - LAMP = Linux + Apache + MySQL + PHP

Structured Query Language - 结构化查询语言

  • 数据定义语言(DDL)- create / drop / alter / rename / truncate
  • 数据操作语言(DML)- insert / delete / update / select
  • 数据控制语言(DCL)- grant授权 / revoke召回
  • 事务控制语言(TCL)- start transaction / commit / rollback

中小型网站开发的黄金组合
LAMP = Linux + Apache + MySQL + PHP

4. MySQL命令行

显示所有数据库:show databases;
显示数据库下所有表:show tables;
显示所有的字符集:show charset;

5. 结构化查询语言(SQL)

~ DDL - Data Definition Language - 数据定义语言 - create / drop / alter

Unicode ---> utf-8 / utf-16 / utf-32
'a' ---> 1字节
'骆' ---> 3字节
'' ---> emoji ---> 4字节

utf8mb4 - 最大4字节的utf-8编码 - MySQL8默认

-- 如果存在名为school的数据库就删除它
drop database if exists school;

-- 创建名为school的数据库并指定默认的字符集
create database school default charset utf8mb4;

-- 切换数据库
use school;

-- 创建二维表
create table tb_student
(
    stu_id integer not null comment '学号', 
    stu_name varchar(20) not null comment '姓名', 
    stu_gender boolean not null default 1 comment '性别', 
    stu_birth date default '2000-1-1' comment '出生日期',
    primary key (stu_id)
) engine=innodb comment '学生表';

-- 删除表
drop table if exists tb_student;

-- 修改表添加列
alter table tb_student add column stu_addr varchar(200) default '' comment '家庭住址';
alter table tb_student add column stu_tel varchar(20) not null comment '联系电话';

-- 修改表删除列
alter table tb_student drop column stu_tel;

-- 修改表修改列
alter table tb_student modify column stu_gender char(1) default '男' comment '性别';
alter table tb_student change column stu_gender stu_sex char(1) not null default 'M' comment '性别';

6. 数据类型

~ help data types; / ? data types;
~ 整数
    - bigint(64bit ---> 8byte ---> -2^63 ~ 2^63-1)---> bigint unsigned(0 ~ 2^64-1)
    - integer / int (32bit ---> 4byte ---> -2^31 ~ 2^31-1)---> int unsigned(0 ~ 2^32-1)
    - smallint(16bit ---> 2byte ---> -32768 ~ 32767)---> smallint unsigned
    - tinyint (8bit ---> 1byte ---> -128 ~ 127) ---> tinyint unsigned 
~ 小数
    - float / double ---> 不推荐使用
    - decimal ---> decimal(10, 2)
~ 字符串 ---> 底层都是边长编码
    - char
    - varchar ---> varchar(20) ---> 65535 / 16383
    - longtext / longblob ---> 4G ---> 不推荐使用 ---> 用字符串保存文件路径即可
~ 日期时间
    - date
    - time
    - datetime
    - timestamp ---> 不推荐使用 ---> 底层是一个整数 ---> 2038年1月19日3时14分07秒
~ JSON
    - json数组
    - json对象

7. 高级文本编辑工具

~ Visual Studio Code
~ Sublime
~ Atom
~ Textmate
~ Notepad++
~ Editplus
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-09-04 01:18:22  更:2022-09-04 01:19:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 10:41:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码