(10)node学习--数据库知识的简单回顾

来源:互联网 发布:腾讯云 香港 cn2 知乎 编辑:程序博客网 时间:2024/06/07 18:42

开发一个软件,其中一个很重要的环节,就是对数据的处理,数据都需要存放在数据库里。
现在有很多数据库,如mysql,oracle,sqlserver,access,db2,sqllite,mongodb等。
当然数据库也分为关系型数据,文件型数据库等。
现最为常用的是mysql,Oracle,mongodb等。
mysql,Oracle是关系型数据库,而mongodb是文件型数据库。


现在对mySql和Oracle简单的做下对比:
MySQL:
1、一个很符合国情的优点,免费。当然若是商用版也会收取一定的费用。
2、它是中小型网站的首选。
3、性能非常好。
4、缺点是:集群,容灾做的弱一些,没有什么特别的缺点。
Oracle:
1、大型的开发基本都使用的Oracle数据库,金融级类的都会用Oracle。
2、性能,集群,容灾做的都不错。
3、没有什么特别的缺点,他的费用比较高,算是一个不是缺点的缺点吧。


针对MySQL做了一些回顾:
**小提示:任何东西,尤其是数据库一定分为两端,客户端和服务端。
在服务端中,一般数据都会存在服务端。
在客户端中,如管理工具(navicat),nodejs中的mysql模块。**

数据库的基本概念:
数据库有两个单位:
1、库:类似文件夹–用来管理表,本身无法直接存数据。
2、表:类似文件–可以存数据的。
温馨提示:对于不同的产品要用建立不同的库哦!方便管理。

小知识点:
a、字符集,一般都会选用utf-8,这个国际标准。
b、排序顺序,一般会选用utf-general_ci,这是通用标准。因为如果是每个可能采取字母排序,中国可能采取偏旁或拼音排,为了同一标准。但是该标准是无法用拼音排的。
c、表中的数据是需要固定类型的,int,varchar等,因为这样数据库在处理数据时,效率会更高一些。
d、建表中,都需要有一个主键,主键是每一条数据的唯一标识。
主键,必须唯一,用主键查找的效率比较高,来个夸张的说法:
用其他普通键查询可能需要5min中,而用主键查询数据可能就只需要1s哦。


nodejs其实默认是不支持mysql的,我们需要第三方工具,其实这是很正常的,nodejs不会让自己什么都做,而是和第三方配合使用。
使用前:
1、安装mysql,npm install mysql
2、开始做。
(1)链接,mysql是客户端,我们需要去连接到服务端。
链接到服务是要提供一些数据,才可以连接的。
var mysql=require(‘mysql’);
mysql.createConnection(‘你要链接哪台服务器那?’,’端口号’,‘用户名’,‘密码’,‘你需要链接哪个库,应为数据库中会有很多库的,所以你要告诉客户端你要操纵哪一个’);
如:
var db=mysql.createConnection({host:’localhost’,port:’3308’,username:’root’,password:’12’,database:’aaa’});
(2)查询
同样你要操作数据库,也需要提供相应的有效信息。
db.query(‘你要干什么?增?删?查?改?’,‘回调函数’);

    db.query('SELECT * FORM `user_table`;',(err,data)=>{    if(err)    console.log('失败了'+err);    else    console.log('成功了'+data);    //或者将json转为适合传递的字符串后在输出就可以。    //console.log('sucess');    //console.log(JSON.stringify(data));    });

留:陆续会数据库进行补充