sqlserver 数据传输到 mysql

查看mysql和sqlserver数据库的默认编码方法

mysql:

show variables like 'character\_set\_%';

show variables like 'collation_%';

sqlserver:

SELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage')

下面是查询结果:

936 简体中文GBK
950 繁体中文BIG5
437 美国/加拿大英语
932 日文
949 韩文
866 俄文
65001 unicode UFT-8

中文占字节数
GBK的文字编码是双字节;
UTF-8编码则,中文使用24位(三个字节)来编码;

 

sqlserver 单用户与多用户切换方式:

执行SQL ALTER DATABASE db_database SET SINGLE_USER WITH ROLLBACK IMMEDIATE

修改为单用户模式

执行SQL ALTER DATABASE db_database SET MULTI_USER

再修改为多用户模式

 

创建字符集为gbk的mysql数据库:



MYSQL创建utf-8格式的数据库

先mysql进入:

代码

GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

UTF8: CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

[root@linuxtest test]# mysql -u root -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 5

Server version: 5.1.30-community MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> CREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Query OK, 1 row affected (0.06 sec)

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| cacti |

| mysql |

| test | |

+--------------------+

5 rows in set (0.07 sec)

这个test库就是utf-8格式的 

 

对于字符编码格式不一致的数据传输问题:【sqlserver gbk编码,mysql utf8编码】

解决思路:新建一个mysql数据库,gbk编码,然后再通过数据传输,将数据传输到utf8编码的mysql数据库中

 

 

将一个表的数据插入到另一个表中

 

insert into tb_grade (GradeName,NClassId)  SELECT g.`GradeName`, cg.`NClassID`FROM `grade` g
INNER JOIN `classgrade` cg ON cg.`ClassGradeType`=g.`ClassGradeType`
order by NClassId, GradeId asc 

  

posted @ 2022-04-21 18:52  冬月二四  阅读(291)  评论(0编辑  收藏  举报