create

db>

新建数据库时,字符集影响编码,排序规则(Collation)影响字段的排序

  1. mysql 默认情况下他的collation是 utf8_general_ci ,不区分大小写  ,在做某些有大小写区分的业务上要加以注意。
  2. web页面编码中起决定作用的是http response报头中的Content-Type中的charset设置,这个设置成哪种编码,浏览器就会按哪种编码来解码。
  3. mysql中存在着各种utf8编码格式,

utf8_bin将字符串中的每一个字符用二进制数据存储,区分大小写,utf8_genera_ci不区分大小写,ci为case insensitive的缩写,即大小写不敏感,

utf8_general_cs区分大小写,cs为case sensitive的缩写,即大小写敏感。

table>

数据库字段设计

整型:

TINYINT  0-255

Smallint 65535

Medium 千万

INT 亿   默认是11位 就算设置int(2)也是11位

INT(6),6即是其宽度指示器,假如存储152  结果为000152

修饰符规定字段只保存正值,即无符号,mysql字段默认是有符号的。因为不需要保存数字的正、负符号,可以在储时节约一个""的空间(即翻一倍)。从而增大这个字段可以存储的值的范围。

浮点型

Decimal精准度由于floatdouble  

存储上的  decimal>double>float

Decimal(5,2)  意思为 一共五位数  小数点精确到两位 比如132.23 超出则四舍五入。

时间类型

DATE 1000-01-01/9999-12-31

字符串类型

一个英文字符占一个字节  

一个中文字符占两个字节

Char/varchar(M)  M值长度 0-255之间 比如李文超 gbk6个字节 utf8 9个字节 char(9)就可以

text类型(一般用来保存文章)

tinytext  255

text     65535

mediumtext  亿

longtext  十亿

常用:

varchar(255),char(255),text,tinyint(4),smallint(6),mediumint,int(11)

手机char(11)

姓名:char(20)
价格:DECIMAL(7, 3)
产品序列号:SMALLINT(5) unsigned
文章内容: TEXT
MD5: CHAR(32)

email char(32)
ip: char(15)
time: int(10)

原文地址:https://www.cnblogs.com/shadow-li/p/9244255.html