转载

MySQL Workbeach数据建模,导入数据以及加密处理

使用的工具有:MySQL Workbeach以及阿里云数据库和本地数据库

1.MySQL Workbeach构建数据库脚本


 表与表的关系:1:1, 1:n, n:m。

通过外键关联表。

 


设置相应的参数:

建议utf8mb4 :避免中文乱码

 

 


新建图表:


新建表:utf8mb4 避免中文乱码


 



设置表的结构:


 


 设置外键约束:

 


 


 


这样,两个表之间的关系就建立起来了。


保存为mwb 格式:(ctrl+s)


打开hr.mwb,如图:


导出hr.sql脚本:

 


导入本地数据库或者阿里云数据库运行:


扩展:

切换表与表之间的关系:


 

 


1:1 共享主键

 


同时一个表可以有多个主键:

following表

 


设置它们的外键:


user_role表

 


设置外键约束:

 


这样,这几张表之间的关系也就确定了:

 


最后导出weibo.sql,导入数据库看下效果 

 source xxx.sql


查看表结构:

 


.2.导入数据


 

 


insert into user(name,phone) values('bob','131');

insert into account(id,name,password) values(last_insert_id(),'bob','123456');

 


begin;
insert into user(name,phone,email) values('king','186','king@qq.com');
insert into account(id,name,password) values(last_insert_id(),'king','9999');
commit;

 


//last_insert_id()基于客户端连接,安全
insert into user(id,name,phone,email) values(9527,'老王','186','王@qq.com');
insert into account(id,name,password) values(9527,'老王','888888');

select * from user,account where user.id=account.id;

 


3.加密

有兴趣的小伙伴可以去https://dev.mysql.com/doc/refman/8.0/en/encryption-functions.html了解。

考虑到数据的安全方面,可以采用SHA2,MD5,SHA1以及SHA2 等相关加密方法。

密码处理:
sha1(''):40位
md5(''):32位
sha2('',256):64位

 


insert into user(name,phone,email) values('tom','150','tom@qq.com');
insert into account(id,name,password) values(last_insert_id(),'tom',sha('666666',256);

 


limit: 只要几行。


 offset :跳过几行。


 

关于MySQL Workbeach数据建模,导入数据以及加密处理就到这里了,有问题的小伙伴欢迎留言!

正文到此结束
本文目录