• 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);

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

     

  • 相关阅读:
    java实现倒计时
    javaweb启动时启动socket服务端
    二进制数与十六进制数之间如何互相转换
    分组查询最新时间的数据
    javaweb利用钉钉机器人向钉钉群推送消息(解决中文乱码)
    java利用钉钉机器人向钉钉群推送消息
    Java原生操作数据库(不使用框架)
    Mybatis 插入与批量插入以及多参数批量删除
    在spring中直接在类中注入dao
    web自动化测试实战之批量执行测试用例
  • 原文地址:https://www.cnblogs.com/a986771570/p/8032318.html
Copyright © 2020-2023  润新知