python基础 — Mysql Server
sql server
对于字符类型的有:
char:固定长度,存储ANSI字符,不足的补英文半角空格。
nchar:固定长度,存储Unicode字符,不足的补英文半角空格
varchar:可变长度,存储ANSI字符,根据数据长度自动变化。
nvarchar:可变长度,存储Unicode字符,根据数据长度自动变化。
也就是说:varchar 可变长度,varchar(50)即最长长度为:50个字符。
char类型: 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义 char(10),
那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不够的字符用空格去填。因为是固定长度,所以速度效率高。
位(bit):是计算机内部【数据存储】的最小单位,例如:01011100(是一个8位的二进制数)
字节(Byte):是计算机内部【数据处理】的基本单位,也是一种计量单位表示数据量的多少。1 Byte(字节)= 8 bit(位)
字符:是指计算机中使用的 【文字】【符号】【数字】【字母】。 "哈哈,,。。:‘’1234_ABCD"
字符集:就是字符编码的规则。一切存在的事物都要遵循规则遵循法律,不然整个 ‘世界’ 都会乱套。
字符和字节的关系
它们完全不是一个位面的概念,所以两者之间没有【区别】这个说法。在不同的编码里,字符和字节的对应关系不同。
为何需要编码?
所有的信息最终都表示为一个二进制的字符串,每一个二进制位(bit)有0和1两种状态。当我们需要把字符 'A' 存入计算机时,应该对应哪种状态呢?
存储时,我们可以将字符 'A' 用 01000010 二进制字符串表示,存入计算机;读取时,再将01000010还原成字符 'A' 。
那么问题来了,存储时,字符 'A' 应该对应哪一串二进制数呢,是01000010?或者是10000000 11110101?说白了,就是需要一个规则。
这个规则可以将字符映射到唯一一种状态(二进制字符串),这就是编码。
而最早出现的编码规则就是ASCII编码,在ASCII编码规则中,字符 'A' 既不对应01000010,也不对应10000000、11110101,而是对应01000001(不要问为什么,这是规则)。
字符集
ASCII 码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节。
UTF-8 编码中,一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。
Unicode 编码中,一个英文等于两个字节,一个中文(含繁体)等于两个字节。符号:英文标点占一个字节,中文标点占两个字节。
UTF-16 编码中,一个英文字母字符或一个汉字字符存储都需要2个字节(Unicode扩展区的一些汉字存储需要4个字节)。
UTF-16 编码中,世界上任何字符的存储都需要4个字节。
python基础 — Mysql Server的更多相关文章
- Python 基础学习篇
注:技术尚浅,时间匆忙,如有错误或者不当之处值得商榷的,请留言,吾必思而改之. 第一篇 :Python基础- 安装/变量/输入/及循环语句使用 第二篇: Python基础- 常用数据类型 第三篇: ...
- python 操作 mysql基础补充
前言 本篇的主要内容为整理mysql的基础内容,分享的同时方便日后查阅,同时结合python的学习整理python操作mysql的方法以及python的ORM. 一.数据库初探 在开始mysql之前先 ...
- Python pandas ERROR 2006 (HY000): MySQL server has gone away
之前在做python pandas大数据分析的时候,在将分析后的数据存入mysql的时候报ERROR 2006 (HY000): MySQL server has gone away 原因分析:在对百 ...
- (3.4)mysql基础深入——mysql.server启动脚本源码阅读与分析
(3.4)mysql基础深入——mysql.server启动脚本源码阅读与分析 my.server主要分为3大部分 [1]变量初始化部分 [2]函数声明部分 [3]具体执行部分 #!/bin/sh # ...
- win10,python连接mysql报”Can't connect to MySQL server on 'localhost' (10061)”
一.环境及问题描述 1. 环境 操作系统:win10家庭版,64bit python版本:Python 2.7.15 mysql版本:mysql 5.4.3 2. 问题描述 最近跟公司申请电脑,预装w ...
- 解决python pymysql.err.OperationalError: (2013, 'Lost connection to MySQL server during query')
解决python pymysql.err.OperationalError: (2013, 'Lost connection to MySQL server during query') 学习了:ht ...
- python操作mysql基础一
python操作mysql基础一 使用Python操作MySQL的一些基本方法 前奏 为了能操作数据库, 首先我们要有一个数据库, 所以要首先安装Mysql, 然后创建一个测试数据库python_te ...
- python + pymysql连接数据库报“(2003, "Can't connect to MySQL server on 'XXX数据库地址' (timed out)")”
python + pymysql连接数据库报"(2003, "Can't connect to MySQL server on 'XXX数据库地址' (timed out)&quo ...
- python基础总结篇——使用Mysql
python操作Mysql,很方便,使用的MySQLdb的库,基本的操作如下: 查询: try: conn = MySQLdb.connect(host=self.ip, user=self.user ...
随机推荐
- laravel使用手札——使用PHPStorm提升开发速度
laravel使用手札——使用PHPStorm提升开发速度 phpstormphplaravel 阅读约 4 分钟 PHPStorm安装 PHPStorm 使用手札——安装看这里 代码自动提示支持 ...
- C++ socket bind() 函数绑定错误
VS2015编译错误: errorCxxxx: 'initializing' : cannot convert from 'std::_Bind<false,void,SOCKET&,s ...
- CDH 版本 6.0.1 升级到 6.2.0 当前最新版本(CentOS 7.x)
前文「CDH CM版本 6.0.1 升级到 CM 6.2.0 当前最新版本(CentOS 7.x)」 承接上文,当我们完成 CM 6.2.0 的升级之后,我们已经相当于完成了80% minor 的升级 ...
- dedecms 模板文件不存在,无法解析文档的终极各种解决办法
dedecms 模板文件不存在,无法解析文档"的终极各种解决办法 方法一:[此对应喜欢把模板文件使用".html"的格式,] /include/arc.archives. ...
- Freemarker的简单demo
第一步.导入依赖 <dependency> <groupId>org.freemarker</groupId> <artifactId>freemark ...
- Java 面向对象(九)
常用类之Random Random类位于 java.util 包中,主要用于生成伪随机数 Random类将种子数作为随机算法的起源数字,计算生成伪随机数,其与生成的随机数字的区间无关 创建Random ...
- skywalking安装运行(docker)
https://github.com/apache/skywalking-docker/tree/master/6/6.5 https://hub.docker.com/r/apache/skywal ...
- pgsql 聚合函数array_to_string,ARRAY_AGG
array_to_string--将sql中的数组转为字符串 ARRAY_AGG--将sql中的数据转为数组处理 以下给大家一个简单的例子即可体会: 1.需求 2.数据库中原数据 1.pn ...
- Mac复制粘贴文本时默认使用无格式模式
参考:How to Paste Everything as Plain Text 写文章的时候,用的最多的就是copy和paste了,可是现在Mac和Win默认都是会连格式一起复制,真是逆天,导致每次 ...
- phpstudy5.6 No input file specified的解决方法
一.问题描述 5.6就提示这个错误,切换5.5就可以 二.原因分析 原因1:提示:“No input file specified.”原因在于使用的PHP5.6是fast_cgi模式,而在某些情况下, ...