数据库简介与MySQL简介
MySQL简介
数据存取演变史
起源······文本文件
- 在最开始使用计算机都没有相应的规范我们的数据一般都是自己起一个名字然后就根据这个路径存储数据并且存储数据的格式也都五花八门就产生了很多奇奇怪怪的方式
- 文件路径C:xxx.txt,D:xxx.txt, E:xxx.txt, F:xxx.txt等
- 数据存储格式:joseph|321, Alice¥520等
发展······软件开发目录规范
- 我们渐渐的创造出一些默认的软件开发目录规范,让存储数据不再变得那么难以查找,并且一看某些文件夹就知道内部文件大概是什么,但是针对数据的存储格式还是没有完全统一
- 规定了文件存储大概位置:db文件夹内
- 数据存储格式:json格式和picket格式等存储格式还是繁多
现阶段·····数据库服务
- 针对上方的情况我们也搞出了解决方法既然大家存储格式都不太一样那么我就发明一种足够吸引你使用的存储格式和地方,然后大家就一起使用统一的存储格式那么就方便互相之间的交互
- 统一了存取位置和数据与格式
数据库软件应用史
- 单机模式
- 在不同计算机上的相同程序,数据无法共享因为数据库的存储服务全是在本机上完成也就是本地存储,无法分享,满足个人需求
- 联机交互模式
- 不同计算机上的相同程序,数据可以共享,数据库并不存储在本地而是存储在网络架构上方的远程数据库上,我们只需要联网就可以去那个地方拿取到我们自己的数据
- 远程数据库
- 数据库服务是构建一个数据库集群,但是为了我们的数据的安全性和服务器的负载效率我们一般让数据存储分备份存储在不同地方以防出现数据丢失或者物理丢失的情况,所以就有了一句话,贵州山脉服务器集群,水冷设备降温除虫。远离病虫害。(自己瞎编的)
数据库的本质
- 数据库的表达角度
- 站在底层原理的角度来说数据库是指专用于操作数据的进程,就是指运行在内存中的代码
- 而站在显示应用的角度来说,数据库其实本质上就是一种拥有操作界面的应用程序
- 数据库的本质
- 其实数据库本质上来说就是一款应用程序,理论上我们是个程序员都可以自己编写数据库应用程序,他其实也是一款CS架构的应用程序。
数据库的分类
关系型数据库
- 数据的组织方式有明确的表结构,甚至我们可以将他直接看成是存储在表格中
id name password 1 joseph 123 2 jason 520 - 表与表之间可以建立数据库层面的关系,只需要获取到用户表中的一条数据那么我们就可以获取到与之相关的其他表的数据
SQL 形态 介绍 MySQL 开源 使用最为广泛,数据库学习必学,现在安全程度也变得越来越高 PsotgreSQL 开源 支持二次开发 MariaDB 开源 与MySQL是同一个作者,用法也极其相似,名称是以自己女儿名字命名 Oracle 收费 安全性极高,各大银行和重要机关使用 sqlite 小型数据库 主要是用于本地测试在django中自带的一个数据库 db2 开源 转为中型和大型商业机构设计开发 sql server 开源 使用集成的商业智能(BI)工具提供了企业级的数据管理 非关系型数据库
数据结构没有明确的表的形式去表述,一般是以字典的K:V键值对的形式去组织存储
{'name':'jsoeph'}{'username':'Alice','password':'520'}
数据之间无法直接建立数据库层面的关系
SQL 形态 介绍 redis 目前来说最火的非关系数据库 使用频率最好的缓存型数据库 mongoDB 稳定型数据库 最像是关系型数据库的非关系数据库,有Java那味了 memcache GG GG
MySQL简介
- 前言
- 虽然说数据库类型也是繁多复杂的但是就底层操作来收几乎都差不多,只要学会一个的话那么学别的就会特别快,MySQl一般来说都是第一个学习使用的数据库
- 版本
- 5.6.x 前几年使用频率最高的版本
- 5.7.x 最近几年在迁移的版本使用频率正在逐步上升
- 8.0.x 最新版本,功能非常强大,但是线上环境也就是公司中一般不会去使用这个版本,因为公司宁可使用十多年前的版本也要追求稳定性,否则一旦出事很难收拾,我们自己在个人使用的时候开源尝试使用8.0.x
- 版本之间虽然有所不同但是操作上基本没有什么改变
- 下载及其安装详情
- 访问官网 https://www.mysql.com/
- 点击DOWNLOADS https://www.mysql.com/downloads/
- 在下方点击GPL MySQL Community (GPL) Downloads »
- 点击community server https://dev.mysql.com/downloads/mysql/
- 点击archives https://downloads.mysql.com/archives/community/
- 点击download 一般选择64位的即可
- 安装使用管理员安装和登录并且设置自己的密码即可
- 重要文件介绍
- bin文件夹
- mysqld.exe 服务端
- mysql.exe 客户端
- data文件夹
- 存储数据
- my-default.ini
- 默认的配置文件
- bin文件夹
MySQL基本使用
- 先启动服务器
- 可能会有两种报错:寻找关键信息到浏览器寻找解决方式,一般为缺失文件,下个补丁应该就可以了
- 查找MySQL文件位置
- 打开一个cmd窗口输入 cd+文件路径 进入登录然后保持这个状态不动充当服务端即可
- 再次打开新的cmd窗口
- 进入MySQL直接回车就可以进入阉割的游客模式,但是功能很少
- 用户登录
- 输入mysql -u用户名 -p密码 ;就可以登录了
- 一般第一次的话直接输默认的账号密码即可 mysql -uroot 空密码即可登录
- 退出
- quit 退出
- exit 退出
系统服务制作
- 添加环境变量
- 找到我们系统的环境变量然后点击path将我们的mysql的bin文件夹的绝对路径添加进去即可
- 讲MySQL服务端设置成自动启动
- 以管理员身份进入cmd窗口,执行mysqld --install命令
- 然后有两种方式一种是使用系统服务命令 services.msc 调出系统设置找到MySQL然后启动
- 另一种方法是使用命令的方式 net start mysql
- 关闭服务器和移除系统服务
- 关闭服务器 net stop mysql
- 先确保服务已经关闭然后执行移除命令 mysqld --remove
密码相关操作
修改密码
mysqladmin命令
通用命令:
mysqladmin -u用户名 -p原密码 password 新密码
第一次修改
mysqladmin -uroot -p(这里为空就好因为默认密码为空,如果安装时你已经设置密码那么直接输你密码即可) password xxx
低版本修改简便方式: # 但是需要先登录
set password=PASSWORD(新密码)即可
忘记密码
把系统内存储你密码的那三个文件删除然后让你朋友将他的三个文件发你粘贴到那三个文件的地址上你用他的账号密码登录,然后你再更改
先关闭服务器,然后就不需要校验用户身份及逆行启动,再去修改安装正常方式启动
1.net stop mysql
2.mysqld --skip-grant-tabes
3.mysql -uroot -p
4.update mysql.user set password=password(xxx) where HOST='localhost' and User='root'
5.net stop mysql
6.net start mysql
SQL和NoSQL
- 兼容性
- 由于数据库是为了支持各种语言充当客户端,但是各种语言的区别有很大为了解决这个问题我们就像如何做到让所有的语言都可以使用我们的数据库那么就出现了两种方式
- 一种是服务端也就是数据库进行兼容所有语言,但是那样就会使服务端变得臃肿所以我们就应该使用另一种方式
- 自己制定一套标准所有的都遵循我的标准来执行那么就可以做到我的服务器又好用,还快,但是就是需要学一下我的简单语句就可以使用SQL语句和NoSQL语句两种
- 由于数据库是为了支持各种语言充当客户端,但是各种语言的区别有很大为了解决这个问题我们就像如何做到让所有的语言都可以使用我们的数据库那么就出现了两种方式
- 语法区别
- SQL语句的意思就是操作关系型数据库的语法
- NoSQL则是操作非关系型数据库
- 所以有时候SQL也被指为关系型数据库而NoSQL则指为非关系型数据库
数据库的重要概念
数据库 | 操作 | 作用 | 帮助理解 |
---|---|---|---|
库 | show databases; | 查看所有的数据库 | 文件夹 |
表 | show tables; | 查看所有的表 | 文件夹中的文件 |
记录 | select * from mysql.user; | 查看user表中的所有记录 | 文件中的数据 |
数据库补充知识
符号 | 作用 |
---|---|
;(分号) | SQL语句中的结束符 |
\c | 取消SQL语句执行 |
针对库的基本SQL语句
操作 | 代码 | 作用 |
---|---|---|
增 | create database 库名; | 增加一个新的库 |
查 | show databases; |show create database 库名; | 查询这个库下的数据 |
该 | alter database 库名 charset='gbk'; | 更改这个库下的数据 |
删 | drop database 库名; | 删除这个库 |
查看所在库名 | select database(库名); use 库名; | 如果没有的话默认为NULL |
针对表的基本SQL语句
操作 | 代码 | 作用 |
---|---|---|
增 | create table 表名(字段名 字段类型) | 增加表内数据 |
查 | show tables;|show create table 表名; |descrlbe 表名;|desc 表名; | 查看表内的内容 |
改 | alter table 旧表名 rename 新表名; | 改表名 |
删 | drop table 表名; | 删除表 |
针对记录的基本SQL语句
操作 | 代码 | 作用 |
---|---|---|
增 | insert into 表名 values(数据,数据); |insert into 表名 values(数据,数据); | 增加表内的数据 |
查 | select * from 表名; |select 字段1,字段2 from 表名; | 查看表内的所有字段 |
改 | updata 表名 set 字段名=新数据 where 筛选条件; | 修改表内的数据 |
删 | defete from 表名;|defete from 表名 where 筛选条件; | 删除表中所有数据和按条件删除数据 |
数据库简介与MySQL简介的更多相关文章
- mysql由浅入深探究(一)----数据库简介与mysql安装
mysql简介: 首先谈到mysql,我们要知道这是一个开源的数据库,与开源对应的就是free,但这并不意味着其性能会比很差,mysql同样能支持千万级以上的大数据量,甚至更多.同时mysql还支持许 ...
- 01--数据库MySQL:【数据库DB】和【数据库管理系统DBMS】 简介
1.数据库DB 数据库:DB(DataBase) 按照一定规则存储在计算机的内部存储设备上被各种用户或者应用共享的数据集合 2.数据库管理系统DBMS 1)数据库管理系统DBMS:DBMS(DataB ...
- MySQL数据库笔记一:简介及简单操作
一.初识MySQL数据库 1.数据库的概述 <1>数据库:Database 长期存储在计算机内的,有组织的,可共享的数据集合. 存储数据的仓库.(文件) <2>数据库管理系统: ...
- 第一章 Mysql 简介及安装和配置
Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一. ...
- mysql基础篇-----mysql简介
2017-04-19 一.mysql简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 ...
- MySQL(一)之MySQL简介与安装
大家可能都在用MySQL,其实我也是在用MySQL的,但是你知道吗?大部分人都是在windows中使用,这里将介绍一下在windows中的安装分为安装包安装与MSI包安装,以及在linux中的在线安装 ...
- PHP MySQL 简介
PHP MySQL 简介 通过 PHP,您可以连接和操作数据库. MySQL 是跟 PHP 配套使用的最流行的开源数据库系统. 如果想学习更多 MySQL 知识可以查看本站MySQL 教程. MySQ ...
- MySQL简介及安装
一.DBA工作内容及课程体系 二.MySQL课程体系介绍 三.DBA的职业素养 四.MySQL简介及安装 01 什么是数据? 02 什么是数据库管理系统 03 数据库管理系统种类 04 MySQL发展 ...
- mysql -> 简介&体系结构_01
数据库简介 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增.截取.更新.删除等操作. 所谓“数据库”系以一定方式储存在一起.能予多个用户共享.具有尽可能小的 ...
随机推荐
- Redis集群搭建 三主三从
Redis集群介绍 Redis 是一个开源的 key-value 存储系统,由于出众的性能,大部分互联网企业都用来做服务器端缓存.Redis在3.0版本之前只支持单实例模式 虽然支持主从模式,哨兵模式 ...
- 如何在Uniapp中访问CabloyJS后端API管理系统
介绍 CabloyJS是一款免费开源的NodeJS全栈开发框架,采用前后端分离设计,具备开箱即用的后台管理系统 Cabloy-SDK是专门为Uniapp应用量身定制的前端SDK,用于便捷的访问Cabl ...
- SpringBoot之:SpringBoot中使用HATEOAS
目录 简介 我们的目标 构建Entity和Repository 构建HATEOAS相关的RepresentationModel 构建Controller HATEOAS的意义 总结 简介 HATEOA ...
- 如何从0开发一个Vue组件库并发布到npm
1.新建文件夹在终端打开执行 npm init -y 生成package.json如下,注意如果要发布到npm,name不能有下划线,大写字母等 { "name": "v ...
- JavaScript写倒计时
在网页中,特别是电商网站中,倒计时的出现频率很高,接下来给大家介绍一下怎么用JavaScript写一个倒计时.代码如下: 首先我们通过Date构造函数的方法创建一个倒计时的结束的时间.并将其转换为毫秒 ...
- RPA应用场景-对公账户开户资质审查
场景概述 对公账户开户资质审查 所涉系统名称 人民银行账户管理系统 人工操作(时间/次) 0.5小时 所涉人工数量 132 操作频率 不定时 场景流程 1.机器人自动登录人民银行账户管理系统 2.查询 ...
- iOS OC纯代码企业级项目实战之我的云音乐(持续更新))
简介 这是一个使用OC语言,从0使用纯代码方式开发一个iOS平台,接近企业级商业级的项目(我的云音乐),课程包含了基础内容,高级内容,项目封装,项目重构等知识:主要是讲解如何使用系统功能,流行的第三方 ...
- Http实战之Wireshark抓包分析
Http实战之Wireshark抓包分析 Http相关的文章网上一搜一大把,所以笔者这一系列的文章不会只陈述一些概念,更多的是通过实战(抓包+代码实现)的方式来跟大家讨论Http协议中的各种细节,帮助 ...
- 链表设计与Java实现,手写LinkedList这也太清楚了吧!!!
链表设计与实现 在谈链表之前,我们先谈谈我们平常编程会遇到的很常见的一个问题.如果在编程的时候,某个变量在后续编程中仍需使用,我们可以用一个局部变量来保存该值,除此之外一个更加常用的方法就是使用容器了 ...
- GitHub相关资料&&可以参加的开源项目
GitHub相关的资料 有不懂的地方时可以看GitHub Docs. GitHub tutorial GitHub glossary GitHub的字典,可以看到里面特定的概念. All about ...