SQL
1、
drop table if exists sys_dept;
create table sys_dept (dept_id bigint(20) not null auto_increment comment '部门id',parent_id bigint(20) default 0 comment '父部门id',ancestors varchar(50) default '' comment '祖级列表',dept_name varchar(30) default '' comment '部门名称',order_num int(4) default 0 comment '显示顺序',leader varchar(20) default null comment '负责人',phone varchar(11) default null comment '联系电话',email varchar(50) default null comment '邮箱',status char(1) default '0' comment '部门状态(0正常 1停用)',del_flag char(1) default '0' comment '删除标志(0代表存在 2代表删除)',create_by varchar(64) default '' comment '创建者',create_time datetime comment '创建时间',update_by varchar(64) default '' comment '更新者',update_time datetime comment '更新时间',primary key (dept_id)
) engine=innodb auto_increment=200 comment = '部门表';
1、删除sys_dept如果存在
2、bight--大整数类型
varchar--可变长度字符串类型
char--固定字符串类型,为什么部门状态不用Int用char,char(1),这里的char是数字,只占1个字节,而Int占了4个字节,更浪费空间(实际占用:在 utf8 或 utf8mb4 字符集中数字也只占用 1 个字节,如果是中文的char,可能占1-3个字节,看是什么编码)
3、为什么auto_increment=200 ,要从200开始自增,防止易于维护:系统内置数据和用户数据分离明显、扩展性好:为未来可能的手动插入数据预留空间、避免冲突:防止自增ID与预设数据ID冲突
4、没什么要特别记,记住数据库常见这几种数据类型就行
5、SQL的char和Java的char是不一样的
-- SQL中的char是固定长度的字符串类型
char(1) -- 表示固定长度为1的字符串,可以存储'0', 'A', '中'等单个字符
char(10) -- 表示固定长度为10的字符串
-- Java中的char是基本数据类型,表示单个字符
char c = 'A'; // 只能存储单个字符
char c2 = '中'; // 可以存储Unicode字符
2、
-- 4、角色信息表
-- ----------------------------
drop table if exists sys_role;
create table sys_role (role_id bigint(20) not null auto_increment comment '角色ID',role_name varchar(30) not null comment '角色名称',role_key varchar(100) not null comment '角色权限字符串',role_sort int(4) not null comment '显示顺序',data_scope char(1) default '1' comment '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)',menu_check_strictly tinyint(1) default 1 comment '菜单树选择项是否关联显示',dept_check_strictly tinyint(1) default 1 comment '部门树选择项是否关联显示',status char(1) not null comment '角色状态(0正常 1停用)',del_flag char(1) default '0' comment '删除标志(0代表存在 2代表删除)',create_by varchar(64) default '' comment '创建者',create_time datetime comment '创建时间',update_by varchar(64) default '' comment '更新者',update_time datetime comment '更新时间',remark varchar(500) default null comment '备注',primary key (role_id)
) engine=innodb auto_increment=100 comment = '角色信息表';
