mysql之基本常用的语法
mysql之基本常用的语法
- 1.增加数据
- 2.删除数据
- 3.更新/修改数据
- 4.查询数据
- 4.1.where子句
- 4.2.order by
- 4.3.limit与offset
- 4.4.分组与having
- 4.5.连接
- 5.创建表
1.增加数据
insert into
1.指定列插入
语法:insert into table_name(列名1,列名2,....,列名n) values (值1,值2,...,值n),(值1,值2,...,值n),....,(值1,值2,...,值n);
2.全部列插入
语法:insert into tablename values (值1,值2,...,值n),(值1,值2,...,值n),....,(值1,值2,...,值n);
示例:
-- 指定列名插入
insert into test_user(user_id,user_name,nick_name)
values
(1,'mytest1','测试账号1'),
(2,'mytest2','测试账号2');
-- 不指定列,直接插入所以列的值
insert into test_user
values
(3,1,'mytest3','测试账号3','1','3030@qq.com','18512345678','0','12345678','0','测试'),
(4,1,'mytest4','测试账号4','1','3031@qq.com','18512345679','0','12345678','0','测试1');
注意:插入数据时,需要注意插入的值和对应列的字段类型需要保持一致;
2.删除数据
delete
语法:
delete from table_name;
或
delete from table_name
where 条件;
示例:
-- 删除指定条件的数据
delete from test_user
where user_name = 'mytest1';
-- 删除指定表中所有数据
delete from test_user;
注意:不带where时,会把表中所有的数据都删掉,带where只会删除满足条件的数据;
3.更新/修改数据
update
语法:
update table_name
set 字段名1 = 值1, ....,字段名n = 值n
where 条件;
或
update table_name
set 字段名1 = 值1, ....,字段名n = 值n
示例:
-- 不带where更新指定表中,字段所有的值
update test_user
set dept_id = 2;
-- 带where更新满足条件的数据
update test_user
set dept_id = 4,user_type = 0, nick_name = '测试账号3333'
where user_name = 'mytest3';
4.查询数据
select
语法:
-- 查询后展示指定的字段;
select 字段名1,....,字段名n from table_name
或
-- 查询后展示全部字段;
select * from table_name
示例:
select user_id user_name,nick_name from test_user;
select * from test_user;
4.1.where子句
在select的基础上加上条件,进行条件筛选,查询满足条件的数据;
语法:
select 字段1,....,字段n from table_name
where 条件;
示例:
-- 查询user_id=1的数据,展示全部字段;
select * from test_user
where user_id = 1;
常用的条件运算符:
=:等于;
!=:不等于;
>:大于;
<:小于;
<=:小于等于;
>=:大于等于;
between…and …:在两值之间;
not between:不在两值之间;
in:在集合中;
not in:不在集合中;
like:模糊匹配;
is null:为空;
is not null:不为空;
and:条件组合和;
or:条件组合或;
示例:between…and
-- 查询user_id在1-3之间的
select * from test_user
where user_id between 1 and 3;
示例:not between
-- 查询user_id不在1-3之间的
select * from test_user
where user_id not between 1 and 3;
示例:in
-- 查询user_id是1、3、4的
select * from test_user
where user_id in(1,3,4);
示例:not in
-- 查询user_id不是1、3、4的
select * from test_user
where user_id not in(1,3,4);
示例:like
-- 模糊查询user_name
select * from test_user
-- user_name以my开头的
-- where user_name like 'my%' ;-- user_name包含test的
-- where user_name like '%test%' ;-- user_name以test1结尾的
where user_name like '%test1' ;
示例:is null
-- email是null的
select * from test_user
where email is null;
示例:is not null
-- email不是null的
select * from test_user
where email is not null;
示例:and
-- 查询user_id=1且,dept_id = 1的
select * from test_user
where user_id =1 and dept_id = 1 ;
示例:or
-- 查询user_id=1或者,dept_id = 2的
select * from test_user
where user_id =1 or dept_id = 2 ;
4.2.order by
对数据排序
语法:
order by 字段名1,...字段名n desc;
或
order by 字段名1,...字段名n asc;
示例:desc – 降序
select * from test_menu
order by menu_id desc;
示例:asc – 升序
-- 默认asc排序
select * from test_menu
order by menu_id asc;
4.3.limit与offset
limit
:返回指定的行数;
offset
:与limit结合起来使用,跳过指定的行数;
语法:
limit 行数
或
limit 行数 offset 行数
示例:
-- 返回数据前3条;
select * from test_menu
limit 3;-- 跳过返回的前3条数据;
select * from test_menu
limit 3 offset 7;-- 可以结合起来使用,menu_id倒序,跳过前7条数据后,返回前三条
select * from test_menu
order by menu_id desc
limit 3 offset 7;
4.4.分组与having
group by
:分组,通常与聚合函数一起使用,对每个分组进行计算
having
:过滤分组后的数据
语法:
select 列名1,....列名n,function(列名) from table_name
group by 列名1,....列名n
having 条件
示例:
-- 加上having则查询:角色id为1的关联的菜单总数;
select role_id,count(menu_id) from test_role_menu
group by role_id
having role_id = 1
或
-- 不加having:查询每个角色id,关联的菜单总数
select role_id,count(menu_id) from test_role_menu
group by role_id
常用的聚合函数
SUM:求和
AVG:求平均值
COUNT:求总数
MIN:求最小值
MAX:求最大值
4.5.连接
left join ... no
左连接,左表返回所有记录,右表返回满足条件的记录;
语法:
select 字段1,...,字段n from table_name1
left join table_name2 no 条件;
示例:
-- 连接test_role和test_role_menu表,查询每个role_id的关联菜单总数,左表数据全部返回
select role_name,coun_role.coun from test_role
left join
(select role_id,count(menu_id) as coun from test_role_menu
group by role_id) as coun_role
on coun_role.role_id = test_role.role_id;
right join....no
右连接,右表返回所有记录,左表返回满足条件的记录;
语法:
select 字段1,...,字段n from table_name1
right join table_name2 no 条件;
示例:
-- 连接test_role和test_role_menu表,查询每个role_id的关联菜单总数,右表数据全部返回
select role_name,coun_role.coun from test_role
right join
(select role_id,count(menu_id) as coun from test_role_menu
group by role_id) as coun_role
on coun_role.role_id = test_role.role_id;
inner join....no
内连接,返回满足连接条件的记录;
语法:
select 字段1,...,字段n from table_name1
inner join table_name2 no 条件;
示例:
-- 连接test_role和test_role_menu表,查询每个test_role.role_id=test_role_menu.role_id,
-- 即:角色关联了菜单的,菜单总数
select role_name,coun_role.coun from test_role
inner join
(select role_id,count(menu_id) as coun from test_role_menu
group by role_id) as coun_role
on coun_role.role_id = test_role.role_id;
如图:
5.创建表
create table
语法:
create table table_name (字段名1 类型(长度) 约束,...., 字段名n 类型(长度) 约束, primary key (字段名1,...,字段名n)
);
提示:约束是可选的,根据实际情况的需要决定是否需要加;常见的有:
not null:非空约束,指示某列不能存储 null值;
unique:唯一约束,保证某列的每行必须有唯一的值;
primary key:主键约束,not null 和unique的结合,确保某列有唯一标识;
foreign key:外键约束,保证参照完整性,一个表中的数据匹配另一个表中的值;
check:检查约束,保证列中的值符合指定的条件;
default:设置默认值,没有给列赋值时的默认值;
comment:是注释,可以理解为写个备注描述字段是干什么的,我这里为了演示加上了
示例:
create table test_user(user_id bigint(20) not null auto_increment comment '用户id',dept_id bigint(20) comment '部门id',user_name varchar(30) not null comment '用户账号',nick_name varchar(30) not null comment '用户昵称',user_type varchar(2) comment '用户类型',email varchar(50) COMMENT '用户邮箱',phonenumber varchar(11) COMMENT '手机号码',sex char(1) COMMENT '用户性别',password varchar(100) COMMENT '密码',status char(1) COMMENT '帐号状态',remark varchar(500) COMMENT '备注',primary key (user_id)
);
相关表和数据:
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for test_dept
-- ----------------------------
DROP TABLE IF EXISTS `test_dept`;
CREATE TABLE `test_dept` (`dept_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '部门id',`parent_id` bigint(20) NULL DEFAULT 0 COMMENT '父部门id',`ancestors` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '祖级列表',`dept_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '部门名称',`order_num` int(4) NULL DEFAULT 0 COMMENT '显示顺序',`leader` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '负责人',`phone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '联系电话',`email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱',`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '0' COMMENT '部门状态(0正常 1停用)',`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',PRIMARY KEY (`dept_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '部门表' ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of test_dept
-- ----------------------------
INSERT INTO `test_dept` VALUES (1, 0, '0', '测试管理系统', 0, 'admin', '15888888888', '15888888888@qq.com', '0', 'admin');
INSERT INTO `test_dept` VALUES (2, 1, '1', '校长室', 1, 'admin', NULL, NULL, NULL, NULL);
INSERT INTO `test_dept` VALUES (3, 1, '1', '办公室', 2, 'admin', NULL, NULL, NULL, NULL);
INSERT INTO `test_dept` VALUES (4, 1, '1', '教导处', 3, 'admin', NULL, NULL, NULL, NULL);
INSERT INTO `test_dept` VALUES (5, 1, '1', '德育处', 4, 'admin', NULL, NULL, NULL, NULL);
INSERT INTO `test_dept` VALUES (6, 1, '1', '财务室', 5, 'admin', NULL, NULL, NULL, NULL);
INSERT INTO `test_dept` VALUES (7, 1, '1', '科研室', 6, 'admin', NULL, NULL, NULL, NULL);
INSERT INTO `test_dept` VALUES (8, 1, '1', '工会室', 7, 'admin', NULL, NULL, NULL, NULL);
INSERT INTO `test_dept` VALUES (9, 1, '1', '文化及新媒体中心', 8, 'admin', NULL, NULL, NULL, NULL);
INSERT INTO `test_dept` VALUES (10, 1, '1', '医务室', 9, 'admin', NULL, NULL, NULL, NULL);
INSERT INTO `test_dept` VALUES (11, 1, '1', '后勤室', 10, 'admin', NULL, NULL, NULL, NULL);
INSERT INTO `test_dept` VALUES (12, 1, '1', '幼儿园', 11, 'admin', NULL, NULL, NULL, NULL);
INSERT INTO `test_dept` VALUES (13, 1, '1', '驾驶员', 12, 'admin', NULL, NULL, NULL, NULL);
INSERT INTO `test_dept` VALUES (14, 1, '1', '测试部', 10, 'admin', NULL, NULL, NULL, NULL);
INSERT INTO `test_dept` VALUES (15, 1, '1', '测试部门', 99, 'admin', NULL, NULL, NULL, NULL);-- ----------------------------
-- Table structure for test_menu
-- ----------------------------
DROP TABLE IF EXISTS `test_menu`;
CREATE TABLE `test_menu` (`menu_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '菜单ID',`menu_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '菜单名称',`parent_id` bigint(20) NULL DEFAULT 0 COMMENT '父菜单ID',`order_num` int(4) NULL DEFAULT 0 COMMENT '显示顺序',`path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '路由地址',`component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '组件路径',`is_frame` int(1) NULL DEFAULT 1 COMMENT '是否为外链(0是 1否)',`is_cache` int(1) NULL DEFAULT 0 COMMENT '是否缓存(0缓存 1不缓存)',`menu_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '菜单类型(M目录 C菜单 F按钮)',`visible` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '0' COMMENT '菜单状态(0显示 1隐藏)',`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '0' COMMENT '菜单状态(0正常 1停用)',`perms` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '权限标识',PRIMARY KEY (`menu_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '菜单权限表' ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of test_menu
-- ----------------------------
INSERT INTO `test_menu` VALUES (1, '系统管理', 0, 7, 'system', NULL, 1, 0, 'M', '0', '0', '');
INSERT INTO `test_menu` VALUES (2, '系统监控', 0, 8, 'monitor', NULL, 1, 0, 'M', '0', '0', '');
INSERT INTO `test_menu` VALUES (3, '系统工具', 0, 9, 'tool', NULL, 1, 0, 'M', '0', '0', '');
INSERT INTO `test_menu` VALUES (4, '用户管理', 0, 1, 'users', 'system/user/index', 1, 1, 'C', '0', '0', 'system:user:list');
INSERT INTO `test_menu` VALUES (5, '角色管理', 0, 2, 'role', 'system/role/index', 1, 0, 'C', '0', '0', 'system:role:list');
INSERT INTO `test_menu` VALUES (6, '菜单管理', 1, 3, 'menu', 'system/menu/index', 1, 0, 'C', '0', '0', 'system:menu:list');
INSERT INTO `test_menu` VALUES (7, '部门管理', 0, 2, 'dept', 'system/dept/index', 1, 0, 'C', '0', '0', 'system:dept:list');
INSERT INTO `test_menu` VALUES (8, '岗位管理', 1, 5, 'post', 'system/post/index', 1, 0, 'C', '0', '0', 'system:post:list');
INSERT INTO `test_menu` VALUES (9, '字典管理', 1, 6, 'dict', 'system/dict/index', 1, 0, 'C', '0', '0', 'system:dict:list');
INSERT INTO `test_menu` VALUES (10, '参数设置', 1, 7, 'config', 'system/config/index', 1, 0, 'C', '0', '0', 'system:config:list');
INSERT INTO `test_menu` VALUES (11, '学习资料', 0, 3, 'notice', 'system/notice/index', 1, 0, 'C', '0', '0', 'system:notice:list');
INSERT INTO `test_menu` VALUES (12, '日志管理', 1, 9, 'log', '', 1, 0, 'M', '0', '0', '');
INSERT INTO `test_menu` VALUES (13, '操作日志', 0, 1, 'operlog', 'system/operlog/index', 1, 0, 'C', '0', '0', 'system:operlog:list');
INSERT INTO `test_menu` VALUES (14, '登录日志', 0, 2, 'logininfor', 'system/logininfor/index', 1, 0, 'C', '0', '0', 'system:logininfor:list');
INSERT INTO `test_menu` VALUES (15, '用户查询', 1, 1, 'user', '', 1, 0, 'F', '0', '0', 'system:user:query');
INSERT INTO `test_menu` VALUES (16, '用户新增', 1, 2, 'useradd', '', 1, 0, 'F', '0', '0', 'system:user:add');
INSERT INTO `test_menu` VALUES (17, '用户修改', 1, 3, 'userupdate', '', 1, 0, 'F', '0', '0', 'system:user:edit');
INSERT INTO `test_menu` VALUES (18, '用户删除', 1, 4, 'userdelete', '', 1, 0, 'F', '0', '0', 'system:user:remove');
INSERT INTO `test_menu` VALUES (19, '用户导出', 1, 5, 'useroutfile', '', 1, 0, 'F', '0', '0', 'system:user:export');
INSERT INTO `test_menu` VALUES (20, '用户导入', 1, 6, 'userinfile', '', 1, 0, 'F', '0', '0', 'system:user:import');-- ----------------------------
-- Table structure for test_role
-- ----------------------------
DROP TABLE IF EXISTS `test_role`;
CREATE TABLE `test_role` (`role_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '角色ID',`role_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '角色名称',`role_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '角色权限字符串',`role_sort` int(4) NOT NULL COMMENT '显示顺序',`data_scope` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '1' COMMENT '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)',`menu_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '菜单树选择项是否关联显示',`dept_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '部门树选择项是否关联显示',`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '角色状态(0正常 1停用)',`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',PRIMARY KEY (`role_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '角色信息表' ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of test_role
-- ----------------------------
INSERT INTO `test_role` VALUES (1, '超级管理员', 'admin', 1, '1', 1, 1, '0', '0', 'admin', '2024-01-23 05:17:39', '', NULL, '超级管理员');
INSERT INTO `test_role` VALUES (2, '普通角色', 'common', 2, '1', 1, 1, '0', '2', 'admin', '2024-01-23 05:17:39', 'admin', '2024-10-11 15:03:25', '普通角色');
INSERT INTO `test_role` VALUES (3, '办公室角色', 'docAdmin', 3, '1', 1, 1, '0', '2', 'admin', '2024-02-06 09:41:48', 'admin', '2024-02-06 09:44:21', NULL);
INSERT INTO `test_role` VALUES (4, '教导处角色', 'docApply', 4, '1', 1, 1, '0', '0', 'admin', '2024-02-06 09:44:12', 'admin', '2024-10-11 15:06:06', NULL);
INSERT INTO `test_role` VALUES (5, '德育处角色', 'docTransfer', 5, '1', 1, 1, '0', '0', 'admin', '2024-02-06 09:44:56', 'admin', '2024-11-08 11:49:27', NULL);
INSERT INTO `test_role` VALUES (6, '财务室角色', 'committee', 0, '1', 1, 1, '0', '0', 'admin', '2024-10-11 15:46:23', 'admin', '2024-10-24 17:52:21', NULL);
INSERT INTO `test_role` VALUES (7, '科研室角色', 'administration', 0, '1', 1, 1, '0', '0', 'admin', '2024-10-11 15:47:02', 'admin', '2024-10-24 17:52:39', NULL);
INSERT INTO `test_role` VALUES (8, '行政会角色', 'administration', 0, '1', 1, 1, '0', '2', 'admin', '2024-10-11 15:47:02', '', NULL, NULL);
INSERT INTO `test_role` VALUES (9, '校长会角色', 'school', 0, '1', 1, 1, '0', '0', 'admin', '2024-10-11 15:48:00', 'admin', '2024-10-28 10:22:03', NULL);
INSERT INTO `test_role` VALUES (10, '医务室角色', 'meetingAdmin', 5, '1', 1, 1, '0', '2', 'admin', '2024-10-11 15:48:34', '', NULL, NULL);
INSERT INTO `test_role` VALUES (11, '后勤角色', 'meetingManager', 0, '1', 1, 1, '0', '0', 'admin', '2024-10-11 15:48:40', 'admin', '2024-11-08 09:56:46', NULL);-- ----------------------------
-- Table structure for test_role_menu
-- ----------------------------
DROP TABLE IF EXISTS `test_role_menu`;
CREATE TABLE `test_role_menu` (`role_id` bigint(20) NOT NULL COMMENT '角色ID',`menu_id` bigint(20) NOT NULL COMMENT '菜单ID',PRIMARY KEY (`role_id`, `menu_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of test_role_menu
-- ----------------------------
INSERT INTO `test_role_menu` VALUES (1, 1);
INSERT INTO `test_role_menu` VALUES (1, 2);
INSERT INTO `test_role_menu` VALUES (1, 3);
INSERT INTO `test_role_menu` VALUES (1, 4);
INSERT INTO `test_role_menu` VALUES (1, 5);
INSERT INTO `test_role_menu` VALUES (1, 6);
INSERT INTO `test_role_menu` VALUES (1, 7);
INSERT INTO `test_role_menu` VALUES (2, 1);
INSERT INTO `test_role_menu` VALUES (2, 2);
INSERT INTO `test_role_menu` VALUES (4, 4);
INSERT INTO `test_role_menu` VALUES (4, 5);
INSERT INTO `test_role_menu` VALUES (5, 8);
INSERT INTO `test_role_menu` VALUES (20, 10);-- ----------------------------
-- Table structure for test_user
-- ----------------------------
DROP TABLE IF EXISTS `test_user`;
CREATE TABLE `test_user` (`user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户id',`dept_id` bigint(20) NULL DEFAULT NULL COMMENT '部门id',`user_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '用户账号',`nick_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '用户昵称',`user_type` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户类型',`email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户邮箱',`phonenumber` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '手机号码',`sex` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户性别',`password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '密码',`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '帐号状态',`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注',PRIMARY KEY (`user_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of test_user
-- ----------------------------
INSERT INTO `test_user` VALUES (1, 1, 'mytest1', '测试账号1', '0', NULL, '18512315678', '1', '12345678', '1', '测试2');
INSERT INTO `test_user` VALUES (2, 2, 'mytest2', '测试账号2', '1', 'test@162.com', '18592345678', '1', '812345678', '1', '测试3');
INSERT INTO `test_user` VALUES (3, 3, 'mytest3', '测试账号3333', '0', '3030@qq.com', '18512345678', '0', '12345678', '0', '测试4');
INSERT INTO `test_user` VALUES (4, 2, 'mytest4', '测试账号4', '1', '3031@qq.com', '18512345679', '0', '12345678', '0', '测试1');-- ----------------------------
-- Table structure for test_user_role
-- ----------------------------
DROP TABLE IF EXISTS `test_user_role`;
CREATE TABLE `test_user_role` (`user_id` bigint(20) NOT NULL COMMENT '用户ID',`role_id` bigint(20) NOT NULL COMMENT '角色ID',PRIMARY KEY (`user_id`, `role_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户和角色关联表' ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of test_user_role
-- ----------------------------
INSERT INTO `test_user_role` VALUES (1, 1);
INSERT INTO `test_user_role` VALUES (1, 2);
INSERT INTO `test_user_role` VALUES (1, 3);
INSERT INTO `test_user_role` VALUES (1, 4);
INSERT INTO `test_user_role` VALUES (2, 1);
INSERT INTO `test_user_role` VALUES (2, 3);
INSERT INTO `test_user_role` VALUES (2, 4);SET FOREIGN_KEY_CHECKS = 1;
相关文章:
mysql之基本常用的语法
mysql之基本常用的语法 1.增加数据2.删除数据3.更新/修改数据4.查询数据4.1.where子句4.2.order by4.3.limit与offset4.4.分组与having4.5.连接 5.创建表 1.增加数据 insert into 1.指定列插入 语法:insert into table_name(列名1,列名2,....,列名n) values (值1,值…...
基于Linux的patroni搭建标准
作者:Digital Observer(施嘉伟) Oracle ACE Pro: Database PostgreSQL ACE Partner 11年数据库行业经验,现主要从事数据库服务工作 拥有Oracle OCM、DB2 10.1 Fundamentals、MySQL 8.0 OCP、WebLogic 12c OCA、KCP、PCTP、PCSD、P…...
2024年第十三届”认证杯“数学中国数学建模国际赛(小美赛)
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓...
Unity类银河战士恶魔城学习总结(P149 Screen Fade淡入淡出菜单)
【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili 教程源地址:https://www.udemy.com/course/2d-rpg-alexdev/ 本章节实现了进入游戏和死亡之后的淡入淡出动画效果 UI_FadeScreen.cs 1. Animator 组件的引用 (anim) 该脚本通过 Animator 控制 UI 元…...
(四)3D视觉机器人的手眼标定(眼在手外)
内容 1.背景介绍1.1 思路T_target_to_cam求解公式求解 2.操作流程 1.背景介绍 3D视觉机器人指的是机器人通过3D相机提供的3D点云视觉信息,完成某些实际的功能。 目标是将场景信息从相机坐标系变换至机械臂坐标系中,最终是获得相机到机械臂基座的空间…...
安达发|制造业APS智能优化排产软件的四类制造模型解决方案
在制造业中,APS(高级计划和排程系统)智能优化排产软件的应用越来越广泛。它通过集成先进的算法和模型,帮助企业提高生产效率、降低成本并提升客户满意度。针对不同类型的生产需求,APS软件提供了四类制造模型解决方案&a…...
命令行使用ssh隧道连接远程mysql
本地电脑A 跳板机B 主机2.2.2.2 用户名 B ssh端口号22 登录密码bbb 远程mysql C 地址 3.3.3.3 端口号3306 用户名C 密码ccc A需要通过跳板机B才能访问C; navicat中配置ssh可以实现在A电脑上访问C 如何实现本地代码中访问C呢? # 假设本地使…...
力扣第 71 题 简化路径
一、题目描述 给定一个字符串 path,表示一个由目录名和斜杠 "/" 组成的绝对路径,请简化该路径,使其变为规范路径。 在 Unix 风格的文件系统中: 一个点 "." 表示当前目录本身;两个点 "..&q…...
使用ENSP实现OSPF
一、项目拓扑 二、项目实现 1.路由器AR1配置 进入系统试图 sys将路由器命名为R1 sysname R1关闭信息中心 undo info-center enable 进入g0/0/0接口 int g0/0/0将g0/0/0接口IP地址配置为1.1.1.1/24 ip address 1.1.1.1 24进入g0/0/1接口 int g0/0/1将g0/0/1接口IP地址配置为2…...
分布式下怎么优化处理数据,怎么代替Join
分布式下怎么优化处理数据,怎么代替Join 简单来说, 可以采用 数据冗余,有意地存储一些重复的数据,以此减少关联查询的需求 数据拆分与多次查询,将一次获取的多表数据,拆分多个单独的查询 使用数据仓库…...
51单片机快速入门之中断的应用 2024/11/23 串口中断
51单片机快速入门之中断的应用 基本函数: void T0(void) interrupt 1 using 1 { 这里放入中断后需要做的操作 } void T0(void): 这是一个函数声明,表明函数 T0 不接受任何参数,并且不返回任何值。 interrupt 1: 这是关键字和参…...
[Java]微服务配置管理
介绍 代码拆分为微服务后, 每个服务都有自己的配置文件, 而这些配置文件中有很多重复的配置, 并且配置变化后需要重启服务, 才能生效, 这样就会影响开发体验和效率 配置管理服务可以帮助我们集中管理公共的配置, 并且nacos就可以实现配置管理服务 配置共享 我们可以把微服务共…...
c/c++ 用easyx图形库写一个射击游戏
#include <graphics.h> #include <conio.h> #include <stdlib.h> #include <time.h>// 定义游戏窗口的大小 #define WINDOW_WIDTH 800 #define WINDOW_HEIGHT 600// 定义玩家和目标的尺寸 #define PLAYER_SIZE 50 #define TARGET_SIZE 20// 玩家的结构…...
Rust eyre 错误处理实战教程
在《Rust 错误处理库: thiserror 和 anyhow》中我们介绍了Rust简化处理错误策略,本文解释eyre错误处理库,并通过多个实际示例进行说明,最后于anyhow库进行对比,让你更好理解其应用场景。 eyre是一个用于 Rust 的错误处理库&#x…...
面试小札:JVM虚拟机
1. 定义与基本概念 - JVM(Java Virtual Machine)即Java虚拟机,是Java程序的运行核心。它是一个虚构出来的计算机,通过在实际的计算机上仿真模拟各种计算机功能来运行Java字节码。字节码是一种中间格式,它使得Java程序能…...
Docker扩容操作(docker总是空间不足)
Docker扩容操作(docker总是空间不足) 1、df二连,一共也就70g,总是占满93%以上。所以需要移动到其他目录上 查看docker镜像和容器存储目录的空间大小 du -sh /var/lib/docker/2、停止docker服务 systemctl stop docker3、首先创建目录并迁移 # 首先创…...
数字图像处理(4):FPGA中的定点数、浮点数
(1)定点数:小数点固定在数据的某一位置的数,可以分为定点整数和定点小数和普通定点数。定点数广泛应用于数字图像处理(图像滤波、图像缩放)和数字信号处理(如FFT、定点卷积)中。 定…...
毕昇入门学习
schemas.py 概述 这段代码主要定义了一系列基于 Pydantic 的数据模型(BaseModel),用于数据验证和序列化,通常用于构建 API(如使用 FastAPI)。这些模型涵盖了用户认证、聊天消息、知识库管理、模型配置等多…...
2411C++,学习C++提示4
结构绑定 auto [first, ...ts] std::tuple{1, 2 ,3};assert(1 first);浮点作为非类型模板参数 template<double Value> constexpr auto value Value;int main() {std::cout << value<4.2>; // prints 4.2 }template<double... Vl1s, double... Vl2s&g…...
STM32-- 看门狗--介绍、使用场景、失效场景
STM32 中的看门狗(Watchdog Timer,简称 WDG)有两种主要类型:独立看门狗(IWDG) 和 窗口看门狗(WWDG)。它们的喂狗机制各有特点,主要区别如下: 1. 独立看门狗&a…...
【赵渝强老师】PostgreSQL的数据库
PostgreSQL的逻辑存储结构主要是指数据库中的各种数据库对象,包括:数据库集群、数据库、表、索引、视图等等。所有数据库对象都有各自的对象标识符oid(object identifiers),它是一个无符号的四字节整数,相关对象的oid都…...
linux安全管理-会话安全
文章目录 1 设置命令行界面超时退出2 配置终端登录失败策略3 配置 SSH 登录失败策略 1 设置命令行界面超时退出 1、检查内容 检查操作系统是否设置命令行界面超时退出。 2、配置要求 操作系统设置命令行界面超时退出。 3、配置方法 配置命令行界面超时时间,编辑/et…...
Ubuntu监视显卡占用情况
在终端中运行 watch -n 0.5 nvidia-smi【以下内容由大模型生成】 watch -n 0.5 nvidia-smi 是一个组合命令,用于在 Linux 终端中定期执行 nvidia-smi 命令并显示其输出。让我们分解一下这个命令的各个部分: watch: watch 是一个用于定期执行其他命令并显…...
学成在线day06
上传视屏 断点续传 通常视频文件都比较大,所以对于媒资系统上传文件的需求要满足大文件的上传要求。http协议本身对上传文件大小没有限制,但是客户的网络环境质量、电脑硬件环境等参差不齐,如果一个大文件快上传完了网断了没有上传完成&…...
Mac安装及合规无限使用Beyond Compare
文章目录 Beyond CompareBeyond Compare简介Beyond Compare安装Beyond Compare到期后继续免费使用 Beyond Compare Beyond Compare简介 Beyond Compare 是一款由 Scooter Software 开发的文件和文件夹比较工具。它主要用于对比两个文件或文件夹之间的差异,并支持文…...
【青牛科技】2K02 电动工具专用调速电路芯片描述
概述: 2K02 是电动工具专用调速电路。内置稳压电路,温度系数好,可以调节输出频率以及占空比的振荡输出,广泛的应用于小型电钻,割草机等工具。 主要特点: ● 电源电压范围宽 ● 占空比可调 ● 温度系数好 …...
基于SpringBoot实现的民宿管理系统(代码+论文)
🎉博主介绍:Java领域优质创作者,阿里云博客专家,计算机毕设实战导师。专注Java项目实战、毕设定制/协助 📢主要服务内容:选题定题、开题报告、任务书、程序开发、项目定制、论文辅导 💖精彩专栏…...
安装QT6.8(MSVC MinGW)+QT webengine+QT5.15.2
本篇主要针对只使用过QT5的qmake,没有用过MSVC,VS的老同学。 建议一部分一部分安装,全部勾选安装遇到问题会中断,前功尽弃。 我自己需要的是QT5,编出的软件用在公司设备上。 QT6:建议也安装学习…...
MinIO常见操作及Python实现对象的增删改查
MinIO常见操作 MinIO是一个高性能的开源对象存储服务,它兼容Amazon S3云存储服务API。在MinIO中,常见的操作包括: 存储桶操作: 创建、列出、获取信息、删除存储桶。 对象操作: 上传、下载、列出、删除对象。 权限管理&…...
网络编程中的字节序函数htonl()、htons()、ntohl()和ntohs()
目录 1,网络字节序和主机字节序 2. 函数的具体作用 2.1,htonl(Host to Network Long) 2.2,htons(Host to Network Short) 2.3,ntohl(Network to Host Long) 2.4,ntohs(Network to Host Sho…...
怎样申请网站/seo如何去做优化
有时候对python中的数组进行操作时,会用到python中的all()与any()函数,这里记录一下: all():当可迭代对象为空时返回True。或者当可迭代对象中是否所有值都为True,所有值都为True,则返回True。否则返回False。 any():当可迭代对象…...
网站密码如何找回/外链推广网站
我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情 最近一个在一个原来的项目代码中重新弄一个新的项目出来,最简单的方法就是在gradle里面的applicationId换一个新的包名就可以了。然后换一些文案&#…...
企业网站制作 优帮云/公司网站开发费用
一、线性表(List) 0个或者多个数据元素的有限序列 在一个较复杂的线性表中,一个数据元素可以由若干个数据项组成 二、线性表抽象数据模型 三、线性表的顺序存储结构 使用一维数组实现顺序存储结构 存取时间性能为O(1) 四、顺序存储结构的插入…...
哈尔滨悦创网络科技网站开发/seo 论坛
1.char*转string:可以直接赋值。 2.char[]转string:可以直接赋值。 3.char*转char[]:不能直接赋值,可以循环char*字符串逐个字符赋值,也可以使用strcpy_s等函数。 4.string转char[]:不能直接赋值,可以循环char*字符…...
江志文周诗雨/网站seo方案案例
问题:输入正整数A,B,求得A,B的最小公倍数 思路一:暴力迭代循环,直到循环至某数能被A,B整除。方法简单,但是效率太低。 aint(input()) bint(input()) mmax(a,b) nmin(a,b) if m%n0:min_mula else:min_mulabwhile min_…...
为自己家秘方做网站/信息流广告优化师
layui 兼容人类正在使用的全部浏览器(IE6/7除外),可作为 PC 端后台系统与前台界面的速成开发方案。 https://www.layui.com/doc/modules/layer.html...