数据存储演变史

第一阶段:单独的文本文件

刚开始使用文本文件存储数据,这种方式没有固定的存放位置和固定的数据格式。

第二阶段:软件开发目录规范

这个阶段规定了文件存放位置,解决了文本文件没有固定的存放位置的问题,但是没有固定的数据格式这个问题还是存在。

第三阶段:数据库应用

这个阶段开始使用数据库来存储数据了,用数据库存储数据就解决了数据存放位置和数据格式的问题。

数据库应用发展史

第一阶段:单机游戏阶段

刚开始的数据都是各自保存在各自的计算机上的,无法实现远程共享,就像单机游戏一样,不用互联网,但只能在自己计算机上游玩。

第二阶段:多机游戏阶段

从这里开始数据都统一通过网络保存到某个固定的服务器上,其他计算机就可以通过这个服务器来实现数据共享了。

缺点:如果所有的数据都存放到一台服务器上,那么这个服务器的压力就会很大,并且一旦服务器崩溃,所有的数据都有可能丢失,数据的安全性比较低。

这个时候就有了新的解决方法:增加服务器的数量,任务均匀分担,并且数据同步保存,用于备份的作用,一台服务器崩溃了还有另外一台。

集群:具有相同功能的多个服务器组合到一起。

数据库本质

数据库从微观层面来说,就是运行在计算机上专门处理数据的进程;从宏观层面来说,就是提供给用户一个简单快捷的操作进程(数据处理)的软件;

所以平时在说的数据库一般指的是操作数据库的应用软件,也就是数据库软件,既然是一个软件,那么它的本质上也是一个基于C/S架构。

数据库分类

数据库大致可以分为两类:

  • 关系型数据库
  • 非关系型数据库

关系型数据库

特征:

  1. 有固定的表结构(主要特征),比如excel中的表格。
  2. 表与表之间可以建立关系,比如存储班级的表和存储学生的表之间是有关系的。

常见数据库:MySQL、Oracle、PostgreSQL、MariaDB、sqlite、sql server。

  • MySQL:关系型数据库代表,开源免费,使用频率极高。
  • Oracle:安全性极高,但是使用和维护收费。
  • PostgreSQL:支持二次开发(自己嫁接,拓展功能)。
  • MariaDB:与MySQL是用一作者,开发初衷是作为MySQL的替代品。
  • sqlite:小型数据库,携带方便但功能较少,主要用于本地测试。
  • sql server:老牌数据库软件,目前主流不用。

非关系型数据库

特征:

  1. 没有固定的表结构,数据存储采用K:V键值对形式(主要特征),比如{'name':'tom'}、{'username':'tom','password':'123'}
  2. 表与表之间不能建立关系。

常见数据库:Redis、MongoDB、Memcache。

  • Redis:目前最火的非关系数据库,类型丰富,功能强大。
  • MongoDB:最像关系型数据库的非关系型数据库,主要用于爬虫和大数据。
  • Memcache:落寞了,被Redis取代了。

SQL与NoSQL

SQL有时候用来表示关系型数据库,有时候表示SQL语句;NoSQL有时候用来表示非关系型数据库,有时候表示NoSQL语句

SQL语句与NoSQL语句统一了各个编程语言与数据库服务器的沟通标准。

  • SQL语句是与关系型数据库交互的语言。
  • NoSQL语句是与非关系型数据库交互的语言。

MySQL简介

版本问题

  • 5.6.X:使用最为广泛的稳定版本

  • 5.7.X:目前正在逐步过渡使用的版本

  • 8.0.X:最新版本,暂时不投入正常生产环境中使用(但是很好用)

下载使用

1.进入官网:MySQL

2.点击DOWNLOADS

3.点击MySQL Community (GPL) Downloads

4.点击MySQL Community Server

5.默认给你展示的最新版本MySQL,我们可以选择自己需要的版本

6.选择版本和操作系统后下载

7.下载完后解压到合适位置

8.添加bin文件夹到环境变量中

目录结构

这里以MySQL5.6.51为例。

根目录

bin文件夹

mysqld.exe用于启动服务端。

mysql.exe用于启动客户端。

基本使用

简单使用

游客模式

1.用管理员身份运行cmd

2.使用cd命令到bin路径下(如果添加了环境变量,这一步省略)

3.启动服务端:输入mysqld

