• 改SQL编码格式 报错 1366 Incorrect string value: '\xE8\xAF\xAD' for column 'subject' at row 1


    :3306/aaa?useUnicode=true&characterEncoding=UTF-8

    改数据库编码为 utf8:

     Alter database aaa character set utf8 collate utf8_general_ci;

    改表编码为 utf8:

     Alter table t_score convert to character set utf8;

    查看 数据库 编码格式 :

    show create database aaa;

    查看 表 编码格式 :

    SHOW CREATE TABLE t_score

    查看 字段 编码:

    SHOW FULL COLUMNS FROM t_score;

    新建 指定 编码 数据库:

    create database aaa charset=utf8;

     案例:

    use aaa;
    show create database aaa;
    show create table t_score;
    
    CREATE DATABASE `aaa` /*!40100 DEFAULT CHARACTER SET latin1 */
    CREATE TABLE `t_score` (
      `name` varchar(255) DEFAULT NULL,
      `subject` varchar(255) DEFAULT NULL,
      `score` int(11) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1
    
    DROP table if EXISTS t_score ;
    create table t_score (
    `name` varchar(255),
    `subject` varchar(255),
    score int
    );
    
    alter table t_score convert to character set utf8;
    Alter database aaa character set utf8 collate utf8_general_ci;
    
    insert into t_score values ("a","语",7),("a","数",8),("a","外",9);
    insert into t_score values ("b","语",8),("b","数",5),("b","外",4);
    insert into t_score values ("c","语",7),("c","数",6),("c","外",7);
    select * from t_score;
    
    /*每科第一名*/
    select t.`subject`,t.`name`,t.`score` from t_score t
     join 
    (select max(score) max,`subject` from t_score  group by `subject`)a
    on t.score = a.max and t.`subject`=a.`subject` 
    order by `subject`;
    
    /*全科及格人数*/
    select COUNT(0)人数 from
    (select count(0) ct from 
    (select * FROM t_score where `score` >6)a
    group by `name`
    having ct=3)b;
    
    /*平均分及格的学生*/
    select name,avg(score) av from t_score group by name having av>6;
    
    /*sql语句实现行转列的3种方法*/
    select `name` 姓名,
    sum(case `subject` when '' then `score` else 0 end) 语文,
    sum(case `subject` when '' then `score` else 0 end) 数学,
    sum(case `subject` when '' then `score` else 0 end) 英语 
    from t_score group by `name`

    ————————————————
    原文链接:https://blog.csdn.net/testManger/article/details/105348193

  • 相关阅读:
    Drupal 7 中文安装教程
    苹果之硬盘启动安装
    STP详解
    RedHat Install
    Linux密码更改
    win8.1开启虚拟wifi
    跳过安装密钥安装系统
    虚拟机中Linux安装Tools
    桌面虚拟化之XenDesktop7
    桌面虚拟化之部署DDC-5.6
  • 原文地址:https://www.cnblogs.com/chang09/p/16409131.html
Copyright © 2020-2023  润新知