第三章 数据存储-数据库基础及MySQL使用 2021-09-23

爬虫系列总目录

本章节介绍数据存储相关内容。
第三章 数据库简介与MySQL使用

一、 数据库介绍

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库;是保存有组织数据的容器。
简单来说,数据库就是用来存放数据的仓库, 是特殊的文件,需要特定方式操作.

1.1 数据库分类

1、SQL关系型数据库
在关系型数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关联的表格分类、合并、连接或选取等运算来实现数据库的管理。

  • 传统关系数据库:Oracle、MySQL、Microsoft SQL Server
  • 大数据常见数据库:Hive、Impala、Presto

主要特点

  1. 关系型数据库的最大特点就是事务的一致性, ACID。
  2. 为了维护一致性读写性能比较差
  3. 数据的持久存储还是需要使用关系数据库

2、 NoSQL非关系型数据库
作为传统关系型数据库的一个有效的补充,NoSql传统数据库在特定的场景下可以发挥出难以想象的高效率和高性能。

  • 键值存储数据库代表:Memcached、Redis、Ehcache
  • 列存储数据库代表:Cassandra、HBase
  • 面向文档数据库代表:MongoDB、CouchDB
  • 图形数据库代表:Neo4J、InforGrid

主要特点

  1. 无事务处理。
  2. 数据没有耦合性,容易横向扩展。
  3. 分布式

二、MySQL 数据库使用

2.1 MySQL版本

MySQL目前主流版本有两种:MySQL5.7.x和MySQL8.0.x。

2.2 命令使用

mysql -h主机ip -u用户名 -p用户密码
-- 查看当前数据库版本
select version();
-- 查看当前所有的库
show databases;
-- 使用指定库
use <库名>;
-- 查看当前使用的数据库
select database();
-- 查看当前数据库中所有的表 此命令需要先use
database_name;
show tables;

2.3 数据类型

MySQL中常用的数据类型:

  • 整数: int, bit
  • 小数: decimal
  • 字符串: varchar, char
  • 日期时间: date, time, datetime
  • 枚举类型: enum

注意事项:

  1. decimal(5,2) 其中5表示可以存5位数,2表示这个5位数中小数占2位。
  2. varchar和char 两个类型后面的参数是表示接受多少个字符,不是字节。

2.4 MySQL中约束的分类

1、 主键约束 Primary Key (简称 PK) : 主键一般与自增一起使用,也是约束唯一
2、非空约束 Not Null : 在表中插入数据中这个字段不能为空
3、唯一约束 Unique : 在表中插入数据时,该字段的值是唯一的,不能与已有数据的该字段值重复
4、 外键约束 Foreign Key (简称 FK) : 外键是表与表间关系的一种键
5、默认约束 Default: 在表中插入数据时,如果不对有默认值的字段赋值,该字段将使用默认值
6、自增约束 AUTO_INCREMENT : 在表中插入数据时,如果不对该字段赋值,会自动在已有最大值的基础上+1

2.5 建库建表与 增删改查

CREATE database abc
show create database 库名;
INSERT INTO tb_name [字段名1,字段名2....]
(value1,value2...);
SELECT 字段名称
FROM 表名称
WHERE 条件
GROUP BY 分组
HAVING 添加条件
ORDER BY 排序
LIMIT .....;

更新操作

update 表名 set1=1,2=2... where 条件;
alter table <表名>
add
<列名> <类型及约束>;

-- 删除字段
alter table
<表名>
drop
<字段名>;

-- 修改字段名
alter table
表名
change
旧字段名 新字段名 字段约束; -- 新字段需要完整定义
删除特定行:
delete from 表名 #从哪张表中删除
where 条件 #删除的条件
-- 此种删除如果没有备份 删除后就不能在恢复了,所以一
般来说都是使用逻辑删除

三、MongoDB 数据库使用

MongoDB是一个基于分布式文件存储 的数据库。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。支持的查询语言非常强大,其语法有点类似于面向对象的查询语言还支持对数据建立索引。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值