【MySQL】Navicat和Phpstudy联合使用

一、数据库介绍

  • 数据库 (database) 是用来组织、存储和管理数据的一个仓库。
  • 用户可以对数据库中的数据进行新增、查询、更新、删除等操作。
  • 如果要使用 数据库 来存储数据,就需要安装 数据库软件。

常见的数据库:

  • MySQL 数据库(目前使用最广泛、流行度最高的的开源免费数据库;)
  • Oracle 数据库(收费)
  • SQL Server 数据库(收费)
  • Mongodb 数据库(Community + Enterprise)

二、安装数据库相关软件

  • MySQL是一个存储数据的软件,也是今天要学习的一个软件
  • 我们可以到MySQL官网下载最新版的MySQL,然后进行安装
  • 但是,由于操作系统的差别,安装MySQL会遇到非常多的问题
  • 为了方便安装,我们选择集成软件进行安装
    在这里插入图片描述

安装MySql客户端软件-Navicat

  • Navicat是一个管理MySQL数据的工具 点击查看安装介绍
  • 通过Navicat可以
    连接到数据库服务器,
    创建数据库,
    创建数据表,
    增删改查数据,
    执行SQL语句,
    ……

在这里插入图片描述
小结:

  • 为了安装方便,最后选择安装集成的mysql
  • 安装了集成软件,我们也只用里面的mysql
  • 使用数据库时,要先启动mysql
  • Navicat,不是数据库;只是一个图形化界面工具。类似的工具还有很多。

三、Navicat基本使用
1、连接到MySQL服务器

  • 点击软件 左上角 的 “连接”
  • 选择 “MySQL”
  • 在出现的对话框中,填写连接名称、密码
    连接名称,随便填
    如果使用的是phpstudy,默认密码是 root;
    如果使用的是wampserver,默认密码为空;
  • 点 “连接测试”,看是否有问题
  • 最后,确定
    在这里插入图片描述
    2、打开链接
  • 创建连接后,Navicat 左侧边栏就会出现一个连接
    – 双击 或 右键打开链接,即可打开连接
  • 打开连接后,会看到默认的几个数据库
  • 我们不要修改默认的数据库
    在这里插入图片描述

3、创建数据库

  • 在 “连接名称” 上右键,选择“新建数据库”
  • 在出现的对话框中,填写 数据库名,选择字符集 utf8,确定

在这里插入图片描述
在这里插入图片描述

  • 打开数据库后,在 “表” 上右键,新建表
  • 在出现的面板中,设置 数据表 的表头,在数据库中表头称为字段。
    在这里插入图片描述
    4、设计字段
  • 对于前端程序员来说,了解如何创建数据表即可。
  • 比如设计一张存储学生信息的数据表
    int 是 MySQL中的整型
    varchar 是 MySQL中的字符串类型
    id必填,所以不是null
    username必填,所以不是null
    id设为主键,则id值不能重复
    id设置自动递增,则添加数据时会自增
  • 最后,保存,输入表名student,确定

在这里插入图片描述
5、添加数据
现在,可以看到 student 表,双击打开 student 表,添加数据
在这里插入图片描述
四、SQL语句

  • SQL(英文全称:Structured Query Language)是结构化查询语言,专门用来访问和处理数据库的编程语言。
  • SQL能做什么
    从数据库中查询数据
    向数据库中插入新的数据
    更新数据库中的数据
    从数据库删除数据
    可以创建新数据库
    可在数据库中创建新表

1、查询SQL - 基本格式
通过查询SQL,可以把数据表存储的数据查询出来
基本格式:

# 语法
SELECT 字段, 字段,FROM 表名
场景:
# 从 student 表中,查询所有人的id和username
SELECT id, username FROM student
# 查询所有字段,用 *
SELECT * FROM student
# 关键字不区分大小写
select * from student

2、查询SQL - 带条件的查询

基本格式:

# 语法
select 字段, 字段,from 表名 where 条件
场景:
# 查询所有的男同学
select * from student where sex='男'
# 查询年龄小于30岁的男同学
select * from student where sex='男' and age<30

3、查询SQL - 对查询结果进行排序

# 语法 
select 字段, 字段,from 表名 [where 条件] order by 字段 排序规则 

场景:
# 查询所有的同学,按年龄升序排序
select * from student order by age asc
select * from student order by age
#查询所有的同学,按年龄降序排序
select * from student order by age desc
#查询所有的男同学,按年龄降序排序
select * from student where sex='男' order by age desc

升序:asc,默认就是升序
降序:desc
有条件和排序,条件在前,排序在后

4、查询SQL - 查询指定数量的数据

  • 使用limit 开始索引,查询条数
# 语法 
select 字段, 字段,from 表名 limit 开始索引,查询条数

