数据库

存储数据的演变过程

  • 如果没有使用数据库,我们自己存放文件,数据格式是千差万别的,完全取决于我们自己,例如:
"""
# 张三
zhangsan|123|read
# 李四
lisi-123-sing
# 王五
wangle~123~dance
"""
  • 软件开发目录规范,它限制了我们存储数据的目录,每个目录都有自己的作用。
"""
bin 二进制文件
conf 配置文件
core 核心文件
lib 公共功能
db 数据库
readme 使用说明
"""
  • 假设有一个单机游戏,游戏的记录只能在自己的计算机上保存,并且注册登录的账号也只能在自己的计算机上有效,那么我们如何将一个单机的变成联网呢
"""
将数据库(db)保存部分全部统一起来
所有人操作数据都来一个地方操作
"""

数据库的本质

"""
数据库的本质就是一个基于socket网络通信的应用程序
这样的话其实每个人都可以开发一款数据库软件,因为它仅仅就是一个基于socket网络通信的应用程序
也就意味着数据库软件有很多很多
数据库分类两大类:
关系型数据库
MySQL、oracle、db2、sql server、access
非关系型数据库
redis、mongodb、memcache
# 关系型数据库的特点
1、数据之间彼此有关系或者约束
2、存储数据的表现形式通常是以表格存储
name password hobby
Matthew 123 read
Nagase 123 sing
Samuel 123 dance 每个字段还有存储类型的限制,比如,姓名字段只能存储字符串类型
# 非关系型数据库
存储数据通常都是以k、v键值对的形式
"""

MySQL数据库

"""
任何基于网络通信的应用程序底层使用的都是socket,socket是最底层的
- 客户端
- 基于socket实现通信
- 收发消息
- 服务端
- 基于socket实现通信
- 收发消息
"""
# MySQL不单单支持自己的客户端,还支持其他编程语言来充当客户端操作数据库,那么问题来了,如何解决语言的障碍呢?
# Method 1:让服务端精通所有的编程语言,这就类似于我们精通多国语言
# Method 2:采用统一的语言,这个统一的语言就是我们的SQL语句

重要概念介绍

"""
库 》》》 文件夹
表 》》》 文件
记录 》》》 文件内一行行的数据 name password hobby
Matthew 123 read
Nagase 123 sing
Samuel 123 dance 表头:表格的第一行字段
字段:name、password、hobby
表单:表头除外剩下的数据都是表单
"""

数据库的安装

  因为我是Mac本,因此在这里给大家介绍一下在Mac平台安装。

  下载地址:https://dev.mysql.com/downloads/mysql/,下载DMG安装包:

  

  下载完成之后,双击打开图形化安装界面:

  

  一直点击继续进行下一步操作:

  

  

  

  点击finish之后需要验证用户密码,稍等之后即可安装成功。

  

  

  安装完成之后,数据库自动启动,并且会开机自启动,这就是图形化安装的方便之处,不需要我们手动去设置。

  安装完之后,我们需要设置一下系统的环境变量。打开终端,进入个人目录(默认终端打开就是个人目录)

  由于操作系统是macOS Catalina,终端采用了zsh,因此我们在终端输入命令:sudo vim .zprofile然后回车,输入i进入编辑模式,我们在文件中编写如图所示两行配置。补充:mysql在Mac平台进行安装的时候,默认的安装目录是/usr/local/mysql

  

  配置完之后重启一下终端,以使得配置文件生效。

启动

  • 打开终端窗口,输入命令
"""
常见软件的端口号
mysql 3306
redis 6379
mongodb 27017
django 8000
flask 5000
tomcat 8080
""" # 客户端链接服务端的完整命令
mysql -h 127.0.0.1 -P 3306 -uroot -p

SQL语句初识

