数据库简介与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
数据库简介 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增.截取.更新.删除等操作. 所谓“数据库”系以一定方式储存在一起.能予多个用户共享.具有尽可能小的 ...
随机推荐
- 这篇SpringCloud GateWay 详解,你用的到
点赞再看,养成习惯,微信搜索[牧小农]关注我获取更多资讯,风里雨里,小农等你,很高兴能够成为你的朋友. 项目源码地址:公众号回复 sentinel,即可免费获取源码 背景 在微服务架构中,通常一个系统 ...
- Java-调用R语言和调用Python(前后端展示)
1. 背景 R语言和Python用于数据分析和数据处理,并生成相应的直方图和散点图 需要实现一个展示平台,后端使用Java,分别调用R语言和调用Python,并返回数据和图给前端显示 这个平台主要实现 ...
- 叮,GitHub 到账 550 美元「GitHub 热点速览 v.22.26」
作者:HelloGitHub-小鱼干 如果你关注 GitHub 官方动态,你会发现它们最近频频点赞世界各地开发者晒出的 GitHub $550 sponsor 截图,有什么比"白嫖" ...
- Python在函数中使用列表作为默认参数
在学习中遇到的Python的一个坑,那就是使用列表作为默认参数. 我们知道,在Python中,列表(list)是可变对象,所以列表的内容可能会在函数内改变.另一个需要注意的是,使用列表作为函数的默认参 ...
- 写for循环快捷生成方式
在编写代码过程常常会使用到for循环,这里给大家介绍一种快捷写法len.fori+回车键(其中len为循环长度)举个栗子,编写10次循环 8.fori
- 学习C4C的视频分享
- 集合容器和Hash表
集合容器 集合相当于一个容器,在我们使用Arraylist的时候添加参数相当与放了一个容器中.这里面的元素是可以重复的 在HashSet中添加元素是没有重复的,我们来写一个测试看一下 public s ...
- DNS 系列(二):DNS 记录及工作方式,你了解吗?
在上一篇<DNS 系列(一):为什么更新了 DNS 记录不生效?>中,我们主要讲解了 DNS 和 DNS 传播,知道了网络通信主要通过 IP 地址来进行,而域名系统(DNS)则是保证用户在 ...
- java.Scanner 拓展用法
package study5ran2yl.study; import java.util.Scanner; public class demo11 { public static void main( ...
- 5-10 Quartz 任务调度
Quartz 什么是Quartz quartz:石英钟的意思 是一个当今市面上流行的高效的任务调度管理工具 由OpenSymphony开源组织开发 Symphony:交响乐 是java编写的,我们使用 ...