在 mysql 中 定义 数据库,表,列时,设定的各个的编码格式
来源:Asp之家 发布时间:2010-11-11 11:58:00
CREATE TABLE `category` ( `Id` binary(16) NOT NULL,
`UniqueName` varchar(64) NOT NULL,
`Name` varchar(64) NOT NULL,
`CreatedAt` datetime NOT NULL,
PRIMARY KEY (`Id`),
KEY `IX_Category_UniqueName_CreatedAt` (`UniqueName`,`CreatedAt`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
我把表的编码格式改成 utf8. 查看表category 发现表的DDL 变成了,
CREATE TABLE `category` (
`Id` binary(16) NOT NULL,
`UniqueName` varchar(64) character set latin1 NOT NULL,
`Name` varchar(64) character set latin1 NOT NULL,
`CreatedAt` datetime NOT NULL,
PRIMARY KEY (`Id`),
KEY `IX_Category_UniqueName_CreatedAt` (`UniqueName`,`CreatedAt`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
发现在原来的表中之前定义的列(字段)的编码类型不会因为表的编码格式而变化,还是latin1(拉丁文格式), 但新建列的类型为是UTF8格式的。由此可见MYSQL中的数据编码格式已经粒子化到 单位“列”。 在建 数据库的时候可以指定数据库编码格式,在这之后所建的表和列的编码格式都会以此格式为默认格式。若之后想改数据库的编码格式的话,想要把之前的表和列的编码格式都改过来的话就要一一改过来了。
KIGG例子中 EF + MYSQL 的乱码原因是因为程序提交给数据库是文件是UTF8格式的但数据库中字段接收的格式却是latin1 格式的,所以只要将列改为UTF8格式即可。
总结:对于惯用微软的的SQLSERVER 的用户来说很少观注数据库数据的编码格式,因为微软已经帮用户做完了那些边角的工作,所以使我们忽略很多重要的事。在用MYSQL中要注意 其中的数据库,表,列 对应的编码格式没有包含关系,最终决定内容以什么编码格式保存下来还是 定义列时指定的编码(`Name` varchar(64) character set latin1 NOT NULL,),在建库和表时设置编码格式只是相当与为自己的下一级设置默认编码格式
猜你喜欢
- 一、Pytest概念Pytest 是 Python 的一种单元测试框架,与 Python 自带的 unittest 测试框架类似,但是比 u
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&
- 本文列举了兼容 IE 和 FF 的换行 CSS 推荐样式,详细介绍了word-wrap同word-break的区别。兼容 IE 和 FF 的
- 目录实现加权轮询负载均衡思路加权轮询负载均衡代码测试代码实现加权轮询负载均衡思路代码实现一个加权负载均衡Weight
- 如何制作一个分页程序?确实,翻页程序可以相互借鉴,但具体到每一需求,还是有较大差别的。代码入下,供参考:<%language=&quo
- 组件简介组件系统是Vue.js其中一个重要的概念,它提供了一种抽象,让我们可以使用独立可复用的小组件来构建大型应用,任意类型的应用界面都可以
- Oracle的show processlistset linesize 400;set pagesize 400;col sql_text
- 1:masterha_check_repl 副本集方面报错 replicates is not defined in
- 本文介绍了vue 模拟后台数据(加载本地json文件)调试,分享给大家,也给自己留个笔记首先创建一个本地json文件,放在项目中如下{ &q
- QPixmap 像素图控件是用来处理图像的控件之一。它用于将优化后的图像显示在屏幕上。在我们的代码示例中,我们将使用QPixmap 控件在程
- 绘制双变量联合分布图有时我们不仅需要查看单个变量的分 布,同时也需要查看变量之间的联系, 往往还需要进行预测等。这时就需要用到双变量联合分布
- 今天主要来实现一个权限管理系统,它主要是为了给不同的用户设定不同的权限,从而实现不同权限的用户登录之后使用的功能不一样,首先先看下数据库总共
- 网上学习了的两个新方法,代码非常之简洁。看来,不是只要实现了基本功能就能交差滴,想要真的学好python还有很长的一段路呀方法一:是利用ma
- 方法一:#导入math包import math#定义点的函数class Point: def __init__(self,x=0
- 一、概述最近遇到一个需求,需要使用office365邮箱发送邮件,使用SSL发送会失败,必须使用TLS加密协议才能发送成功。二、完整代码使用
- range(x)range(9) 代表着0、1、2、3、4、5、6、7、8 这九个顺序数字的集合。也就是 range(9) => ra
- 本文实例讲述了mysql中的sql_mode模式。分享给大家供大家参考,具体如下:mysql数据库的中有一个环境变量sql_mode,定义了
- 在上一篇文章中,我们讲了如何在linux上用python写一个守护进程。主要原理是利用linux的fork函数来创建一个进程,然后退出父进程
- 代码如下,保存到HTML文件也可以查看效果:<html><head><meta charset="u
- 数据库优化包含以下三部分,数据库自身的优化,数据库表优化,程序操作优化.此文为第二部分 优化①:设计规范化表,消除数据冗余 数据库