iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL数据库表的合并与分区实现介绍
  • 344
分享到

MySQL数据库表的合并与分区实现介绍

2024-04-02 19:04:59 344人浏览 安东尼
摘要

目录创建数据表数据库表合并数据库表分区创建数据表 创建数据表的,使用字符串应该遵循的原则 从速度方面考虑,要选择固定的列,可以使用CHAR类型要节省空间,使用动态的列,可以使用VARCHAR类型要将列中的内容限制为一种选

创建数据表

创建数据表的,使用字符串应该遵循的原则

  • 从速度方面考虑,要选择固定的列,可以使用CHAR类型
  • 要节省空间,使用动态的列,可以使用VARCHAR类型
  • 要将列中的内容限制为一种选择,可以使用ENUM类型
  • 允许在一列中有多个条目,可以使用SET类型
  • 如果要搜索的内容不区分大小写,可以使用TEXT类型
  • 如果要搜索的内容区分大小写,可以使用BLOB类型

创建数据表其实就是在已经创建好的数据库中建立新表。

数据表属于数据库,在创建数据表之前,应该使用语句

"use <数据库名>" ;      //表明使用哪个数据库。

如果你没有选择数据库的话,Mysql会抛出No database selected 的错误提示

创建数据表的语句为:

create table 数据表名称(

字段名1 数据类型 [完整约束条件] [默认值],

字段名2 数据类型 [完整约束条件] [默认值],

字段名3 数据类型 [完整约束条件] [默认值],

"数据表名称"是创建数据表的名字。"字段名"是数据表的列名,"完整性约束条件"是字段的特殊约束条件

使用create table 创建表时,必须指定以下信息:

数据表名不区分大小写,且不能使用sql中的关键字,如DROP,INSERT等。

如果数据表中有多个字段(列),字段(列)的名称和数据类型要用英文逗号隔开。

数据库表合并

合并表:把多个结果相同的的表合并为一个容器

容器的类型:Myisam,存储引擎:merge

存在的问题:有重复的行

create table packtable(
  id ....
)engine=merge unique=(table1,table2);

数据库表分区

表的分区:

  • 水平分区:根据某个字段进行分区(RANGE分区)
create table test1(
id int(10) primary key auto_increment,
 score int(3)
)engine=innodb default charset=utf8 partition by range(score)(
//根据score字段分区,score小于60的在p1分区
  partition p1 values less than(60),
//根据score字段分区,score小于70的在p2 分区
 partition p2 values less than(70),
 //根据score字段分区,score大于70的在p3 分区
  partition p3 values lessthan maxvalue
 );
  • list分区:第一选择基于某 列的值是否属于某个 集合
create table test1(
     id int(10) primary key auto_increment,
     branch_id int(3)
)engine=innodb default charset=utf8 partition by list(branch_id  )(
    //根据branch_id 字段分区,branch_id  在1,2,3之中的为p1分区
     partition p1 values less in(1,2,3),
    //根据branch_id 字段分区,branch_id  在7,8,9 之中的为p2分区
     partition p2 values less in(7,8,9)
);
  • hash分区:支持数值类型
--
-- 根据birthda字段获取月份,再根据月份进行分区储存,一共分12个区;
--
create table test1(
 id int(10) primary key auto_increment,
 birthday date
)engine=innodb default charset=utf8 partition by hash(month(birthday))  partitions 12;
 
  • 线性分区(linear hash):大数据是增加,合并,拆分速度更快
--
-- 根据branch_id字段进行分区储存,一共分5个区;
--
create table test1(
 id int(10) primary key auto_increment,
 branch_id int(3)
)engine=innodb default charset=utf8 partition by linear hash (branch_id  ) partitions 5;
  • key分区:可以计算一列或者多列进行分区
--
-- 根据branch_id字段进行分区储存,一共分5个区;
--
create table test1(
 id int(10) primary key auto_increment,
 branch_id int(3)
)engine=innodb default charset=utf8 partition by key (branch_id  ) partitions 5;

到此这篇关于mysql数据库表的合并与分区实现介绍的文章就介绍到这了,更多相关MySQL数据库表内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL数据库表的合并与分区实现介绍

本文链接: https://www.lsjlt.com/news/34212.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【MySQL】MySQL 数据库的介绍与操作
    目录 1. 登录 MySQL 数据库 2. MySQL 介绍 3. 操作数据库 1、创建数据库 2、删除数据库 3、插入数据 4、查找 5、修改数据库 4. 表的操作 1、创建表 2、查看表 3、修改表 4、删除表 写在最后: 1. 登...
    99+
    2023-08-31
    mysql
  • MySQL 两张表数据合并的实现
    有一个需求, 需要从数据库中导出两张表的数据到同一个excel中 鉴于是临时的业务需求, 直接使用Navicat 进行查询并导出数据. 数据涉及到三张表 CREATE TABLE `bigdata_qiye` ( `...
    99+
    2023-01-05
    MySQL数据合并 MySQL合并两张表
  • MySQL两张表数据合并的实现
    有一个需求, 需要从数据库中导出两张表的数据到同一个excel中 鉴于是临时的业务需求, 直接使用Navicat 进行查询并导出数据. 数据涉及到三张表 CREATE TABLE `...
    99+
    2023-01-05
    MySQL 数据合并 MySQL合并两张表
  • MySQL中怎么实现跨表更新与数据并合
    本篇文章为大家展示了MySQL中怎么实现跨表更新与数据并合,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。  MySQL数据库如何实现跨表更新与数据并合  例子是这样...
    99+
    2024-04-02
  • MySQL数据库的权限介绍
    本篇内容介绍了“MySQL数据库的权限介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!MySQL权限介绍...
    99+
    2024-04-02
  • MySQL数据库的概念介绍
    本篇内容主要讲解“MySQL数据库的概念介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL数据库的概念介绍”吧!1.数据库概念数据库(Database)是按照数据结构来组织、存储和管理...
    99+
    2023-06-02
  • JavaJDBCAPI介绍与实现数据库连接池流程
    目录JDBC API详解DriverManagerConnection获取执行对象事务管理Statement概述代码演示ResultSet概述代码演示PreparedStatemen...
    99+
    2022-12-08
    Java JDBC API Java JDBC数据库连接池
  • AndroidSharePreferences与数据库SQLite存储实现方法介绍
    目录Android数据存储几种方式一、共享参数二、数据库SQLite1、数据定义语言(DDL)(1)创建表格(2)删除表格(3)修改表结构2、数据操纵语言(DML)(1)添加记录(2...
    99+
    2024-04-02
  • Java操作mysql数据库实例介绍
    这篇文章主要介绍“Java操作mysql数据库实例介绍”,在日常操作中,相信很多人在Java操作mysql数据库实例介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java...
    99+
    2024-04-02
  • MySQL实现清空分区表单个分区数据
    目录mysql清空分区表单个分区数据1.单个分区清空2.编辑存储过程MySQL自动分区自动清理完整的SQL查看分区总结MySQL清空分区表单个分区数据 1.单个分区清空 ALTER TABLE xxx TRUN...
    99+
    2023-03-13
    MySQL清空分区表 MySQL分区数据 MySQL分区表
  • PHP实现MySQL数据库分区的方法
    随着业务和数据量的不断增长,数据库的性能和可用性逐渐成为一个实时需要关注的问题。MySQL作为一款主流数据库,在构建高性能高可用系统时,有时候需要对其进行分区管理。本文将介绍PHP实现MySQL数据库分区的方法。一、MySQL数据库分区My...
    99+
    2023-05-15
    MySQL PHP 数据库分区
  • 怎么实现数据库分区表+dblink异步调用并行
    本篇内容介绍了“怎么实现数据库分区表+dblink异步调用并行”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2024-04-02
  • PHP如何实现MySQL数据库分区
    本篇内容介绍了“PHP如何实现MySQL数据库分区”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、MySQL数据库分区MySQL数据库分区...
    99+
    2023-07-06
  • MySQL对数据表已有表进行分区表的实现
    目录操作方式操作过程对现有的一个表进行创建分区表,并把数据迁移到新表,可以按时间来分区,然后这表不是实时更新,每天有一次插入操作。 时间比较充裕,但是服务器上有其他应用,使用较小资源...
    99+
    2024-04-02
  • PHP如何实现MySQL数据库分表
    本篇内容介绍了“PHP如何实现MySQL数据库分表”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、MySQL分表的概念MySQL分表是将一...
    99+
    2023-07-06
  • MySQL数据库索引的详细介绍
    这篇文章主要讲解了“MySQL数据库索引的详细介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL数据库索引的详细介绍”吧!01、前言看了很多关于索...
    99+
    2024-04-02
  • mysql 默认的4个数据库 介绍
    mysql 存储MySQL的用户账号和权限信息,一些存储过程、事件的定义信息 一些运行过程中产生的日志信息,一些帮助信息以及时区信息等 information_schema 存储Mysql服务器 维护...
    99+
    2023-09-13
    数据库 mysql
  • NoSQL数据库四大分类的介绍
    本篇内容介绍了“NoSQL数据库四大分类的介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!NoSQL数据...
    99+
    2024-04-02
  • MySQL如何实现清空分区表单个分区数据
    这篇“MySQL如何实现清空分区表单个分区数据”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQL如何实现清空分区表单个...
    99+
    2023-07-05
  • 怎么实现MyISAM分区表迁移及合并
    这期内容当中小编将会给大家带来有关怎么实现MyISAM分区表迁移及合并,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 dyn_change_...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作