多语言展示
当前在线:1169今日阅读:39今日分享:10

mysql 建库、建表、字段、索引和选项知识点

mysql基础常识 如utf8_unicode_ci和utf8_general_ci比对;MyISAM和InnoDB比对;字段类型、字段长度;索引类型normal、unique、full text和索引方法BTREE,HASH
工具/原料
1

mysql

2

navicat premium

方法/步骤
1

1.1、UTF-8 编码是一种变长的编码机制,可以用1~4个字节存储字符。  1.2、因为历史遗留问题,MySQL 中的 utf8 编码并不是真正的 UTF-8,而是阉割版的,最长只有3个字节。当遇到占4个字节的 UTF-8 编码,例如 emoji 字符或者复杂的汉字,会导致存储异常。  1.3、从 5.5.3 开始,MySQL 开始用 utf8mb4 编码来实现完整的 UTF-8,其中 mb4 表示 most bytes 4,最多占用4个字节。从 8.0 之后,将会在某个版本开始用 utf8mb4 作为默认字符编码。 1.4、utf8_unicode_ci和utf8_general_ci对中、英文来说没有实质的差别。utf8_general_ci校对速度快,但准确度稍差。utf8_unicode_ci准确度高,但校对速度稍慢。如果你的应用有德语、法语或者俄语,请一定使用utf8_unicode_ci。一般用utf8_general_ci就够了,到现在也没发现问题。。。

2

1、MyISAM是非事务安全的,而InnoDB是事务安全的 2、MyISAM锁的粒度是表级的,而InnoDB支持行级锁,使用行级锁也不是绝对的,如果在执行一个SQL语句时MySQL不能确定要扫描的范围,InnoDB表同样会锁全表 3、MyISAM支持全文类型索引,而InnoDB不支持全文索引 4、MyISAM相对简单,效率上要优于InnoDB,小型应用可以考虑使用MyISAM 5、MyISAM表保存成文件形式,跨平台使用更加方便 6、DELETE FROM table时,MyISAM重建表,InnoDB一行一行删除7、SELECT COUNT(*) FROM TABLE时,MyISAM直接读取,InnoDB需要扫描全表8、对于自增长的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中可以和其他字段一起建立联合索引。

3

表字段基础知识。注:创建数值类型的字段时,长度不是指字段的长度,而是小于定义的长度的时候,用0补充。例如长度为3,字段值为8,显示为008.

推荐信息