前端MySQL

一、引言

MySQL是一个关系型数据库管理系统,在Web应用方面,MySQL是最好的应用之一。其主要的他点是体积小、速度块、总体成本低、源码开放

二、MySQL的构成

在我们开始学习MySQL 数据库前,让我们先了解下RDBMS的一些术语:

  • 数据库: 数据库是一些关联表的集合。
  • 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
  • 列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。
  • 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
  • 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
  • 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
  • 外键:外键用于关联两个表。
  • 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
  • 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
  • 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

三、MySQL的常用语法

常识图

1、增加

insert into 表名(字段名1,字段名2,字段名3...) values(值1,值2,值3...)`
~~~~~~~~~~~~~~~~~~~
insert into student(name,nickname,gender,age,score,className,avator) values('韩梅梅','秀芬','女',22,100,'嘻嘻fault_avator.png');

2、删除

-- 删除Id为1的记录
delete from student where Id = 1 -- 特别注意,如果不跟where条件,则会清空整张表的数据.
delete from student -- 清空表,并重置Id(Id不清空再添加数据后会继续添加)
truncate table 表名

3、修改

update 表名 set 字段1=新值1, 字段2=新值2... where 条件
-- 修改id为1的记录 姓名为李雷
update student set name='李雷' where id=1 -- 特别注意,如果不加where条件,则会修改每一行的数据.
update student set name='李雷'

4、查询

select 列名1,列名2,列名3... from 表名
select * from 表名` *表示所有列
​``````````````````````````````````
select name,nickname from student;
select * from student;

四、Node操作MySQL

npm install mysql
var connection = mysql.createConnection({
host : '127.0.0.1',
user : 'root',
password : 'root',
database : 'dbstudy'
}); connection.query('要执行的SQL语句', (error, results,fields) => {
if(error){ //如果连接执行SQL的时候发生了错误,error中的值为错误信息. 否则为null
console.log('发生错误:'+error);
}else{
//result为SQL语句执行后的结果.
console.log(results);
}
})

五、注意事项

1、mysql插件文档

在express4.x中已经不需要设置
connection.connect();
connection.end();
在官网文档:http://expressjs.com/en/guide/database-integration.html#mysql
中仍未更新 5-25

2、mysql自动断开

原因是MySQL的连接超时时间是8小时。若空闲超过8小时,MySQL就会自动断开连接。
而且再Node中偶尔会因为这个原因报错或自动断开
简单解决方案:
set global interactive_timeout= 秒数;
set global wait_timeout= 秒数;

最新文章

  1. 国内github访问慢的解决方法
  2. swift——uiwebview的使用
  3. Mininet的内部实现原理简介
  4. 理解ros服务和参数 ---- 7
  5. Muzei Live Wallpaper壁纸应用安卓源码项目
  6. soliworks三维机柜布局(三)绘制电气线路图
  7. hdu 3183 A Magic Lamp(RMQ)
  8. asp.net发布和更新网站
  9. shell中exec解析(转)
  10. 前端javascript框架之BackboneJS学习笔记
  11. redis3--key的操作
  12. 做环信聊天布局时遇到的问题(UITextView自适应高度和光标位置不正常)
  13. wemall app中基于Java获取和保存图片的代码
  14. JAVA Socket编程(一)之UDP通信
  15. java和js中int和String相互转换常用方法整理
  16. 深度残差网络(DRN)ResNet网络原理
  17. globals和locals的区别
  18. SSD卡对redis的影响
  19. iOS ARC编译器规则和内存管理规则
  20. CENTOS安装ElasticSearch(转)

热门文章

  1. Python基础之异常定义
  2. Android学习之活动的最佳实践
  3. 写个小程序01 | 注册微信小程序
  4. 此博客使用的CSS样式详解!
  5. [状压DP]车
  6. [Fundamental of Power Electronics]-PART I-6.变换器电路-0 序
  7. HTML(〇):简介导读
  8. Python基础(十六):文件读写,靠这一篇就够了!
  9. (文字版)Qt信号槽源码剖析(三)
  10. 树结构系列(四):MongoDb 使用的到底是 B 树,还是 B+ 树?