开发指南—DDL语句—分库分表语法—CREATE DATABASE-阿里云开发者社区

开发者社区> -技术小能手-> 正文

开发指南—DDL语句—分库分表语法—CREATE DATABASE

简介: CREATE DATABASE语句用于创建数据库,并可以指定数据库的默认属性(如数据库默认字符集,校验规则等)。
+关注继续查看

语法


create_database_stmt:
    CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] database_name [database_option_list]
database_option_list:
    database_option [database_option ...]
database_option:
    [DEFAULT] {CHARACTER SET | CHARSET} [=] charset_name
  | [DEFAULT] COLLATE [=] collation_name
  |  LOCALITY=locality_option}
  | [PARTITION_MODE = partition_mode_option]
 
locality_option:
    'dn=storage_inst_id_list'
storage_inst_id_list:
    storage_inst_id[,storage_inst_id_list]
    
partition_mode_option:
     'partitioning'
    |'sharding'

参数说明

参数说明
database_name指定要修改属性的数据库名称。如果不指定,会对当前默认数据库进行修改。
CHARSET charset_name指定要修改的字符集。
COLLATE collation_name指定校对规则。
LOCALITY创建数据库时指定该库的存储位置。
PARTITION_MODE

指定逻辑库所使用的分区模式,支持两种分区模式:

  • partitioning:使用MySQL类型的分区表建表语法(例如,partition byHash/Range/List)进行分区建表。
  • sharding:使用DRDS模式的分库分表建表语法(例如,dbpartition by / tbpartition by)。

如果不指定,默认是partitioning。

数据库的分区模式不可更改,建库时一旦指定,不能变更。

示例

  • 创建数据库test,并指定字符集为UTF8。
mysql> create database test PARTITION_MODE=sharding default CHARACTER SET UTF8;
Query OK, 1 row affected (0.00 sec)
  • 在实例中创建一个数据库,并通过以下命令指定其存储位置为polardbx-storage-0-master节点。
mysql> CREATE DATABASE db1 PARTITION_MODE=sharding LOCALITY='dn=polardbx-storage-0-master';
  • 说明
    • 如果在创建数据库时未指定数据库的存储位置,系统将默认在所有存储节点中均匀分布数据库。
    • 数据库中分表的存储位置与该库的存储位置保持一致,以实现分表上的数据隔离。

创建成功后,您可以通过以下语句查看数据库的存储位置信息。


mysql> SHOW CREATE DATABASE db1 PARTITION_MODE=sharding;

返回结果如下所示:


+----------+------------------------------------------------------------------------+
| DATABASE | CREATE DATABASE                                                        |
+----------+------------------------------------------------------------------------+
| db1      | CREATE DATABASE `db1` /* LOCALITY = "dn=polardbx-storage-0-master" */  |
+----------+------------------------------------------------------------------------+
1 row in set

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
基于声网的音视频SDK和FreeSWITCH开发WebRTC2SIP Gateway 遇到的坑(三)
基于声网的音视频SDK和FreeSWITCH开发WebRTC2SIP Gateway 遇到的坑
320 0
数据同步框架MS Sync Framework - IDE快速开发支持Local Database Cache
数据同步框架MS Sync Framework [术语、例子、参考资料、Tips] http://www.cnblogs.com/2018/archive/2011/02/22/1961654.html  数据同步框架MS Sync Framework-不同场景使用例子和简要分析 http://www.cnblogs.com/2018/archive/2011/02/23/1961657.html 以上两篇文章对框架的基础有了描述,通过IDE的提供Local Database Cache可以快速的实现一个常用的同步应用。
728 0
【iOS开发】添加设备到 iOSTeam Provisioning Profile
如果你是 iOS个人开发者的话,那么一定知道,可以在 https://developer.apple.com/account/ios/device/deviceList.action 这个地方添加内测设备的UDID 管理Devices 有一个叫做 iOSTeam Provisioning Profile 的文件。
1017 0
Android开发7——android.database.CursorIndexOutOfBoundsException:Index -1 requested, with a size of 1
android中数据库处理使用cursor时,游标不是放在为0的下标,而是放在为-1的下标处开始的。 也就是说返回给cursor查询结果时,不能够马上从cursor中提取值。   下面的代码会返回错误 User u = null; SQLiteDatabase db = dbHelper.getReadableDatabase(); Cursor cursor = db.ra
1024 0
TSharding:用于蘑菇街交易平台的分库分表组件
tsharding TSharding is the simple sharding component used in mogujie trade platform. 分库分表业界方案 分库分表TSharding TSharding组件目标 很少的资源投入即可开发完成...
1548 0
基于Shard-Jdbc分库分表,数据库扩容方案
本文源码:GitHub·点这里 || GitEE·点这里 一、数据库扩容 1、业务场景 互联网项目中有很多“数据量大,业务复杂度高,需要分库分表”的业务场景。 这样分层的架构 (1)上层是业务层biz,实现业务逻辑封装; (2)中间是服务层service,封装数据访问; (3)下层是数据层db...
1643 0
Sharding-Jdbc分库分表的导读
前言    Sharding-JDBC是一个开源的分布式数据库中间件,它无需额外部署和依赖,完全兼容JDBC和各种ORM框架。Sharding-JDBC作为面向开发的微服务云原生基础类库,完整的实现了分库分表、读写分离和分布式主键功能,并初步实现了柔性事务。
890 0
951
文章
0
问答
来源圈子
更多
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载