MYSQL数据库——mysql数据库的基本

一.什么是MYSQL?

   MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
   MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
   MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
   由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。
   由于MySQL是开放源码软件,对于一般的个人使用者和中小型企业来说,MySQL提供的功能绰绰有余,可以大大降低开发成本。
   Linux作为操作系统,Apache 或Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合。
 

二.MYSQL的基本命令

 语法: mysql  (参数) (数据库名称)

 参数:   -u :用户名称 

      -p:登录用户的密码,-p和密码之间没有空格

      -h:登录方式,远程的话就是远程主机的ip地址,也可以是本地登录localhost

      -P:mysql的登录的端口号,一般默认的mysql的端口号为3306  

      数据库名称:需要登陆进的数据库的名称  

      -e:后面跟的是SQL语句,-e参数的意思是,登录进数据库执行相应的 -e 后面的语句的操作并输出在终端上,最后退出数据库。免交互的执行命令。

三.数据库的登录

1.使用命令行(Windows)/shell(Linux)登录:

 在Windows上:

  打开命令行 —> 输入 cd "Program FilesMySQLMySQL Server 8.0in"  —>  输入 mysql  -u 登录的用户名  -p(用户密码)  -h  localhost/ip地址

 在Linux上:

  打开一个shell —> 输入 mysql  -u 登录的用户名  -p(用户密码)  -h  localhost/ip地址

  

2.在Windows上,使用图标的方式登录

  点击桌面上的【计算机】图标  —>  选择 MySQL 8.0 Commend Line Client  —>  输入用户密码  —>  登录成功

四.MYSQL数据库

 在Mysql安装完成之后,系统会自动的在Databases目录下面创建几个必须的数据库,可以用 SHOW DATABASES;  来查看当前的新建的数据库下有哪些必要的存在的数据库。

      

1.各个自动创建的数据库的相应的含义

  mysql:是必须的,是用来存储MySQL数据库中的用户的访问的权限等。

  information_schema:是MySQL自带的,它提供了访问数据库 元数据 的方式。元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。就类似于是一个信息数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。

  performance_schema:新增一个存储引擎表。

2.自己创建数据库

  创建数据库的SQL语句:CREATE  DATABASE  数据库名称;

  创建完成后,用命令查看自己创建的数据库:SHOW DATABASES;

3.删除不必要的数据库

  删除书库据的SQL语句:DROP  DATABASE  数据库名称;

  删除完成后,用命令查看自己创建的数据库是否还存在:SHOW DATABASES;  ##如果删除的是不存在的数据库的时候,执行结果会报错。

五.数据库的存储引擎

1.什么是数据库的存储引擎?

  MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。现在许多不同的数据库管理系统都支持多种不同的数据类型,Mysql的核心就是存储引擎。

2.查看数据库支持的存储引擎

  查看数据库支持的存储引擎的SQL语句:SHOW ENGINESG ;

      

      

3.不同引擎的不同

  MyISAM: 拥有较高的插入,查询速度,但不支持事务。如果你的数据库主要是用于查询、插入记录,那么这个存储引擎具有较高的处理效率。

  InnoDB :5.5版本后Mysql的默认数据库,事务型数据库的首选引擎,支持事务安全表(ACID),支持行级锁定,具有提交、回滚、崩溃恢复的能力。具有处理巨大数据量的最大性能设计。支持外键完整性约束。

  BDB: 源自Berkeley DB,事务型数据库的另一种选择,支持COMMIT和ROLLBACK等其他事务特性

  Memory :所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在Mysql重新启动时丢失,如果只是存储临时数据,不需要太大的安全性,可以选择这个存储引擎。

  Merge :将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用

  Archive :非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,支持高并发的插入的操作,但其对查询的支持相对较差。

  Federated: 将不同的Mysql服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用

  Cluster/NDB :高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用

  CSV: 逻辑上由逗号分割数据的存储引擎。它会在数据库子目录里为每个数据表创建一个.CSV文件。这是一种普通文本文件,每个数据行占用一个文本行。CSV存储引擎不支持索引。

  BlackHole :黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制的中继

 六.实战演练——数据库的创建和删除

1.登录数据库

      

2.创建数据库zoo

      

3.选择创建的数据库为当前的数据库,并查看数据库的相关的信息。

      

4.删除数据库。

       

原文地址:https://www.cnblogs.com/wf-aiyouwei/p/10939109.html