Mysql进阶用法(导入导出,分组查询,添加外键约束)

                                 Mysql进阶用法

1.导入导出功能

1.1导入功能

在处理别人发送过来的数据时,往往导入会出现各种各样的错误,如编码错误,数据紊乱等。

这个时候我们需要一个有效的导入语句来进行数据的完整的导入

load data infile 'C://ABC.csv' into table t_sc charset gbk FIELDS TERMINATED BY ','

load data infile “这里填入你文件的路径”

into table “这里填入你的表的名称”

charset “这里填字符的编码名称”

fields terminated by “这里填入分割符号,没有可以不填让系统自己分割”

这样就可以完成数据的导入功能了

这里如果报错

not found (Errcode: 2 - No such file or direc

在导入的时候加入local即可

1.2导出功能

导出我们选择navicat 提供的傻瓜化的导出功能,可以把数据导出为txt xml等格式方便他人使用。

2.分组查询

使用group by 属性名 [having 条件表达式][ with rollup]

“属性名 ”指按照该字段值进行分组;“having 条件表达式 ”用来限制分组后的显示,满足条件的结果将被显示;with rollup 将会在所有记录的最后加上一条记录,该记录是上面所有记录的总和。

常见的应用场景为查询在一个表单中,含有相同名称的数据。

select name, count(*) from   t_sc group by name

having count(*) > 1

使用该方法查询出同名的数据

3.添加外键约束

我们往往会需要用到外键来进行一对多的查询,常见的用法有

#添加外键约束alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名(对应的表的主键字段名);

注意:这里添加的外键的字段名和外键表民中的主键的字段名必须保持一致

 alter table t_rolepermissions  add constraint rp foreign key(roleId) references t_Roles(id);

使用该方法添加角色权限表的外键对应权限表

 

原文地址:https://www.cnblogs.com/a986771570/p/8032318.html