1、介绍
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一
1、源码中涉及到的表:mysql 表:订单、意见反馈、用户基础信息、商品、购物车等表2、订单属于哪个用户下单,订单表会关联用户的userId
1)订单表:订单id,用户id 、下单时间
2)用户表:用户id,用户姓名、用户的昵称
3、例如:用户如何获取用户订单?
用户在登录的时候,会通过手机号和密码获取用户信息,用户信息包括用户的userId,子啊通过userId找到用户的所有订单
2、下载 MySQL
前往 MySQL 的官方网站 (https://dev.mysql.com/downloads/mysql/) 并下载最新的 mysql 版本。选择 "MySQL Community Server" 并选择您的操作系统。在"Select Operating System" 下拉框中,选择Mac OS X,然后在"Select OS Version" 下拉框中选择您的系统版本。接下来,您会在页面上看到"Download"按钮。点击下载最新版本的 mysql,建议和我安装一样的版本
3、安装
点击下载好的安装包,注意,安装最后的时候,记得将临时密码复制出来
4、设置环境变量
在 Mac 上,您需要将 mysql 的 bin 目录添加到 PATH 环境变量中,这样您才能在终端窗口中直接访问 mysql 命令。
在终端窗口输入以下命令,将 mysql 的 bin 目录添加到 PATH 环境变量中:
export PATH=$PATH:/usr/local/mysql/bin
export PATH=$PATH:/usr/local/mysql/support-files
vim ~/.bash_profile 文件
输入i进入编辑模式,将文本复制粘贴,然后esc 退出编辑模式 然后输入shift + : 输入wq保存
在执行source .bash_profile 生效
5、启动 MySQL
在终端中输入以下命令启动 mysql 服务,有时候如果遇到报错
sudo -s 输入密码,用root用户启动,启动前杀死自动启动的mysql,重新启动一下就ok
重新启动
// 如果还是报错
ERROR! The server quit without updating PID file (/usr/local/mysql/data/jiadeMBP.lan.pid)
//执行一下两个命令
touch /usr/local/mysql/data/jiadeMBP.lan.pid
chmod -R 777 /usr/local/mysql/
6、重新设置root账户密码
重新设置root账户密码,方便后续java代码链接
优先关闭mysql
cd /usr/local/mysql/bin cd到mysql bin目录,然后启动mysql,跳过验证
sudo ./mysqld_safe --skip-grant-tables
鼠标移动到终端,然后 command+n ,打开另外一个终端,连接mysql,密码随便输入即可
然后执行更改密码UPDATE mysql.user SET authentication_string=PASSWORD("123456") WHERE User='root';
设置密码永不过期,alter user 'root'@'localhost'password expire never;
记得执行,FLUSH PRIVILEGES;
在原来的终端,control+z 结束当前命令行, 在输入mysql.server restart 重新启动mysql
在新的终端输入root 连接,密码111 报错,输入刚才我们改的密码123456,成功连接,代表我们修改密码成功了
7、创建数据库及表
表及数据,有源码的同学,本地启动后,后序会用到
mysql> CREATE DATABASE app_management;
选择app_management数据库mysql> use app_management;
然后执行以下下面的创建语句
CREATE TABLE `product` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`product_name` varchar(50) NOT NULL DEFAULT '',
`product_type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1、小米手环 2、鞋子 3、 衣服 4、家装 5、家电',
`recommend` smallint(6) NOT NULL DEFAULT '1' COMMENT '是否推荐 0不推荐 1推荐',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`total_sales` int(11) NOT NULL DEFAULT '0',
`shop_id` int(11) NOT NULL DEFAULT '0' COMMENT '店铺id',
`product_desc` varchar(100) NOT NULL DEFAULT '',
`brand` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4;
CREATE TABLE `product_car` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`number` int(11) NOT NULL DEFAULT '0' COMMENT '商品数量',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`product_parama_id` int(11) NOT NULL DEFAULT '0' COMMENT '商品参数id',
`user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4;
CREATE TABLE `product_comment` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`head_Image` varchar(200) NOT NULL DEFAULT '' COMMENT '头像',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`nick_name` varchar(10) NOT NULL DEFAULT '' COMMENT '昵称',
`comment` varchar(30) NOT NULL DEFAULT '' COMMENT '评论',
`comment_stars` int(11) NOT NULL DEFAULT '0' COMMENT '评价几颗星',
`product_id` int(11) NOT NULL DEFAULT '0' COMMENT '商品id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE `product_order` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户id',
`product_user_receive_information_id` int(11) NOT NULL DEFAULT '0',
`order_status` int(11) NOT NULL DEFAULT '0' COMMENT '0 待支付 1 已支付 未发货 2 发货中 3 已发货 待收货 4 已收货 待评价 5 已评价 ',
`total_price` double(10,3) NOT NULL DEFAULT '0.000',
`reduce_price` double(5,3) NOT NULL DEFAULT '0.000' COMMENT '减免价格',
`expire_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`price` double(10,3) NOT NULL DEFAULT '0.000' COMMENT '价格',
PRIMARY KEY (`id`),
UNIQUE KEY `uq_user_id` (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8mb4;
CREATE TABLE `product_order_parama` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`number` int(11) NOT NULL DEFAULT '0' COMMENT '商品数量',
`product_order_id` int(11) NOT NULL DEFAULT '0' COMMENT '商品id',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`product_parama_id` int(11) NOT NULL DEFAULT '0' COMMENT '商品参数id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8mb4;
CREATE TABLE `product_parama` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`product_id` int(11) NOT NULL DEFAULT '0' COMMENT '商品id',
`product_color` varchar(10) NOT NULL DEFAULT '' COMMENT '商品颜色',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`product_type` varchar(10) NOT NULL DEFAULT '',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`in_stock` int(11) NOT NULL DEFAULT '0' COMMENT '库存',
`price` int(11) NOT NULL DEFAULT '0',
`url` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4;
CREATE TABLE `product_user_receive_information` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`user_name` varchar(10) NOT NULL DEFAULT '' COMMENT '收货人姓名',
`user_mobile` varchar(11) NOT NULL DEFAULT '' COMMENT '收货人手机号',
`user_address` varchar(50) NOT NULL DEFAULT '' COMMENT '收货人地址',
`user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb4;
CREATE TABLE `shop` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`shop_name` varchar(10) NOT NULL DEFAULT '' COMMENT '店铺名称',
`create_user_id` int(11) NOT NULL DEFAULT '0' COMMENT '店铺创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`delivery_address` varchar(30) NOT NULL DEFAULT '' COMMENT '发货地址',
`delivery_method` varchar(30) NOT NULL DEFAULT '' COMMENT '配送方式',
`shop_phone` varchar(11) NOT NULL DEFAULT '' COMMENT '店铺电话',
`remark` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
UNIQUE KEY `uniq_create_user_id` (`create_user_id`) USING BTREE COMMENT '店主'
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4;
CREATE TABLE `suggestion` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`content` varchar(500) NOT NULL DEFAULT '',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE `user` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`mobile` char(11) NOT NULL DEFAULT '' COMMENT '手机号',
`nick_name` varchar(20) NOT NULL DEFAULT '' COMMENT '昵称',
`password` char(32) NOT NULL DEFAULT '',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`gender` varchar(11) NOT NULL DEFAULT '保密' COMMENT '性别',
`birthday` date DEFAULT NULL,
`area` varchar(100) NOT NULL DEFAULT '',
`signature` varchar(250) NOT NULL DEFAULT '',
`head_image` varchar(500) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `idx_mobile_app_id` (`mobile`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8mb4;
8、安装mysql工具
我这里安装的DBeaver,后面比较简单的 我就不在介绍了,安装软件,大家应该都会
下载mysql:https://www.bear20.com/pcmac/131/725963631.html
安装成功后,打开软件,并创建一个链接
能看到刚才创建的数据库及表,代表成功