数据库基本常识的简介及mysql安装

本mysql学习基础材料来自于b站视频,并自己再进行整理。

首先介绍一下数据库的概念

  • 数据(Data):所谓数据是指对客观事物进行描述并可以鉴别的符号,这些符号是可识别的、抽象的。它不仅仅指狭隘以上的数字,而是多种表现形式:字母、文字、文本、图形、音频、视频等。
  • 数据库(Database, DB):指的是以一定格式存放、能够实现多个用户共享、与应用程序彼此独立的数据集合。
  • 数据库管理系统(Database Management System,DBMS):用来定义和管理数据的软件。能够科学的组织和存储数据、维护数据、保证数据的安全性和完整性。目前比较主流的数据库包括:Oracle、MySQL、SQL Server、DB2等。
  • 数据库应用程序(Database Application System,DBAS):是数据库管理系统基础上,使用数据库管理系统的语言,开发直接面对最终用户的应用程序,例如学生管理系统、人事管理系统、图书管理系统等。
  • 数据库管理员(Database Administrator,DBA):是指对数据库管理系统进行操作的人员,其主要负责数据库的运行和维护。
  • 最终用户(User):指的是数据库应用程序的使用者。用户面向的是数据库应用程序(通过应用程序操作数据),并不会直接与数据库打交道。
  • 数据库系统(Database System,DBS):一般是由数据库、数据库管理系统、数据库应用程序、数据库管理员和最终用户构成。其中DBMS是数据库系统的基础和核心。

接下来说一下数据库类型

  • 根据数据的组织结构不同,数据库类型主要分为:网状数据库、层次数据库、关系型数据库和非关系型数据库四种。最常见的就是关系型数据库和非关系型数据库。ps:关系其实就是二维表。
  • 关系型数据库主要包括:Oracle、DB2、SQL Server、MySQL等。其主要特点就是内容是由数据库字段所决定的。
  • 非关系型数据库(Not only SQL,NOSQL)主要包括:Memcached、MongoDB、redis、HBase等。Memcached和redis是将数据存储到了内存中,要求设备是不能断电的,其速度很快,因为不像MySQL等,需要I/O操作。MongoDB,主要操作的是json字符串数据,好处是字段是可以动态的。HBase在大数据方面用的较多。

接下来是数据库简介:

  • Oracle:甲骨文(Oracle)公司,收费高、性能高、风险低、硬件要求高,一般主要用于金融、保险、银行等行业。
  • DB2:IBM公司,稳定性、安全性、恢复性上都不错,主要适用于大型的分布式应用系统。
  • SQL Server:Microsoft公司,致命缺点是只能在window下运行。
  • MySQL:最开始是一个瑞典的公司开发的,开源的、体积小、速度快、成本低。

接下来简单介绍一下mysql

  • 最开始是由瑞典的公司开发的,然后在08年被sun公司收购,sun在09年被oracle收购。开源的、跨平台、轻量级、成本低。
  • MySQL分为社区版和企业版,社区版是免费的,企业版收费,但是相对于oracle数据库,MySQL的企业版收费也是相对便宜的。
    • 社区版包含所有MySQL的最新功能,而企业版只包含稳定之后的功能。换句话说,社区版是为企业版进行测试的。
    • MySQL官方支持的服务只针对企业版,如果用户在使用社区版出现问题的时候,MySQL官方是不负责人的。
  • mysql的版本以8为一个比较明确的分界线。

接下来安装一下mysql(目前安装较多的一般是8以上的版本。物竞天择,适者生存,别装最新的,也别装太旧的)

  • windows安装教程,网上有好多教程,目前mysql8以上的较好用,解压修改配置文件即可,这里有一个博主的,我一直参考。点击跳转
  • linux的安装教程可以参考这个,也是很详细的连接。点击跳转

接下来说一下mysql登录等命令

  • 首先说一下环境变量是啥东西:环境变量就是指,在任何的地方打开cmd终端,都可以执行的命令,例如我们登录mysql的命令一般是"mysql -hlocalhost -uroot -p",但是如果没有环境变量,我们需要打开cmd切换到安装目录的bin下,再执行这行命令,但是配置环境变量以后,直接win+r输入cmd,然后执行"mysql -hlocalhost -uroot -p"就可以进入mysql了。
  • 登录mysql的命令:mysql -hlocalhost -uroot -p。其中,本机root身份登录,p后面可以紧接密码,但是就会直接显示出来,所以可以回车后再输入密码。-hlocalhost可以不输入(不输入的时候,其实就是登录本机的mysql),或者h后面加远程的ip也可以。
  • show databases;:显示全部的数据库(不同项目)。
  • use databaseName;:使用哪个数据库(不同项目)。
  • show tables;:查看数据库下面所有的表。
  • exit;、quit;、\q;:退出数据库。

MySQL层次:不同项目对应不同数据库(也就是上面的database),每个数据库内部有很多表,每个表中有很多数据。换句话说,安装mysql只需要安装一个就行了,然后在里面针对不同的项目,创建不同的database,关于创建的命令,后面会介绍。

再说一下MySQL卸载:我没有卸载过,所以大家自行百度吧。但是教程中有window的卸载,如下,

  • 停止mysql的服务,可以执行net stop mysql命令,或者再window的服务页面停掉mysql的服务。
  • 然后删除掉对应的程序文件夹和数据文件夹即可。
  • 最后删除环境变量中的内容。

不能总是使用cmd查看吧,接下来介绍一个连接数据库的工具Navicate,提取码:h55t,好像是傻瓜式安装,我忘记了:

  • 其实就是一个客户端,是一个图像化界面的工具。
  • 创建一个连接,连接到数据库:
    • 连接名随便起就行,比如跟项目名联系起来,或者表示这个连接的作用等。
    • 主机名:本机就是localhost,远程的直接用ip地址。
    • 端口一般mysql默认3306。(这个可以修改的,再安装的时候,有个配置文件,里面有个3306,修改即可变成别的接口)
    • 然后输入用户名和密码。
    • 进行测试即可。
    • 特别提醒:有时候连接不上,可能是防火墙的问题,没有打开这个3306端口,可以查看我之前的博客,打开这个端口即可。
    • 此外,这里可能会报错,2059的错误。是因为MySQL8之前和之后的加密规则是不一样的。之前的是mysql_native_password,之后是caching_sha2_passord。
      • 解决办法:1、更新navicat的驱动;2、将加密方式改为之前的mysql_native_password。
        • 第二种解决方式步骤为:
          • 通过alter user ‘username’@‘localhost’ identified by ‘username’ password expire never;来设置这个用户的密码用户不过期,一般设置root。
          • 通过alter user ‘username’@‘localhost’ identified with mysql_native_password by ‘username’;设置加密规则为mysql_native_password。

其实,Navicate就是一个图像化界面,这个界面再idea也有。我一般是喜欢用navicate的创建一些表,写一些函数,触发器等。但是具体的sql语句,一般直接用idea的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值