6 MySql数据库

1、数据库 -> 不是关系型就是非关系型,只分两类,关系型更加稳定(有结构)

(1).关系型数据库:MySql,Oracle,DB2[IBM],SqlServe[微软]; -> 表结构:每行都是一条数据,每列是属性/字段;【mysql主要运行在linux,oracle运行在IBM小型机,阿里官宣“去IOE”不再用oracle,IBM小型机,ECMA存储设备,取而代之的是:Mysql,普通计算机,内存和固态硬盘】

(2).非关系型数据库:MongoDB, Redis, Memcache; -> 列结构或者key-value(k-v式);

MySql,Oracle,DB2,SQLServer,MongoDB常存放于磁盘上,Redis, Memcache;主要存放在内存中(常称为缓存,同缓存概念不一样,聚焦点不同),Memcache只在内存中存储,Redis数据存储在内存中,但硬盘上有备份;数据在内存中读写速度远远高于磁盘,但缓存的成本更大,因此大型互联网公司主要使用MySql做数据库,Redis做缓存,Memcache比较老了快淡出市场了;

传统公司、国企使用Oracle、DB2较多,Oracle收费但服务周到些;MySql开源免费,阿里放弃使用Oracle,全面拥抱MySql; -> 其还是很稳定的,并非外界所说的不如Oracle稳定;

MongoDB:公司开发中很少使用,但学校毕设使用较多 -> 很多层面就是因为使用起来简单,学习成本低,不需要学sql语句;

- - - >>> 不管是数据库还是nodejs很大原因都是基于成本考虑的

2、MySql数据库

(1).官网下载安装即可 -> 目前更新到8.0版本,建议使用5.0/5.5/5.6版本,8.0版本不稳定

(2).数据库图形化管理工具:Navicat、DataGrip;//两者既可直接操作sql语句,也可操作图形化界面,从业务架构/架构师角度而言,推荐使用DataGrip; -> 直接在终端使用也OK

(3).nodejs连接数据库 -> nodejs/php/java都可连接数据库,并非是因为这些语言有接口,而是MySql数据库针对不同的编程语言设计了“驱动”,留有接口;

(4).基础SQL语句:

[1].开发军规: (1).创建表必须使用主键,主键必须唯一且不能有任何含义,通常使用id;(2).表中四个属性说明:not null: 不为空;auto inc:自增;unique: 唯一,例如学生表中同名也很多,名字就不能勾选唯一;primary key:主键,若勾选,unique则不需再次勾选[只允许主键使用]; (3).数据类型:整数int; 长整数bigint(21); 浮点数float; 双精度浮点数double; 字符串varchar(16); 文本text,其它也常用;(4).字段必须写备注;

[2].sql语句末尾必须加分号;

show databases;//展示所有数据库;drop database 数据库名;//删除数据库;create database xxx;

show tables;//展示表;create xxx;// 创建表;delete table xxx;//删除表

use xxx;//使用数据库

(5).实时、非实时数据库

实时: 响应速度快

非实时型: 适合大数据的,相比于实时型数据库,它们很慢, HIVE, Hbase(key-value结构)、ElasticSearch

- - - >>> 汇总

你可能感兴趣的:(6 MySql数据库)