• mysql修改表、字段、库的字符集


    修改数据库字符集:

    ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...];

    把表默认的字符集和所有字符列(CHAR,VARCHAR,TEXT)改为新的字符集:

    ALTER TABLE tbl_name CONVERT TO CHARACTER SET character_name [COLLATE ...]
    如:ALTER TABLE logtest CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

    只是修改表的默认字符集:

    ALTER TABLE tbl_name DEFAULT CHARACTER SET character_name [COLLATE...];
    如:ALTER TABLE logtest DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

    修改字段的字符集:

    ALTER TABLE tbl_name CHANGE c_name c_name CHARACTER SET character_name [COLLATE ...];
    如:ALTER TABLE logtest CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci;

    查看数据库编码:

    SHOW CREATE DATABASE db_name;

    查看表编码:

    SHOW CREATE TABLE tbl_name;

    查看字段编码:

    SHOW FULL COLUMNS FROM tbl_name;

    实际操作:

    mysql> show create table hello_publisher;
    +-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Table | Create Table |
    +-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | hello_publisher | CREATE TABLE `hello_publisher` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `name` varchar(30) NOT NULL,
    `address` varchar(50) NOT NULL,
    `city` varchar(60) NOT NULL,
    `state_province` varchar(30) NOT NULL,
    `country` varchar(50) NOT NULL,
    `website` varchar(200) NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 |
    +-----------------+--------------------------------------------

    mysql> alter table hello_publisher CHARACTER SET utf8 ;
    Query OK, 1 row affected (0.02 sec)
    Records: 1 Duplicates: 0 Warnings: 0

    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

    mysql> show create table hello_publisher;

    | hello_publisher | CREATE TABLE `hello_publisher` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `name` varchar(30) CHARACTER SET latin1 NOT NULL,
    `address` varchar(50) CHARACTER SET latin1 NOT NULL,
    `city` varchar(60) CHARACTER SET latin1 NOT NULL,
    `state_province` varchar(30) CHARACTER SET latin1 NOT NULL,
    `country` varchar(50) CHARACTER SET latin1 NOT NULL,
    `website` varchar(200) CHARACTER SET latin1 NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 |

    mysql> alter table hello_publisher convert to character set utf8 ;
    Query OK, 1 row affected (0.01 sec)
    Records: 1 Duplicates: 0 Warnings: 0

    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

    mysql> show create table hello_publisher;

    hello_publisher | CREATE TABLE `hello_publisher` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `name` varchar(30) NOT NULL,
    `address` varchar(50) NOT NULL,
    `city` varchar(60) NOT NULL,
    `state_province` varchar(30) NOT NULL,
    `country` varchar(50) NOT NULL,
    `website` varchar(200) NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 |

    页面可以正常显示中文字符

  • 相关阅读:
    C/S 随思录
    3dTiles 最后一块拼图:几何误差与屏幕空间误差
    aps.net cannot connect to runtime process
    asp.net web api swagger使用总结
    asp.net webaip 跨域
    LightGBM算法实践
    Zabbix 机器 CPU 飙高 和 时区相差8个小时
    【vue踩坑记录】3、“Error in render: "TypeError: Cannot read property '0' of undefined"”渲染错误问题
    1-关于补码的理解
    vscode快捷键
  • 原文地址:https://www.cnblogs.com/weifeng1463/p/8432837.html
Copyright © 2020-2023  润新知