zoukankan      html  css  js  c++  java
  • [数据库] 数据库基础概念 (一)

    主键:PRIMARY KEY,唯一标识一条记录。不可使用空值NULL,整形,长整型,自增长。

    索引:INDEX,为表中某些列建立的字典,查询时快速检索。用空间换时间,提升查询效率,增删索引会造成数据库效率低下。

    主键索引:主键会自动创建索引,唯一标识。

    唯一索引:表中的索引不可以出现重复数据,但可以为NULL,非NULL值必须唯一。读多写少的场景推荐多使用索引。

    普通索引:没有唯一索引的要求,可以重复,就是建立了一个字典目录而已。

    约束:Contraint,也就是不允许做某事。

    UNIQUE约束:(唯一键约束),定义了唯一索引就定义了唯一键约束。

    主键约束:定义了主键就定义了主键约束,约束不可以为NULL,不允许重复,但NULL值除外。

    外键约束:

    表B中某一列关联到表A中的主键的值,表B中的这一列就称为外键。

    向表B中该列插入值,该值必须在表A中的主键中存在,否则不允许插入。

    修改表B中该列的某值,也必须在表A中存在否则不可以修改。

    表A删除一条记录,表B中需删除关联到该记录的行,一般情况下,没有人引用表A主键后,才可以删除。

    表A修改主键值,必须删除表B中相关记录,才可以修改。修改相当于新增。

    外键约束的作用:可以保证数据完整性、一致性,杜绝数据冗余,数据讹误。但外键能少用则少用。

    视图:虚表,展示表,是由查询语句生成的(多表查询)。

    复杂SQL语句定为视图,可以大大的简化查询操作。

    视图只显示真实表的部分列,或计算以后的结果,隐藏真实表的数据,不建议在视图上增删改,只查询就可以了。

    数据类型:

    tinyint

    1字节,带符号的范围是-128到127。无符号的范围是0到255。

    bool或boolen,就是tinyint,0表示假,非0表示真 

    smailint 2字节,带符号的范围是-32768到32767.无符号的范围是0到65535 
    int

    整型,4字节,同integer,带符号的范围是-214783648到2147483647。

    无符号的范围是0到4294967295 

    bigint

    长整型,8字节,带符号的范围是-9223372036854775808到923372036854775807。

    无符号范围是0到1846744073709551615

    float  单精度浮点数精确到大约7位小数位
    double 双精度浮点数精确到大约15位小数位 
    date 日期。支持的范围为'1000-01-01'到'9999-12-31' 
    datetime 支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59' 
    timestamp 时间戳,范围是'1970-01-01 00:00:00'到2037年 
    char(M) 固定长度,右边填充空格已达到长度要求。M为长度,范围为0到255.M指的是字符个数 
    varchar(M) 变长字符串。M表示最大列长度。M的范围是0到65535。但不能突破行最大字节数65535 
    text 大文本。最大长度为65535(2^16-1)个字符 
    BLOB 大字节。最大长度为65535(2^16-1)字节的BLOB列 

    LENGTH函数返回字节数。

    char和varchar定义的M是字符数限制。

  • 相关阅读:
    线性代数学习笔记(代数版)
    洛谷P2765 魔术球问题(贪心 最大流)
    洛谷P2770 航空路线问题(费用流)
    洛谷P4013 数字梯形问题(费用流)
    洛谷P2774 方格取数问题(最小割)
    洛谷P2761 软件补丁问题(状压DP,SPFA)
    项目mysql数据导入数据的Java程序
    axd与ashx区别
    LD1-K(求差值最小的生成树)
    rabbitMQ入门
  • 原文地址:https://www.cnblogs.com/i-honey/p/8196061.html
Copyright © 2011-2022 走看看