4.重新打开一个cmd窗口(不要关闭之前的cmd窗口)

5.启动客户端:输入mysql

如果显示的和我一样的界面,那就说明没有问题了。

管理员模式

在上述步骤的第五步中,把命令换成:

mysql -uroot -p

回车后会提示你输入密码,因为是第一次登录,没有密码,再次按回车即可。

系统服务

上面的简单使用中,服务端窗口需要一直开着,非常麻烦。如果我们不想自己启动服务端,可以设置成开机自启动。

步骤:

1.用管理员身份运行cmd

2.输入:mysqld --install

3.在输入:net start mysql

4.这时服务端就是一直处于运行状态了,无论何时都可以通过cmd窗口进入mysql环境了

手动管理服务

如果你不想开机自启mysql服务,那么就进行如下操作。

1.右键此电脑-->管理-->服务和应用程序-->服务。

2.找到mysql服务,右键-->属性。

3.设置启动类型为手动,应用,确定。

4.设置成功后,以后每次开机都需要自己去启动mysql服务。

补充

停止服务端命令:net stop mysql

移除系统服务:mysqld --remove

修改密码

方式一:通过cmd窗口直接修改

1.打开cmd窗口

2.更改密码命令:

mysqladmin -u用户名 -p原密码 password 新密码

因为刚下载的mysql,所以没有密码,原密码不写即可。

修改管理员密码为'123456'案例:

mysqladmin -uroot -p password 123456

方式二:进入mysql环境后修改

1.打开cmd窗口进入mysql环境

2.更改密码命令:(最新版不支持)

set password=PASSWORD('新密码');

重要概念

库:类似于文件夹

表:类似于文件

记录:类似于文件中的一行行数据

补充

SQL语句使用分号作为结束符。

基本SQL语句

关于库的基本语句

SQL语句 作用
use 库名; 切换到指定库,操作库中的表时必要操作
show databases; 查看所有的库名称
show create database 库名; 指定查看某个库的信息
create database 库名; 添加库
alter database 库名 charset='字符编码'; 修改指定库的字符编码
drop database 库名; 删除库
select database(); 查看当前在哪个库下,显示NULL说明不在任何库下

关于表的基本语句

SQL语句 作用
show tables; 查看当前库下所有的表名称
show crate table 表名; 指定查看某个表的信息
create table 表名(字段名称1 字段类型1, 字段名称2 字段类型2,...); 创建表
alter table 表名 rename 新表名; 修改表名
drop table 表名; 删除表
desc 表名; 查看指定表的字段信息
alter table 表名 add 新字段 字段类型; 末尾添加字段
alter table 表名 add 新字段 字段类型 after 已有字段; 已有字段后追加新字段
alter table 表名 add 新字段 字段类型 first; 头部添加字段
alter table 表名 change 旧字段 新字段 字段类型; 修改字段名
alter table 表名 drop 已有字段; 删除字段

关于记录的基本语句

SQL语句 作用
insert into 表名 values(值1,值2,...); 添加一条记录,值与表中的字段对应
insert into 表名 values(值1,值2,...),(值3,值4); 添加多条记录
select * from 表名; 查看表里面所有的数据
select * from 库名.表名; 查看指定库下面的指定表里面的所有数据
select 字段1,字段2,... from 表名; 查看表中指定字段的数据
select * from 表名\G 查询语句后加\G时,数据会逐行展示
update 表名 set 字段名=新值 where 筛选条件; 修改表中符合条件的记录的字段值
delete from 表名 where 筛选条件; 删除表中符合条件的数据
delete from 表名; 删除表中所有数据