场景:
# 从0索引开始,查询1条同学表数据
select  id, username from student limit 0,1
# 从1 索引开始,查询1条同学表数据
select  * from student limit 1,1
#查询所有的同学,按年龄降序排序后,从0索引开始,查询1条数据
select * from student order by age desc limit 0,1

5、查询SQL - 统计表数据条数 - count()

# 语法 
【推荐写法】select  count(表主键) from 表名 
select  count(*) from 表名 

场景:
# 统计student表中所有数据总条数
select  count(id) from student
#查询所有的男同学总数
select count(id)  from student where sex='男' 

6、插入数据SQL

# 语法
insert into 表名(字段1,字段2,...) values(字段1值,字段2,...)

场景:
# 添加一个学员
insert into student(username,sex,age) values('张三疯','男',99)

7、更新数据SQL

# 语法
update 表名 set 字段=, 字段=,[where 条件]

场景:
# 修改id为3的学员姓名:李四,年龄:32
update student set username='李四', age=32 where id=3
# 过年了,让每个学员的年龄+1
update student set age=age + 1

注意,不加条件将会修改全部数据!!!

8、删除数据SQL

# 语法
delete from 表名 [where 条件]

场景:
# 删除所有的男同学
delete from student where sex='男'
# 删除所有的学员
delete from student

注意,不加条件将会删除全部数据!!!

9、小结

  • 基本格式:select * from 表名
  • 如果有条件,select * from 表名 where 条件
  • 如果需要排序,select * from 表名 order by 字段 排序规则
    默认的排序规则是 asc,表示升序
    可选 desc,表示降序
    如果有where条件、也有order by排序,则where放前面、order by放后面,中间使用空格隔开
  • 从索引开始获取指定数量数据,select * from 表名 limit 开始索引,查询数量
  • 获取符合条件数据总条数,select count(主键) from 表名 [where 条件]
  • 添加:insert into 表名 set 字段=值, 字段=值,……
  • 更新:update 表名 set 字段=值, 字段=值,…… [where 条件]
  • 删除:delete from 表名 [where 条件]

五、mysql模块
mysql模块(全小写),是一个操作MySQL数据库的第三方模块。通过它,可以 在代码中 操作数据库。
在这里插入图片描述
使用步骤

  • 创建一个用于练习的文件夹(注意文件夹名)
  • npm init初始化
  • 安装mysql模块
  • 代码中使用(这个时候,就得参考文档了)
    在github上,有关于它的使用文档;
    npm主站上也有关于它的使用文档
// 1. 加载mysql模块
const mysql = require('mysql');
// 2. 创建连接对象
const conn  = mysql.createConnection({
  host     : 'localhost',
  user     : 'me',
  password : 'secret',
  database : 'my_db'
});
// 3. 连接到mysql服务器
conn.connect();
// 4. 执行SQL语句
conn.query('select * from student', (err, result) {
  if (err) throw err;
  console.log(result); // result 是执行SQL的结果
});
// 5. 关闭连接
conn.end();

执行增删改语句

// 其他步骤不用变,只需要将第 4 步的SQL语句修改了即可
let sql = 'select * from student';
let sql = 'insert into student set username="张三", age=20';
let sql = 'update student set age=30,sex="女" where id=3';
let sql = 'delete from student where id=3';

// 4. 执行SQL语句
conn.query(sql, (err, result) {
  if (err) throw err;
  console.log(result); // result 是执行SQL的结果
});

分析执行SQL语句的结果

  • select 语句
    result 是一个数组;数组中每个元素是一个对象  一行数据
  • insert 语句
    result 是一个对象
    result.insertId 是新增数据的id
    result.affectedRows 表示受影响的行数
  • update 语句
    result 是一个对象
    result.affectedRows 表示受影响的行数,即符合条件的行数
    result.changedRows 表示真正被改变的行数
  • delete 语句
    result 是一个对象
    result.affectedRows 表示受影响的行数,即符合条件的行数

六、封装并导出
1、封装

  • 创建一个,比如 db.js 文件
  • 里面封装一个mysql操作的函数,比如db
  • db中,完成mysql的 5 个基本步骤
  • 把变化的量,设置为参数
  • 最后,通过 module.exports 导出函数
function query (sql, callback) {
const mysql = require('mysql');
const conn  = mysql.createConnection({
  host: 'localhost', // 你要连接的数据库服务器的地址
  port: 3306,    // 数据库端口,默认就是3306
  user: '用户名',	// 连接数据库服务器需要的用户名
  password : 密码,	// 连接数据库服务器需要的密码
  database : '数据库名   //你要连接的数据库的名字
});
conn.connect(); // 链接数据库
conn.query(sql, callback);  // 执行sql语句,将结果通过callback返回
conn.end(); // 关闭数据库链接
}
// 导出
module.exports = query;
  • 12
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DomCode

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值