前端程序员的MySQL基础

Posted Mzs-Qsy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端程序员的MySQL基础相关的知识,希望对你有一定的参考价值。

前端mysql

一、引言

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

二、MySQL的构成

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

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

三、MySQL的常用语法

常识

image-20210525203005363

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基础的主要内容,如果未能解决你的问题,请参考以下文章

从mysql的片段中加载ListView

前端防扒代码片段

前端防扒代码片段

前端防扒代码片段

前端防扒代码片段

前端防扒代码片段