数据库就是用来组织、存储和管理数据的仓库;
分类:
关系型数据库:MySQL、Oracle、SQL Server
非关系型数据库:MongoDB
关系型数据库结构:数据库、数据表、数据行、字段
数据库设计表:
数据类型:int 整数;
varchar(length) 字符串 (length 字符串的最大长度);
tinyint(1) 布尔值;
字段规则:
PK(主键)一般命名为id、就是每条记录的唯一标识;
NN(不能为空);
UQ(不能重复);
AI(自动增长);
SQL语句
sql语句是一种查询语言,可以对关系型数据库进行增删改查
语法:
基础语句:
-- select
select * from users;
select username,password from users;
-- insert into
insert into users(username,password) values('zs', '123456');
-- update
update users set password='666666' where id=1;
update users set password='666666',status=1 where id=1;
-- delete
delete from users where id=1;
where 子句:
操作符:>、<、=、>=、<=、<>(!=);
and和or:and相当于js中的&&、or相当于js中的||;
order by 排序:
-- 简单排序
select * from users order by age;
-- 多重排序
select * from users order by age,username desc;
-- asc(默认正序)、desc(逆序)
-- count(*) 查询数量 括号里的参数是查询的名称
select count(*) from users;
-- as 给列起别名
select count(*) as total from users;
node.js中的MySQL模块
创建连接
const mysql = require('mysql');
const db = mysql.createPool({ // 建立与mysql数据库的连接
host: '127.0.0.1', // 数据库的ip地址
user: 'root', // 登录数据库的账号
password: 'admin123' // 密码
database: 'myr' // 指定要操作的数据库
});
// 测试
db.query('select 1', (err, results) => {
if (err) return console.log(err.message);
console.log(results);
}) ;
node.js中操作数据库
语法:db.query(SQL语句, 参数, (错误对象, 结果) => { } );
sql语句中,实际数据可以用?
占位符表示,在参数中写真实数据;参数用对象的形式声明,属性名就是sql语句中的名称;
标记删除
也叫做逻辑删除、软删除;
就是在客户端请求删除数据时,并不会真的将数据删除,而是使用update方法将数据中的状态字段的值改变,使数据不会再发送给客户端;