"""
1、MySQL中的SQL语句是以 ;结尾的,必须得输入!
2、基本命令:show databases; 查看所有的数据库名
3、连接服务端的命令可以简写:mysql -uroot -p
4、当我们输错了SQL语句,但是又不想让服务端给我们返回错误信息,我们可以使用\c取消命令的执行
5、退出客户端

🧑🏻‍💻数据库简介及Mac平台环境搭建🧑🏻‍💻的更多相关文章

  1. MAC OpenGL 环境搭建

    MAC OpenGL 环境搭建 基础库介绍 先要安装两个库一个是GLEW(OpenGL Extension Wrangler Library),另外一个是GLFW(Graphics Library F ...

  2. Appium+python自动化16-appium1.6在mac上环境搭建启动ios模拟器上Safari浏览器

    前言 在mac上搭建appium踩了不少坑,先是版本低了,启动后无限重启模拟器.后来全部升级最新版本,就稳稳的了. 环境准备: 1.OS版本号10.12 2.xcode版本号8.3.2 3.appiu ...

  3. appium1.6在mac上环境搭建启动ios模拟器上Safari浏览器 转自:上海-悠悠

    前言 在mac上搭建appium踩了不少坑,先是版本低了,启动后无限重启模拟器.后来全部升级最新版本,就稳稳的了. 环境准备: 1.OS版本号10.12 2.xcode版本号8.3.2 3.appiu ...

  4. Mac Appium环境搭建

    安装brew ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)" 安装java brew install ...

  5. 【MySQL】MySQL无基础学习和入门之一:数据库基础概述和实验环境搭建

    数据库基础概述  大部分互联网公司都选择MySQL作为业务数据存储数据库,除了MySQL目前还有很多公司使用Oracle(甲骨文).SQLserver(微软).MongoDB等. 从使用成本来区分可以 ...

  6. Mac 性能测试环境搭建——理论篇

    此篇为博主原创内容,若转载请写明出处,谢谢! 前言在搭建之初,我们要思考的2个点:1.性能怎么测试?2.性能的测试环境如何搭建(该如何去做)?1.什么是性能?    个人理解为:合理的架构.低耦合.高 ...

  7. 基于Prometheus和Grafana的监控平台 - 环境搭建

    相关概念 微服务中的监控分根据作用领域分为三大类,Logging,Tracing,Metrics. Logging - 用于记录离散的事件.例如,应用程序的调试信息或错误信息.它是我们诊断问题的依据. ...

  8. OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 8.仪表盘 Dashboard(horizon)安装配置

    仪表盘Dashboard(horizon)是一个web接口,使得云平台管理员以及用户可以管理不同的Openstack资源以及服务.这个部署示例使用的是 Apache Web 服务器. 节点配置信息说明 ...

  9. OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 1.操作系统环境配置

    1.OpenStack示例的架构介绍 1.1 各节点介绍 (1)控制节点(controller)控制节点(controller)上运行身份服务,镜像服务,计算节点管理,网络管理,各种网络代理和仪表板. ...

随机推荐

  1. 使用Redis——拳打南山敬老院,脚踩北斗幼儿园

    拳打南山敬老院,脚踩北斗幼儿园 Redis 你说你用过对吧,你们怎么用的? 面试官您好,因为传统的关系型数据库如Mysql已经不能适用所有的场景了,比如秒杀的库存扣减,APP首页的访问流量高峰等等,都 ...

  2. Fabric CA的部署与使用

    Fabric CA是Hyperledger Fbric的证书认证中心,提供以下功能:用户信息的登记与注册,数字证书的颁发与管理. 前言 之前使用CA服务一直是在docker容器中运行下载好的CA镜像, ...

  3. HDU2819

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2819 题目大意: 给出一个N*N的0/1矩阵,只能交换整行或者整列,问最少交换多少次可以变成一个主对角 ...

  4. [不得不知道系列]Java线程面试你不得不知道的基础知识一

    Java内存管理面试指南一 Java基础面试指南一 Java基础面试指南二 Java基础面试指南三 Java基础面试指南四 Java线程面试指南一 Java线程面试指南二 Redis面试指南一 Kaf ...

  5. dsPIC单片机的波特率的计算

    如果要求的波特率 为250Kbps 如何配置dsPIC单片机的波特率控制寄存器 1.求F1: Fosc/预分频(CiCFG1<5:0>) 2.求N: F1/250 3.同步段+传播段+Ph ...

  6. Python学习之路【第一篇】:Python简介与入门

    Python简介 一.什么是Python Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言 ...

  7. 事件处理& 事件委托& 区别mouseover与mouseenter

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. StackOverflow 创始人关于如何高效编程的清单.md

    这是 StackOverflow 联合创始人 Jeff Atwood 注释的十戒.程序员普遍有很强的自尊心,都应该看看本文,打印下来时刻提醒自己. "无我编程"发生在开发阶段,表现 ...

  9. java方法句柄-----2.方法句柄的获取、变换、特殊方法句柄

    目录 1.获取方法句柄 1.1查找构造方法.一般方法和静态方法的方法句柄 1.2 查找类中的特殊方法(类中的私有方法) 1.3 查找类中静态域和一般域 1.4 通过反射API得到的Constructo ...

  10. Linux (七)权限控制

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1. 概述 Linux需要对登录用户读写执行文件.进入目录.查看增删目录内容等操作进行控制,不能任由用户 ...