🌈 个人主页:十二月的猫-CSDN博客
🔥 系列专栏: 🏀系统学javaWeb开发_十二月的猫的博客-CSDN博客💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光
【免费】项目脚手架进个人主页下载!!!! 【javaWeb技术】专栏专用脚手架资源-CSDN文库
目录
1.2.1 创建连接
1.2.1.1 创建连接:点击连接-》选择要连接的数据库-》建立连接
1.2.1.2 创建连接:输入MySQL连接账号-》和账号对应MySQL建立连接
1.2.2 创建数据库
1.2.2.1 创建数据库:选中连接名、右键、点击新建数据库;
2. 在数据库中建表
2.1 设置数据库
2.2 建立第一张表格admin
2.3 插入第一条admin记录
2.4 创建第二个数据库表notice,并插入数据
3、在数据库中运行SQL语句
3.1 完整SQL语句如下:
3.2 运行SQL文件
5. 总结
1. Navicat
1.1 Navicat是什么
在学习数据库的时候,经常接触到Navicat这个管理数据库的工具。Navicat是以直觉化的图形用户界面而建的,可以让使用者安全并简单的方式创建、组织、访问并共用信息。它可以用来对本机或远程的MySQL、SQL server、SQLite、Oracle及PostgreSQL数据库进行管理及开发。
1.2 Navicat的使用
1.2.1 创建连接
我们知道,下载MySQL时会要求我们创建一个MySQL账号,一个MySQL就对应一个账号。
这个账号可以认为是连接账号
简单理解:想要连接本机的MySQL,必须要通过这个账号
因此,我们在本机上使用MySQL,必须要通过这个账号和本机的MySQL建立连接
1.2.1.1 创建连接:点击连接-》选择要连接的数据库-》建立连接
1.2.1.2 创建连接:输入MySQL连接账号-》和账号对应MySQL建立连接
主机:要连接的数据库管理系统(MySQL、Oracle等)所在的位置(localhost指在本机上)
端口:这个连接所占用的端口
账户:数据库管理系统的账户
连接名习惯:
1、这里是和本机的MySQL建立连接,因此我的连接名字就叫做localhost_MySQL,3306是连接的端口号 。
2、后面如果是连其他服务器(非本机)上面的MySQL可以将localhost修改为对应服务器名字(例如:阿里服务器、华为云服务器)
3、如果连接的是Oracle数据库,则可以修改为localhost_Oracle
4、如果端口号不是3306,也可以直接修改连接名
1.2.2 创建数据库
通过上一步,我们已经和MySQL数据库创建了连接。因此,我们可以通过创建的连接在MySQL中创建数据库(MySQL是一个数据库管理系统)
1.2.2.1 创建数据库:选中连接名、右键、点击新建数据库;
1、脚手架中的数据库名字为:manager
2、字符集选择utf8mb4
3、排序规则如上图
得到数据库manager如下:
2. 在数据库中建表
2.1 设置数据库
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
1、names:设定数据库的字符类型为utf8mb4
2、
SET FOREIGN_KEY_CHECKS = 0;
: 临时禁用外键约束检查。这样可以在删除和创建数据库时避免外键约束错误(因为外键约束,不让你删除一些表)
2.2 建立第一张表格admin
DROP TABLE IF EXISTS `admin`;
CREATE TABLE `admin` (
`id` int(10) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '用户名',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '密码',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '姓名',
`avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '头像',
`role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '角色标识',
`phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '电话',
`email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '管理员' ROW_FORMAT = DYNAMIC;
DROP TABLE IF EXISTS `admin`:
1、如果admin表格存在,则删除该表格
AUTO_INCREMENT COMMENT 'ID':
1、auto_increment(自动增加):每添加一条记录该列指自动增加1
2、comment(注释):作用和java中的//类似,可以通过特殊语句查看数据库表格的注释
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL :
1、character set:设定列值的字符类型
2、collate:设定列数据的排列方式
3、null default null:列值允许为null,且默认为null
ENGINE = InnoDB AUTO_INCREMENT = 2 ROW_FORMAT = DYNAMIC:
1、ENGINE = InnoDB:使用InnoDB存储引擎
2、AUTO_INCREMENT = 2:从2开始自动增加
3、ROW_FORMAT = DYNAMIC:在该存储引擎中采用dynamic的行存储格式
知识点拓展:
在 MySQL 中,尤其是 InnoDB 存储引擎中,行格式(Row Format)决定了数据如何在表中存储。不同的行格式适用于不同的场景,能够影响性能和存储效率。以下是 MySQL 中几种常见的行格式:
Compact
- 描述::
- 这是 InnoDB 的默认行格式。
- 采用紧凑的存储格式,优化了存储效率和性能。
- 列的 NULL 标记和长度信息被压缩,适用于大多数常见的场景。
- 优点:
- 相对较高的存储效率和良好的性能。
- 适合大多数应用。Redundant
- 描述:
- 这是旧版本 InnoDB 的默认行格式,已经不推荐使用。
- 存储了冗余的列信息,数据存储方式不够紧凑。
- 优点:
- 兼容性:对某些老旧应用或数据的兼容性较好。
- 缺点:
- 存储效率较低。
- 可能导致性能下降。Dynamic
- 描述:
- 行格式优化了存储可变长度列,如 `VARCHAR` 和 `TEXT` 列。
- 大字段数据(如 `TEXT` 和 `BLOB` 类型)可以存储在独立的页中,而不是直接存储在行数据页中。
- 优点:
- 更高的存储效率,尤其是对于包含大量大字段的表。
- 支持更高的性能和更大的字段长度。
- 缺点:
- 读取大字段时可能会涉及额外的页访问。Compressed
- 描述:
- 行数据经过压缩,以节省存储空间。
- 压缩后,数据和索引都存储在压缩的格式中。
- 优点:
- 大幅度减少存储需求。
- 有助于减少 I/O 操作,因为需要读取的数据量减少了。
- 缺点:
- 压缩和解压缩过程可能会增加 CPU 使用率。
- 对写操作的性能影响可能较大。
2.3 插入第一条admin记录
INSERT INTO `admin` VALUES (1, 'admin', 'admin', '管理员', 'http://localhost:9090/files/1697438073596-avatar.png','ADMIN', '13677889922', 'admin@xm.com');
2.4 创建第二个数据库表notice,并插入数据
DROP TABLE IF EXISTS `notice`;
CREATE TABLE `notice` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '标题',
`content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '内容',
`time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建时间',
`user` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '公告信息表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of notice
-- ----------------------------
INSERT INTO `notice` VALUES (1, '今天系统正式上线,开始内测', '今天系统正式上线,开始内测', '2023-09-05', 'admin');
INSERT INTO `notice` VALUES (2, '所有功能都已完成,可以正常使用', '所有功能都已完成,可以正常使用', '2023-09-05', 'admin');
INSERT INTO `notice` VALUES (3, '今天天气很不错,可以出去一起玩了', '今天天气很不错,可以出去一起玩了', '2023-09-05', 'admin');
SET FOREIGN_KEY_CHECKS = 1;
注意:
1、开始:SET FOREIGN_KEY_CHECKS = 0;
结束:SET FOREIGN_KEY_CHECKS = 1;
原因在于:操作过程中存在删除表的可能性,临时禁用外键约束检查,防止删除时报错
3、在数据库中运行SQL语句
3.1 完整SQL语句如下:
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table for admin
-- ----------------------------
DROP TABLE IF EXISTS `admin`;
CREATE TABLE `admin` (
`id` int(10) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '用户名',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '密码',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '姓名',
`avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '头像',
`role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '角色标识',
`phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '电话',
`email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '管理员' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of admin
-- ----------------------------
INSERT INTO `admin` VALUES (1, 'admin', 'admin', '管理员', 'http://localhost:9090/files/1697438073596-avatar.png','ADMIN', '13677889922', 'admin@xm.com');
-- ----------------------------
-- Table for notice
-- ----------------------------
DROP TABLE IF EXISTS `notice`;
CREATE TABLE `notice` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '标题',
`content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '内容',
`time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建时间',
`user` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '公告信息表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of notice
-- ----------------------------
INSERT INTO `notice` VALUES (1, '今天系统正式上线,开始内测', '今天系统正式上线,开始内测', '2023-09-05', 'admin');
INSERT INTO `notice` VALUES (2, '所有功能都已完成,可以正常使用', '所有功能都已完成,可以正常使用', '2023-09-05', 'admin');
INSERT INTO `notice` VALUES (3, '今天天气很不错,可以出去一起玩了', '今天天气很不错,可以出去一起玩了', '2023-09-05', 'admin');
SET FOREIGN_KEY_CHECKS = 1;
3.2 运行SQL文件
右键manager-》运行SQL文件:
结果如下:
5. 总结
在下一篇文章中,我们将开始我们的项目学习!!!!
首先先学习项目的脚手架,我会对脚手架的代码进行深入的讲解
在充分理解脚手架的源码后,我们再基于脚手架进行外卖项目的开发
如果想要学习,大家可以点个关注并订阅,跟着猫猫一起
你的点赞就是我更新的动力,如果觉得对你有帮助,辛苦友友点个赞,收个藏呀~~~