码迷,mamicode.com
首页 > 数据库 > 详细

前端程序员的MySQL基础

时间:2021-06-02 10:38:37      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:png   关联表   table   pre   OLE   断开连接   ESS   uid   mys   

前端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= 秒数;

前端程序员的MySQL基础

标签:png   关联表   table   pre   OLE   断开连接   ESS   uid   mys   

原文地址:https://www.cnblogs.com/Code-Is-Fun/p/14810498.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!