前端程序员的MySQL基础
Posted Mzs-Qsy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端程序员的MySQL基础相关的知识,希望对你有一定的参考价值。
前端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基础的主要内容,如果未能解决你的问题,请参考以下文章