首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

数据库表设计 基本思路

好的数据库表设计会影响数据库操作效率。特别是数据多的时候,如果表的结构不好的话操作的时候条件(where后的内容)会变的非常复杂。 SQL是关系数据库中用到的一种语言。...下面有几个可以参照的步骤: 1)找出那个表要描述的东西; 2)列出你想通过这个表得到的相关信息的列表; 3)通过上面的信息列表,将信息划分成一块块小的部分,通过此小块来建表; 比如说: 现在需求是...当然,这就看你想通过表获得哪些数据,一切设计是为了方便数据库操作。在方便自己的前提下将数据表的字段设计成“原子化”(即不可再细分)。...前面提到了两个表关联.两个表之间数据的关系有三种: 1)一对一;两个表里数据唯一对应; 2)一对多;表A在表B里对应多条数据,但表B里的一条数据绝对只对就A中的一条数据; 3)多对多;A里的一条数据对应...一对一 的表设计用的不多.可能用到的情况有: a)对一个表中大多数时候不查的字段,放到另一个表中对应起来.这样可以提高大多数时候查询的效率; b)若表中记录还有些字段的值未知,可以将这些字段分出来放

94020
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    基本 SQL 之数据库及表管理

    数据库由多张数据表构成,如果你想要操作数据表,你就必须先选中某个数据库,不然系统怎么知道你这一顿猛如虎的操作是基于的哪个数据库下的表呢。...USE[DATABASENAEM]; 数据库的管理其实没什么太复杂的,它就像一个容器一样,创建后就意味着占有了一块磁盘空间,具体的数据存储还是在表结构中,所以接下来我们来看看数据库表管理情况。...表管理 关系型数据库中对于数据的存储采用一种符合人的思维逻辑的结构进行存储,那就是表格结构。...columnN datatype ); 这是最基本的创建表语句,例如我们可以这样创建一张表: CREATE TABLE person( id int, name varchar...以上,我们讲了创建表所涉及到的一些基本的内容,包括基本的字段类型、约束限制等, 但有的时候,表结构已经创建出来了,由于一些需求变更需要更改表结构,我们总不能 drop table 再重新定义一遍吧,SQL

    1.8K30

    ​数据库之定义删除修改基本表

    定义基本表 建立数据库最重要的一步就是定义一些基本表。...,]; 表名>是所要定义的基本表的名字,它可以由一个或多个属性(列)组成。...修改基本表 随着应用环境和应用需求的变化,有时需要修改已建立好的基本表,包括增加新列、增加新的完整性约束条件、修改原有的列定义或删除已有的完整性约束条件等。...删除基本表 当某个基本表不再需要时,可以使用SQL语句DROP TABLE进行删除,其一般格式为: DROP TABLE 表名>; 基本表一旦删除,表中的数据和在此表上建立的索引都将自动被删除,而建立在此表上的视图虽仍然保留...方法二:在此提供一个参考语句如需删除表中的列,可尝试使用下面的语法(某些数据库系统不允许这种在数据库表中删除列的方式,使用者可以尝试,不行或权限不够时再使用方法一比较方便): ALTER TABLE <

    79210

    数据库|数据库之定义删除修改基本表

    本次我们将为大家介绍数据库的基本知识,如何定义删除和修改基本表。 定义基本表 建立数据库最重要的一步就是定义一些基本表。...,]; 其中表名>是所要定义的基本表的名字,它可以由一个或多个属性(列)组成。...修改基本表 随着应用环境和应用需求的变化,有时需要修改已建立好的基本表,包括增加新列、增加新的完整性约束条件、修改原有的列定义或删除已有的完整性约束条件等。...删除基本表 当某个基本表不再需要时,可以使用SQL语句DROP TABLE进行删除,其一般格式为: DROP TABLE 表名>; 基本表一旦删除,表中的数据和在此表上建立的索引都将自动被删除,而建立在此表上的视图虽仍然保留...方法二:在此提供一个参考语句如需删除表中的列,可尝试使用下面的语法(某些数据库系统不允许这种在数据库表中删除列的方式,使用者可以尝试,不行或权限不够时再使用方法一比较方便): ALTER TABLE <

    1.3K20

    Hive 基本操作(创建数据库与创建数据库表)

    二、Hive基本操作 2.1、创建数据库与创建数据库表 创建数据库操作 创建数据库 create database if not exists myhive; use myhive; ?...'='20880611'); 查看数据库详细信息 查看数据库基本信息 desc database myhive2; 查看数据库更多详细信息 desc database extended myhive2...删除数据库 删除一个空数据库,如果数据库下面有数据表,那么就会报错 drop database myhive2; 强制删除数据库,包含数据库下面的表一起删除 drop database myhive...cascade; 不要执行(危险动作) 创建数据库表操作 创建数据库表语法 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name...insert overwrite table course select * from course_common cluster by(c_id); 修改表 表重命名 基本语法: alter

    5.1K50

    MySQL 基本操作、数据库操作和表操作

    基本操作 启动MySQL:net start mysql 创建Windows服务:sc create mysql binPath = mysqld_bin_path 连接服务器 :mysql -h...地址 -P 端口 -u 用户名 -p 密码 显示哪些线程正在运行:SHOW PROCESSLIST 显示系统变量信息:SHOW VARIABLES 数据库操作 查看当前数据库:SELECT DATABASE...:SHOW CREATE DATABASE 数据库名 修改库的选项信息:ALTER DATABASE 库名 选项信息 删除库:DROP DATABASE [IF EXISTS] 数据库名 表操作...如果表没有设定,则使用数据库字符集 存储引擎 ENGINE = engine_name 表在管理数据时采用的不同的数据结构,结构不同会导致处理方式、提供的特性操作等不同 常见的引擎:InnoDB...新表名 RENAME TABLE 原表名 TO 库名.表名 (可将表移动到另一个数据库) 修改表的字段机构(13.1.2.

    2.1K30

    SQL Server数据库和表的基本管理

    我们先来了解SQL Server数据库中的文件类型: 主数据文件:包含数据库的启动信息,指向数据库中的其他文件,每个数据库都有一个主数据文件(有且只有一个),推荐文件扩展名是.mdf; 辅助数据文件:除主数据文件以外的所有数据文件都是次要数据文件...创建数据库之前,需要考虑如下事项: 创建数据库的权限默认授予sysadmin和dbcreator服务器角色成员,服务器角色用于向用户授予服务器范围内的安全特权; 创建数据库的用户将成为该数据库的所有者;...接下来我们简单来一下数据的基本操作: 这样以后客户端管理数据库是就可以使用数据库管理员(sa)登录了, 关于创建表时的一些参数 精准数字参数 近似数字参数...标识列的特点: 1.该列的值由系统按一定规律生成,不允许空值; 2.列值不重复,具有标识表中每行的作用; 3.每个表只有一个标识列。 标识列包含三个内容:类型、种子、递增量。...接下来创建表 迁移数据库 收缩数据库 使用简单的SQL语句来创建数据库、创建表等 #如果修改带有主键的语句,建议先把主键删除,修改语句时加

    1.3K20

    python数据库-MySQL单表查询基本操作(50)

    一、条件查询 1、查询的基本语法 select * from 表名; from关键字后面写表名,表示数据来源于是这张表 select后面写表中的列名,如果是*表示在结果中显示表中所有列 在select后面的列名部分...distinct可以消除重复的行 elect distinct h_gender from hero; 3、使用where子句对表中的数据筛选,结果为true的行会出现在结果集中   select * from 表名...=或 4.1、查询表中全部数据(这个表是我提前创建好的) mysql> select *from hero; +------+-----------+--------------+---------...,属于对原始数据的筛选 having是对group by的结果进行 七、排序   为了方便查看数据,可以对数据进行排序 select * from 表名 order by 列1 asc|desc,列2...语法: select * from 表名 limit start,count 从start开始,获取count条数据 start索引从0开始 mysql> select *from hero limit

    10.3K30

    Hive基本操作之数据库操作与数据库表的操作

    文章目录 数据库操作 创建数据库 修改数据库 查看数据库详细信息 删除数据库 数据库表操作 创建数据库表 查询表的类型 修改表 数据库操作 创建数据库 create database if not...exists 数据库名; use 数据库名; 说明:hive的表存放位置模式是由hive-site.xml当中的一个属性指定的 hive.metastore.warehouse.dir</...'20880611'); 查看数据库详细信息 查看数据库基本信息 desc database 数据库名; 查看数据库更多详细信息 desc database extended 数据库名; 删除数据库...删除一个空数据库,如果数据库下面有数据表,那么就会报错 drop database 数据库名; 强制删除数据库,包含数据库下面的表一起删除 drop database 数据库名 cascade...; //不要执行(危险动作) 数据库表操作 创建数据库表 创建一个简单的表 use 数据库名; create table 表名(字段名1 字段类型1,字段名2 字段类型2,…); insert

    2.2K20

    MySQL数据库、数据表的基本操作及查询数据

    MySQL数据库的基本操作 创建数据库 CREATE DATABASE database_name database_name为要创建的数据库的名称 删除数据库 DROP DATABASE database_name...database_name为要删除的数据库的名称 数据库存储引擎 数据库存储引擎是数据库底层软件组成,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据操作。...|No|No| |支持数索引|Yes|Yes|Yes|No| |支持哈希索引|No|Yes|No|No| |支持数据缓存|No|N/A|Yes|No| |支持外键|No|No|Yes|No| 数据表的基本操作...字段名 数据类型 AUTO_INCREMENT 查看数据表结构 查看表基本结构语句 DESCRIBE 表名; 或者简写为 DESC 表名; 查看表详细结构语句 SHOW CREATE TABLE ; 删除数据表 DROP TABLE [IF EXISTS] 表1,表2...表n; 查询数据 基本查询语句 SELECT {*|} [ FROM

    3.1K20

    【MySQL】表的基本查询

    Create 基本插入 语法: INSERT [INTO] table_name [(column [, column] ...)]...,但冲突数据的值和 update 的值相等 1 row affected: 表中没有冲突数据,数据被插入 2 row affected: 表中有冲突数据,并且数据已经被更新 替换 主键 或者 唯一键...基本查询 语法: SELECT [DISTINCT] {* | {column [, column] ...}...LIMIT n OFFSET s; 注意:对未知表进行查询时,最好加一条 LIMIT 1,避免因为表中数据过大,查询全表数据导致数据库卡死 按 id 进行分页,每页 3 条记录,分别显示 第 1、2、3...; 截断表 基本语法 TRUNCATE [TABLE] table_name 只能对整表操作,不能像 DELETE 一样针对部分数据操作; 实际上 MySQL 不对数据操作,所以比 DELETE 更快,

    11010

    【MySQL】表的基本查询

    表的基本查询 表的增删查改 表的增删查改,简称表的 CURD 操作 : Create(创建),Update(更新),Retrieve(读取),Delete(删除). 下面我们逐一进行介绍。 1....[order by ...] limit n offset s; 建议:对未知表进行查询时,最好加一条 limit 1,避免因为表中数据过大,查询全表数据导致数据库卡死。...我们查看当前库的表: 可以看到有一张 employee 表,我们查看这张表的数据如下: 再查看表的结构: 然后我们把整表数据删除: delete from employee; 再查看就发现数据全没了...分组其实也是"分表",就是把一张表按照条件在逻辑上拆分成了多个子表,然后分别对各自的子表进行聚合统计!...实例,需要准备一张雇员信息表(来自oracle 9i的经典测试表),表的链接:oracle 9i的经典测试表 包括: emp 员工表 dept 部门表 salgrade 工资等级表 查看 emp 表数据

    10610

    OushuDB 产品基本介绍——表

    1、表 OushuDB表由行(rows)和(columns)组成。每一个列有一个列名和一个数据类型,一个表的列数和列的顺序是固定的。一个表的行数是可变的。SQL并不假设表中行的顺序。...: 6、表分区 针对大的数据仓库事实表,往往我们可以通过对表进行分区的方式来把一个很大的表拆分成多个子表。...在创建Range分区表时, 如果没有指定分区名字,分区的名字会自动生成为数字。 改变父表的名字同时会改变分区表的名字。...交换分区操作把一个表和一个已存在分区进行交换(Swap)。你只可以交换叶子节点分区。 分区交换通常对数据加载很有用。例如,你可以首先加载数据到一个中间表,然后把该中间表交换到分区表内部。...ALTER TABLE sales SET SUBPARTITION TEMPLATE (); 对已存在非分区表进行分区 对已存在表进行分区,你需要创建一个新的分区表,并把需要分区的表的数据导入新的表。

    1.1K20

    【MySQL】表的基本操作

    前言:   在数据库中,数据表是存储和组织数据的基本单位,对于数据表的操作是每个程序员需要烂熟于心的技巧。...创建查看表 ✈️创建表   如果我们需要在 当前数据库下 创建表,可以使用如下SQL指令: CREATE TABLE [if not exits] table_name ( field1 datatype...collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准   我们在数据库下新建一个表:   其中标蓝色框框的表示的是 数据的类型,后面我们会提。...✈️查看表结构   使用如下命令查看 当前数据库 中表结构: SHOW TABLES;   这条SQL指令我们在上一篇已经说过了,直接用起来就行。...✏️总结   创建表可指定字符集和存储引擎,不指定字符集和存储引擎 默认为 InnoDB存储引擎 和 utf8mb4字符集。  查看当前数据库的表,和查看具体表结构是不同概念,使用不同语句查看。

    10810

    MariaDB 表的基本操作

    在数据库中,数据表是数据库中最重要、最基本的操作对象,是数据存储的基本单位,数据表被定义为列的集合,数据在表中是按照行和列的格式来存储的、每一行代表一条唯一的记录,每一列代表记录中的一个域.创建数据表在创建完数据库之后...,接下来的工作就是创建数据表.所谓创建数据表,指的是在已经创建好的数据库中建立新表,创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性等)约束的过程,...本节将介绍创建数据表的语法形式、如何添加主键约束、外键约束、非空约束等.在创建表之前,应使用use 数据库名称>,进入一个数据库,以下是一个数据表创建的语法规则:create table 表名>(...◆对于数据库定义的外键,如果不需要可以将其删除掉,外键一旦删除,就会解除主表和从表的关联关系,MySQL中删除外键的语法如下:alter table 表名> drop foreign key 表删除数据表就是将数据库中已存在的表从数据库移除

    1.4K20

    MySQL数据库——数据库CRUD之基本DDL操作数据库及DML操作表

    2、数据库的CRUD操作 首先了解下SQL的分类,按照功能不同分为4种: 1) Data Definition Language (DDL 数据定义语言) ,用来定义数据库对象:数据库、表、列等,关键字...2.2 DML 操作表 2.2.1 创建表 1)创建表:create table 表名称(列名1 数据类型1, 列名2 数据类型2,  ......2)复制表:create table 新表名称 like 原表名称; 2.2.2 查询表 1)查询数据库中所有的表名称:show tables; 2)查询表结构:desc 表名称; ?...2.2.3 修改表 1)修改表的名称:alter table 表名称 rename to 新的表名称 ?...本文先到这里,篇幅太长一般都懒得看,下一篇博文中会整理下MySQL数据库表中记录的操作以及数据库的查询操作,敬请期待! 本文为博主原创文章,转载请注明出处!

    1.6K40
    领券