1.什么是数据库?
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。
我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。
所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:
1.数据以表格的形式出现
2.每行为各种记录名称
3.每列为记录名称所对应的数据域
4.许多的行和列组成一张表单
5.若干的表单组成database
2.MySQL 安装
1.下载地址:https://dev.mysql.com/downloads/mysql/
2.MySQL 安装过程参考:https://www.cnblogs.com/xyh012138/p/11082204.html
3.数据库说明
3.数据库操作( CURD )
(1).查询数据
SELECT 语句用于从数据表中读取数据:
SELECT column_name(s) FROM table_name
我们可以使用 * 号来读取所有数据表中的字段:
SELECT * FROM table_name
let mysql = require("mysql");
//创建mysql连接(配置连接参数:服务器地址、端口、mysql用户名称、mysql用户密码、数据库名称)
let connection = mysql.createConnection({
host: "Localhost",
user: "root",
password: "1234567",
database: "mybook"
});
//增加数据库信息
var querySql = "select * from books";
connection.connect(); //打开链接
//query:数据操作(传入操作数据的sql语句,回调函数会包含两个参数:异常信息对象,正常数据操作返回的结果)
connection.query(querySql, function(err, result) {
console.log(result);
});
connection.end(); //关闭连接
打印结果:
{
id: 1,
name: '水浒传',
author: '施耐庵',
category: '文学',
desc: '108条好汉的故事'
}
(2)插入数据
INSERT INTO 语句通常用于向 MySQL 表添加新的记录:
INSERT INTO table_name (column1, column2, column3,…)
VALUES (value1, value2, value3,…)
let mysql = require("mysql");
//创建mysql连接(配置连接参数:服务器地址、端口、mysql用户名称、mysql用户密码、数据库名称)
let connection = mysql.createConnection({
host: "Localhost",
user: "root",
password: "1234567",
database: "mybook"
});
//增加数据库信息
var querySql = 'insert into books set ?'
let data = {
id: 2,
name: '西游记',
author: '吴承恩',
category: '文学',
desc: '佛教和道教的斗争'
}
connection.connect(); //打开链接
//query:数据操作(传入操作数据的sql语句,回调函数会包含两个参数:异常信息对象,正常数据操作返回的结果)
connection.query(querySql, data, function(err, result) {
if (result.affectedRows == 1) {
console.log('插入数据成功');
} else {
console.log('插入数据失败');
}
});
connection.end(); //关闭连接
插入结果
(3).删除数据
DELETE 语句用于从数据库表中删除行。
删除数据库中的数据
DELETE FROM 语句用于从数据库表中删除记录。
语法:
DELETE FROM table_name
WHERE some_column = some_value
注释:请注意 DELETE 语法中的 WHERE 子句。WHERE 子句规定了哪些记录需要删除。如果您想省去 WHERE 子句,所有的记录都会被删除!
let mysql = require("mysql");
//创建mysql连接(配置连接参数:服务器地址、端口、mysql用户名称、mysql用户密码、数据库名称)
let connection = mysql.createConnection({
host: "Localhost",
user: "root",
password: "1234567",
database: "mybook"
});
//删除数据库信息
var querySql = 'delete from books where id=1';
connection.connect(); //打开链接
//query:数据操作(传入操作数据的sql语句,回调函数会包含两个参数:异常信息对象,正常数据操作返回的结果)
connection.query(querySql, function(err, result) {
if (result.affectedRows == 1) {
console.log('删除数据成功');
} else {
console.log('删除数据失败');
}
});
connection.end(); //关闭连接
删除结果:删除了id=1的数据
(4)更新数据
更新数据库中的数据
UPDATE 语句用于更新数据库表中已存在的记录。
语法
UPDATE table_name
SET column1=value, column2=value2,…
WHERE some_column=some_value
注释:请注意 UPDATE 语法中的 WHERE 子句。WHERE 子句规定了哪些记录需要更新。如果您想省去 WHERE 子句,所有的记录都会被更新!
let mysql = require("mysql");
//创建mysql连接(配置连接参数:服务器地址、端口、mysql用户名称、mysql用户密码、数据库名称)
let connection = mysql.createConnection({
host: "Localhost",
user: "root",
password: "1234567",
database: "mybook"
});
//修改数据库信息
var querySql = 'update books set name = ?,author = ? where id = ?';
var data = ['红楼梦', '曹雪芹', 2];
connection.connect(); //打开链接
//query:数据操作(传入操作数据的sql语句,回调函数会包含两个参数:异常信息对象,正常数据操作返回的结果)
connection.query(querySql, data, function(err, result) {
if (result.affectedRows == 1) {
console.log('更新数据成功');
} else {
console.log('更新数据失败');
}
});
connection.end(); //关闭连接
更新结果: