MySQL的基本使用

1、什么是 MySQL

【】MySQL 属于传统数据库,又称关系型数据库或SQL数据库

【】数据的组织结构为 数据库、数据表、数据行、字段

【】关系型数据库有自己的数据库编程语言 SQL,使用 SQL 语言编写出来的代码叫做 SQL 语句

【】使用 MySQL 数据库需要下载 MySQL Server 和 MySQL Workbench(可视化工具)

2、常用 SQL 语句

【】查询语句

-- 通过 * 把 users 表中所有的数据查询出来
select * from users

-- 从 users 表中把 username 和 password 对应的数据查询出来
select username, password from users

【】插入语句

-- 向 users 表中,插入新数据,username 的值为 tony stark  password 的值为 098123
insert into users (username, password) values ('tony stark', '098123')

【】更新语句

-- 将 id 为 4 的用户密码,更新成 888888
update users set password='888888' where id=4

-- 更新 id 为 2 的用户,把用户密码更新为 admin123  同时,把用户的状态更新为 1
update users set password='admin123', status=1 where id=2

【】删除语句

-- 删除 users 表中, id 为 4 的用户
delete from users where id=4

【】where 语句

-- 演示 where 子句的使用
select * from users where status=1
select * from users where id>=2
select * from users where username<>'ls'
select * from users where username!='ls'

【】and 用法

-- 使用 AND 来显示所有状态为0且id小于3的用户
select * from users where status=0 and id<3

【】or 用法

-- 使用 or 来显示所有状态为1 或 username 为 zs 的用户
select * from users where status=1 or username='zs'

【】order by 用法

-- 对users表中的数据,按照 status 字段进行升序排序
select * from users order by status

-- 按照 id 对结果进行降序的排序  desc 表示降序排序   asc 表示升序排序(默认情况下,就是升序排序的)
select * from users order by id desc

-- 对 users 表中的数据,先按照 status 进行降序排序,再按照 username 字母的顺序,进行升序的排序
select * from users order by status desc, username asc

【】count(*) 用法

-- 使用 count(*) 来统计 users 表中,状态为 0 用户的总数量
select count(*) from users where status=0

【】as 用法

-- 使用 AS 关键字给列起别名
select count(*) as total from users where status=0
select username as uname, password as upwd from users
3、在 node.js 环境中使用 MySQL

【】安装第三方模块 mysql,然后连接 MySQL 数据库,之后执行 SQL 语句

// 1. 导入 mysql 模块
const mysql = require('mysql')
// 2. 建立与 MySQL 数据库的连接关系
const db = mysql.createPool({
  host: '127.0.0.1', // 数据库的 IP 地址
  user: 'root', // 登录数据库的账号
  password: 'admin123', // 登录数据库的密码
  database: 'my_db_01', // 指定要操作哪个数据库
})

// 测试 mysql 模块能否正常工作
db.query('select 1', (err, results) => {
  // mysql 模块工作期间报错了
  if(err) return console.log(err.message)
  // 能够成功的执行 SQL 语句
  console.log(results)
})

【】查询操作

// 查询 users 表中所有的数据
const sqlStr = 'select * from users'
db.query(sqlStr, (err, results) => {
  if (err) return console.log(err.message)
  // 注意:如果执行的是 select 查询语句,则执行的结果是数组
  console.log(results)
})

【】插入操作

// 向 users 表中,新增一条数据,其中 username 的值为 Spider-Man,password 的值为 pcc123
const user = { username: 'Spider-Man', password: 'pcc123' }
const sqlStr1 = 'insert into users (username, password) values (?, ?)'
db.query(sqlStr, [user.username, user.password], (err, results) => {
  if (err) return console.log(err.message)
  // 注意:如果执行的是 insert into 插入语句,则 results 是一个对象
  // 可以通过 affectedRows 属性,来判断是否插入数据成功
  if (results.affectedRows === 1) {
    console.log('插入数据成功!')
  }
})

// 演示插入数据的便捷方式
const user2 = { username: 'Spider-Man2', password: 'pcc4321' }
// 定义待执行的 SQL 语句
const sqlStr2 = 'insert into users set ?'
// 执行 SQL 语句
db.query(sqlStr, user2, (err, results) => {
  if (err) return console.log(err.message)
  if (results.affectedRows === 1) {
    console.log('插入数据成功')
  }
})

【】更新操作

// 演示如何更新用户的信息
const user3 = { id: 6, username: 'aaa', password: '000' }
// 定义 SQL 语句
const sqlStr3 = 'update users set username=?, password=? where id=?'
// 执行 SQL 语句
db.query(sqlStr, [user3.username, user3.password, user3.id], (err, results) => {
  if (err) return console.log(err.message)
  // 注意:执行了 update 语句之后,执行的结果,也是一个对象,可以通过 affectedRows 判断是否更新成功
  if (results.affectedRows === 1) {
    console.log('更新成功')
  }
})

// 演示更新数据的便捷方式
const user4 = { id: 6, username: 'aaaa', password: '0000' }
// 定义 SQL 语句
const sqlStr4 = 'update users set ? where id=?'
// 执行 SQL 语句
db.query(sqlStr, [user4, user4.id], (err, results) => {
  if (err) return console.log(err.message)
  if (results.affectedRows === 1) {
    console.log('更新数据成功')
  }
})

【】删除操作

// 删除 id 为 5 的用户
const sqlStr5 = 'delete from users where id=?'
db.query(sqlStr, 5, (err, results) => {
  if (err) return console.log(err.message)
  // 注意:执行 delete 语句之后,结果也是一个对象,也会包含 affectedRows 属性
  if (results.affectedRows === 1) {
    console.log('删除数据成功')
  }
})

// 标记删除
const sqlStr6 = 'update users set status=? where id=?'
db.query(sqlStr, [1, 6], (err, results) => {
  if (err) return console.log(err.message)
  if (results.affectedRows === 1) {
    console.log('标记删除成功')
  }
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值