- myslq介绍、安装和使用
- nodejs连接mysql
- API连接mysql
# 为什么使用mysql而不mogondb
- mysql是企业内最常用的存储工具,一般都有人专门维护
- mysql也是社区内最常用的存储工具,有问题随时可查
- mysql本身是一个复杂的数据库软件,本课只讲基本使用
mysql关系型数据库 需要学习sql 不是太特别麻烦
mogondb 有点类似redis json?
# myslq介绍
- web server中最流行的关系型数据库
- 官网免费下载,用于学习
- 轻量级,易学易用
下载地址:https://dev.mysql.com/downloads/mysql (opens new window)
# myslq 安装
- 执行安装
- 过程中需要输入root用户名的密码,要记住这个密码
# myslq workbench
操作mysql 的客户端,可视化操作
下载https://dev.mysql.com/downloads/workbench (opens new window)
docker 镜像安装
$ docker search mysql $ docker run -p 12345:3306 \ --name mysql-01 \ -v /tmp/mysql/conf:/etc/mysql/conf.d \ -v /tmp/mysql/logs:/logs \ -v /tmp/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ -d mysql:5.7
Sequal Pro 连接docker容器中的mysql (opens new window)
# 数据库操作(创建和增、删、查)
- 建库
- 建表
- 表操作
# 建库
- 创建myblog数据库
- 执行 show databases;查询
# 建表
| id | username | password | realname |
|---|---|---|---|
| 1 | zhangsan | 123 | 张三 |
| 2 | lisi | 123 | 李四 |
| id | title | content | createtime | author |
|---|---|---|---|---|
| 1 | 标题1 | 内容1 | 123123123 | zhangsan |
| 2 | 标题2 | 内容2 | 12342353425 | lisi |
建表只会建表结构 不会建内容
创建 users 表
column datatye pk主键 nn不为空 AI自动增加 default id int Y Y y '' username varchar(20) '' Y '' '' password varchar(20) '' Y '' '' realname varchar(10) '' Y '' '' - column 列
- datatye 类型
- pk 主键-- id保证不能重复
- nn不为空 -- 当前列内容是否不空
- ai 自动增加
创建blogs表

# 操作表
- 增、删、改、查
- 使用sql语句(入门简单,一学就会)
show databases; -- 所有数据库的列表
use myblog;
-- show tables;
-- insert into users(username, `password`, realname) values("zhangsan", "123", "张三"); -- password是关键字 需要``
-- insert into users(username, `password`, realname) values("lisi", "123", "李四");
-- 查询
-- select * from users;
select id, username from users;
-- select * from users where username ='zhangsan' and `password`='123';
select * from users where username ='zhangsan' or `password`='123';
-- 模糊查询
select * from users where username like '%li%';
-- 排序 按照id排序 默认正序
select * from users where password like '%1%' order by id;
-- 排序 按照id排序 desc 倒序
select * from users where password like '%1%' order by id desc;
-- 更新 可能报错的情况下执行SET SQL_SAFE_UPDATES = 0;
update users set realname='李四2' where username='lisi';
-- 真实情况更新
select * from users where state='1';
update users set state='0' where username='lisi'; -- 软删除技术
-- 查询不等于0
select * from users where state <> '0';
-- blogs
insert into blogs (title, content, createtime, author) values('标题B', '内容B', 123123123, 'lisi');
select * from blogs order by createtime desc;
select * from blogs where author='lisi' order by createtime desc;
select * from blogs where title like '%标题%' order by createtime desc;
-- 查询版本
select version()
MySQL 创建数据表 (opens new window)
# 总结
- 如何建库、如何建表
- 建表时常用的数据类型(int bigit varchar longtext)
- sql语句的增、删、改、查