MySQL
常见的数据库
- MySQL(社区版和企业版
- Oracle(收费
- SQL server(收费
- Mongodb(社区版和企业版
Mongodb是新型数据库,它在一定程度上弥补了传统数据库的缺陷
SQL语句
- SQL语言只能在关系型数据库中使用
查询SELECT
SELECT * FROM [table]
-- 从表中查询所有数据
SELECT [cloum_name] FROM [table]
-- 从表中查询指定列数据
e.g.
SELECT * FROM users
-- 为查询出来的结果赋别名 关键词AS
SELECT username AS name,password AS upwd FROM users
插入INSERT INTO
INSERT INTO table_name (列1,列2...) VALUES (值1,值2...)
-- 向指定的表中插入数据
更新UPDATE
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
e.g.
UPDATE users SET password='8888' WHERE id=3;
SELECT * FROM users;
- 更新若干列
-- 中间用逗号隔开即可
UPDATE users SET password='8888',username='Tony zero' WHERE id=3;
SELECT * FROM users
删除DELETE
DELETE FROM users WHERE id=4
-- 删除id为4的数据
WHERE子句
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-caeAgwVL-1668524055464)(C:\Users\TY\AppData\Roaming\Typora\typora-user-images\image-20221114225413290.png)]
-- 如查询某个特定值,status = 1 的数据
SELECT * FROM users WHERE status=1;
-- 查询id大于2的用户
SELECT * FROM users WHERE id>2;
AND OR运算符
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4wNUj9ag-1668524055466)(C:\Users\TY\AppData\Roaming\Typora\typora-user-images\image-20221114225945378.png)]
排序ORDER BY
SELECT * FROM users ORDER BY status (默认升序,按照status)
SELECT * FROM users ORDER BY id DESC(降序,按照id)
-- DESC 降序
-- ASC 升序
-- 多重排序
-- 对user中的数据先按照status进行降序排序,再按照username字母升序排序
SELECT * FROM users ORDER BY status DESC, username ASC -- 可以不加ASC
计数COUNT()
SELECT COUNT(*) FROM users WHERE status=0;
-- 计数status=0的用户数
-- 为查询出来的结果列设置别名 total 关键字 AS
SELECT COUNT(*) AS total FROM users WHERE status=0;
在项目中操纵MySQL
- 安装第三方mysql模块
- 连接到mysql数据库
- 执行sql语句操作数据库
安装
const mysql = require('mysql')
//建立与数据库的联系
const db = mysql.createPool({
host: '127.0.0.1',
user: 'root',
password: 'admin123',
database: 'newdata1'
})
检测
检测数据库能否运行
db.query('SELECT 1',(err,results)=>{
if(err) return console.log(err.message);
console.log(results);
})
查询
查询users表中的所有数据
var sqlStr = 'SELECT * FROM users'
db.query(sqlStr, (err, results) => {
if (err) return console.log(err.message);
console.log(results);
})
插入
const user = { username: 'Spider-man2', password: '12344552' }
// const sqlStr = 'INSERT INTO users (username,password) VALUES(?,?)'
const sqlStr = 'INSERT INTO users SET ?'//简便写法
db.query(sqlStr, user, (err, results) => {
if (err) return console.log(err.message);
if (results.affectedRows === 1) { console.log(results) }
})
删除
const sqlStr = 'DELETE FROM users WHERE id=?'
db.query(sqlStr,1,(err,result)=>{
if(err) return console.log(err.message);
if(result.affectedRows === 1){
console.log('删除成功');
}
})