• mysql--简介


    数据模型

    数据库按照数据结构来组织、存储和管理数据,实际上,数据库一共有三种模型:

    • 层次模型
    • 网状模型
    • 关系模型

    层次模型就是以“上下级”的层次关系来组织数据的一种方式,层次模型的数据结构看起来就像一颗树:

    网状模型把每个数据节点和其他很多节点都连接起来,它的数据结构看起来就像很多城市之间的路网:

    关系模型把数据看作是一个二维表格,任何数据都可以通过行号+列号来唯一确定,它的数据模型看起来就是一个Excel表:

    随着时间的推移和市场竞争,最终,基于关系模型的关系数据库获得了绝对市场份额。

    数据类型

    对于一个关系表,除了定义每一列的名称外,还需要定义每一列的数据类型。关系数据库支持的标准数据类型包括数值、字符串、时间等:

    名称 类型 说明
    INT 整型 4字节整数类型,范围约+/-21亿
    BIGINT 长整型 8字节整数类型,范围约+/-922亿亿
    REAL 浮点型 4字节浮点数,范围约+/-1038
    DOUBLE 浮点型 8字节浮点数,范围约+/-10308
    DECIMAL(M,N) 高精度小数 由用户指定精度的小数,例如,DECIMAL(20,10)表示一共20位,其中小数10位,通常用于财务计算
    CHAR(N) 定长字符串 存储指定长度的字符串,例如,CHAR(100)总是存储100个字符的字符串
    VARCHAR(N) 变长字符串 存储可变长度的字符串,例如,VARCHAR(100)可以存储0~100个字符的字符串
    BOOLEAN 布尔类型 存储True或者False
    DATE 日期类型 存储日期,例如,2018-06-22
    TIME 时间类型 存储时间,例如,12:20:59
    DATETIME 日期和时间类型 存储日期+时间,例如,2018-06-22 12:20:59

    上面的表中列举了最常用的数据类型。很多数据类型还有别名,例如,REAL又可以写成FLOAT(24)。还有一些不常用的数据类型,例如,TINYINT(范围在0~255)。各数据库厂商还会支持特定的数据类型,例如JSON。

    选择数据类型的时候,要根据业务规则选择合适的类型。通常来说,BIGINT能满足整数存储的需求,VARCHAR(N)能满足字符串存储的需求,这两种类型是使用最广泛的。

    主流关系数据库

    目前,主流的关系数据库主要分为以下几类:

    1. 商用数据库,例如:Oracle,SQL Server,DB2等;
    2. 开源数据库,例如:MySQL,PostgreSQL等;
    3. 桌面数据库,以微软Access为代表,适合桌面应用程序使用;
    4. 嵌入式数据库,以Sqlite为代表,适合手机应用和桌面程序。

    SQL

    什么是SQL?SQL是结构化查询语言的缩写,用来访问和操作数据库系统。SQL语句既可以查询数据库中的数据,也可以添加、更新和删除数据库中的数据,还可以对数据库进行管理和维护操作。不同的数据库,都支持SQL,这样,我们通过学习SQL这一种语言,就可以操作各种不同的数据库。

    虽然SQL已经被ANSI组织定义为标准,不幸地是,各个不同的数据库对标准的SQL支持不太一致。并且,大部分数据库都在标准的SQL上做了扩展。也就是说,如果只使用标准SQL,理论上所有数据库都可以支持,但如果使用某个特定数据库的扩展SQL,换一个数据库就不能执行了。例如,Oracle把自己扩展的SQL称为PL/SQL,Microsoft把自己扩展的SQL称为T-SQL。

    现实情况是,如果我们只使用标准SQL的核心功能,那么所有数据库通常都可以执行。不常用的SQL功能,不同的数据库支持的程度都不一样。而各个数据库支持的各自扩展的功能,通常我们把它们称之为“方言”。

    总的来说,SQL语言定义了这么几种操作数据库的能力:

    DDL:Data Definition Language

    DDL允许用户定义数据,也就是创建表、删除表、修改表结构这些操作。通常,DDL由数据库管理员执行。

    DML:Data Manipulation Language

    DML为用户提供添加、删除、更新数据的能力,这些是应用程序对数据库的日常操作。

    DQL:Data Query Language

    DQL允许用户查询数据,这也是通常最频繁的数据库日常操作。

    语法特点

    SQL语言关键字不区分大小写!!!但是,针对不同的数据库,对于表名和列名,有的数据库区分大小写,有的数据库不区分大小写。同一个数据库,有的在Linux上区分大小写,有的在Windows上不区分大小写。

  • 相关阅读:
    TextView控件中使用android:drawableLeft图片和文字使用gravity只能使文字居中,无法使图片随文字同时居中, 让图片随文字同时居中
    Android Studio sdk无法下载的问题
    CollapsingToolbarLayout的使用,实现向上滑动时,图片自动压缩消失,下拉到最上面图片显示出来
    android studio开发app时,运行时百度地图显示合适,app打包后地图不显示
    两个日期相差的天数
    Android实现定点任务(定时定点做某事)
    Conversion to Dalvik format failed: Unable to execute dex: Cannot merge new index 69457 into a non-jumbo instruction!
    JSP易错点及常用标签
    Java异常机制总结
    java内存区域简单介绍
  • 原文地址:https://www.cnblogs.com/HK769405/p/13997710.html
Copyright © 2020-2023  润新知