A.002.5.Mysql数据库命名规范及管理
Posted 数据库BOSS
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了A.002.5.Mysql数据库命名规范及管理相关的知识,希望对你有一定的参考价值。
1.数据库命名规则
2.数据库设计规范
3.字符集的选择
4.数据库的基本管理
1.数据库命名规则
-
名字长度不能超过30个字符,推荐使用下划线的命名方式,例如:jssdb_card; -
命名必须为英文名字,小写,简介明确; -
创建的时候必须添加默认字符集和校对规则字句;
2.数据库设计规范
-
控制单实例表个数控制在3w以内; -
控制单库表个数,建议单库不超过4096个表; -
创建数据库的语句必须包含字符集子句和校对规则子句。
3.字符集的选择
3.1字符集
字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。 字符集(Character set)是多个字符的集合,常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符集、Unicode字符集等。计算机要准确的处理各种字符集文字,就需要进行字符编码,以便计算机能够识别和存储各种文字。
字符编码(Character encoding)也称字集码,是把字符集中的字符通过编码成为指定集合中某一对象(例如:比特模式、自然数序列、8位组或者电脉冲),以便文本在计算机中存储和通过通信网络的传递。常见的例子包括将拉丁字母表编码成摩斯电码和ASCII。其中,ASCII将字母、数字和其它符号编号,并用7比特的二进制来表示这个整数。通常会额外使用一个扩充的比特,以便于以1个字节的方式存储。
3.2Unicode与UTF8、UTF8MB4、UTF16、UTF32关系
在mysql中,常用的几个字符集有UTF8、UTF8MB4、UTF16、UTF32等,那么Unicode与UTF8、UTF8MB4、UTF16、UTF32是什么关系?我们新建数据库时选择哪种字符集呢?
Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。UTF8、UTF16、UTF32是Unicode码一种实现形式,都是属于Unicode编码。
3.3选择哪种字符集呢?
UTF8和UTF8MB4是常用的两种字符集,至于这两个选用哪个要根据自己业务情况而定。UTF8MB4兼容UTF8,比UTF8能表示更多的字符,Unicode编码区从编码区1-126属于UTF8区,当然UTF8MB4也兼容这个区,126行以下就是UTF8MB4扩充区,所以你要根据自己的业务进行选择,一般情况下UTF8就满足需求,当然如果考虑到以后扩展,比如考虑到以后存储emoji,就选择UTF8MB4,否则只是浪费空间。我建议还是选择UTF8MB4,毕竟对于大部分公司而言空间不是什么大问题。
3.4几点建议
-
自主开发系统的数据库utf8mb4作为唯一选择,默认字符集为utf8mb4,排序规则utf8mb4_general_ci; -
utf8: 1个字符占1~3个字节;utf8mb4:1个字符占1~4个字节 -
在数据导入导出时注意字符集,用文本编辑时需要注意是否有隐含控制字符(^M)
4.数据库的基本管理
4.1查询数据库
show databases;
show databases like 'jss%';
4.2创建数据库
mysql> create database if not exists jss_sip default character set utf8mb4 default collate utf8mb4_general_ci;
Query OK, 1 row affected (0.00 sec)
mysql> show create database jss_sip;
+----------+---------------------------------------------------------------------+
| Database | Create Database |
+----------+---------------------------------------------------------------------+
| jss_sip | CREATE DATABASE `jss_sip` /*!40100 DEFAULT CHARACTER SET utf8mb4 */ |
+----------+---------------------------------------------------------------------+
1 row in set (0.00 sec)
4.3查询创建数据库的语句
show create database jss_sip;
4.4 更新数据库选项信息
alter database jss_sip character set utf8; --生产环境中,不能这么操作
4.5删除数据库
drop database jss_sip;
drop database if exists itpux3;
以上是关于A.002.5.Mysql数据库命名规范及管理的主要内容,如果未能解决你的问题,请参考以下文章
整理最全规范之Git仓库管理规范,Java开发规范,最全Java命名规范,数据库开发设计规范,接口设计规范
整理最全规范之Git仓库管理规范,Java开发规范,最全Java命名规范,数据库开发设计规范,接口设计规范