数据库与MySQL的下载使用的更多相关文章

  1. 数据库之mysql篇(1)—— 数据库管理系统简介/mysql的安装、配置

    说mysql之前,还是先说说数据库. 什么是数据库: 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后 ...

  2. {MySQL数据库初识}一 数据库概述 二 MySQL介绍 三 MySQL的下载安装、简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 初识sql语句

    MySQL数据库初识 MySQL数据库 本节目录 一 数据库概述 二 MySQL介绍 三 MySQL的下载安装.简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 ...

  3. 数据库、MySQL下载与安装、基本SQL语句

    数据演变史 # 1.单独的文本文件 没有固定的存放位置 没有固定的数据格式 '''程序彼此无法兼容 没有统一的标准''' # 2.软件开发目录规范 按照文件功能的不同规定了相应的位置 '''文件查找变 ...

  4. 数据库 之MySQL 简单教程

      So Easy系列之MySQL数据库教程 1.   数据库概述 1.1.  数据库概述 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和 ...

  5. 【数据库】MySQL的安装与简单使用

    首先我们要下载Mysql的安装包,大家可以到http://mysql.com官网中根据自己的电脑系统版本下载 也可以点击 MySQL资源 下载 密码:btuu 建议下载5.7以上的版本,因为省掉了许多 ...

  6. 08 Linux下MySQL的下载、安装及启动

    测试环境 主机系统:Win7 64位 虚拟机:VMware® Workstation 11.1.0 虚拟机系统:CentOS 6.5 64位   Kernel 2.6.32-431.e16.x86_6 ...

  7. go操作数据库 Go-SQL-Driver/MySQL 使用详解

    go操作mysql的驱动包很多,这里讲解当下比较流行的Go-SQL-Driver/MySQL1.下载安装 执行下面两个命令: 下载:go get github.com/Go-SQL-Driver/My ...

  8. Cobar是提供关系型数据库(MySQL)分布式服务的中间件

    简介 Cobar是提供关系型数据库(MySQL)分布式服务的中间件,它可以让传统的数据库得到良好的线性扩展,并看上去还是一个数据库,对应用保持透明. 产品在阿里巴巴稳定运行3年以上. 接管了3000+ ...

  9. 2、ABPZero系列教程之拼多多卖家工具 更改数据库为Mysql

    因为要部署项目到云服务器,不想在服务器上装SqlServer,所以需要把项目改为Mysql. 项目初始化 1.下载项目压缩包,前面文章已经说到,可以加群到群文件里下载.解压缩下载的项目源码,使用VS2 ...

随机推荐

  1. 前端进阶(12) - css 的弱化与 js 的强化

    css 的弱化与 js 的强化 web 的三要素 html, css, js 在前端组件化的过程中,比如 react.vue 等组件化框架的运用,使 html 的弱化与 js 的强化 成为了一种趋势, ...

  2. 介绍一项让 React 可以与 Vue 抗衡的技术

    好吧,我承认我是标题党.React 明明如日中天,把它与 Vue 倒过来,给 Vue 加点东西或可与 React 抗衡.不过,这两年 Vue 干的正是这事,不断加东西,不断优化,按它现有发展速度超越 ...

  3. nginx之配置文件公用抽取

    nginx之配置文件公用抽取 因为某些原因,需要同时部署同一应用两个不同分支的代码,而配置文件存在较大重复,因此有此篇. 最近构建的过程中遇到了一些跟nginx配置相关的问题,记录下. 简单说下构建的 ...

  4. Virtual Function(虚函数)in c++

    Virtual Function(虚函数)in c++ 用法: virtual void log() { std::cout << "hello world!" < ...

  5. Java 值传递 or 引用传递?

    Java 方法传参 值传递 or 引用传递? 结论:Java采用的是值传递 先建立一些基础的概念 什么是值传递和引用传递? 值传递(pass by value):是指在调用函数时将实际参数复制一份传递 ...

  6. NLP---word2vec的python实现

    import logging from gensim.models import word2vec import multiprocessing # 配置日志 logging.basicConfig( ...

  7. clone github代码库很慢,如何提速

    博主,最近在搭建hyperledger fabric的环境,其中有一步就是clone github上的代码,但是在过程中发现clone是真的慢. 为此google了一圈,发一现一个好用的办法: 1.登 ...

  8. Java学习day22

    今天跟着视频学习了JScroll面板,图片按钮以及单多选框 这是一个图片按钮程序 很多网站还有软件的图标兼容按钮的功能,如果只有button是无法实现该功能的这时候就需要使用到图标按钮 文本框没有办法 ...

  9. Java语言学习day26--7月01日

    ###14内部类 * A: 内部类的概述 将类写在其他类的内部,可以写在其他类的成员位置和局部位置,这时写在其他类内部的类就称为内部类. 其他类也称为外部类. * B: 什么时候使用内部类 在描述事物 ...

  10. 罗马数字转整数,Java执行时间超过100%用户的写法

    执行用时:2 ms, 在所有 Java 提交中击败了100.00%的用户 题目 https://leetcode-cn.com/problems/roman-to-integer 罗马数字包含以下七种 ...