zoukankan      html  css  js  c++  java
  • 数据库-数据类型及主键外键

    数值类型:整型、浮点型

    字符串:

    char(定长):插入数据或查询数据都很快,因为char在磁盘上插入数据的时候的存储空间是固定的,简单粗暴,直接就是定长空间,那么就不需要考虑数据的长度,所以我们在进行数据查询的时候,速度也快,因为在读取数据的时候也不需要考虑数据长度,简单粗暴的按照定长的空间来取数据,也导致以下空间的浪费。

    varchar(不定长):插入和查询速度都相对较慢,因为它在内容存储数据的时候,是按照数据的长度来进行存储的,那么每次存储数据都需要计算一下数据的长度,按照长度来开辟存储空间,那么在数据的存储空间前面还要开辟1-2个字节空间长度来存储数据的长度,也就是说格式大概是长度+内容,也导致了在我们读取数据的时候,首先要先读取数据的长度,然后根据长度再读取后面的内容,导致速度较慢,但是多数情况下可以节省存储空间

    日期类型:

    year、date、time、datetime、timestamp

    枚举类型(enumeration(‘1’,‘2’),单选)

    集合类型:set('1','2','3') 多选

    完整性约束:

    not null:不为空

    default:

    unique:唯一,不允许重复

    primary key:主键,唯一非空 not null + unique

      必须有一个主键字段,且只能有一个

    1.自动查看你所有的字段里面是否有not null + unique,如果有默认就将这个字段设置为主键字段

    2.自动给你设置一个看不到的字段作为主键

    atuo_increment:自增,一般加在主键后面,从1开始每次+1,可以设置步长,可以设置起始值

    foreign key:外键,建立表之间关系用的

      一对多:

        T1 一对多 t2

        T1里面的一条数据,可以对应t2表里面的多条数据

        T2表里面加一个字段,t1_id

      create table t2(

        id int primary key auto_increment,

        name char(10) not null,

        sex enum('男','女') default '男' not null,

        id_card char(18) not null unique

        t1_id int not null,

        constraint fk_t2_t1 foreign key(t1_id) refernces t1(id)

        一对一:

        create table t2(

        id int primary key auto_increment,

        name char(10) not null,

        sex enum('男','女') default '男' not null,

        id_card char(18) not null unique

        t1_id int not null unique,

        constraint fk_t2_t1 foreign key(t1_id) refernces t1(id)

      多对多:

        建立第三张表

        t3

          t3    id t1_id t2_id

  • 相关阅读:
    [bbk2342] 第47集 Chapter 09Optimizing Sore Perations(02)
    [bbk2345] 第50集 Chapter 12Optimizing Sore Perations(05)
    [bbk2343] 第48集 Chapter 12Optimizing Sore Perations(03)
    [bbk2863] 第54集 Chapter 14Using Oracle Dasta Storage Structures Efficiently(00)
    [bbk2515] 第51集 Chapter 13Using Oracle Blokcs Efficeintly[00]
    [bbk2341] 第46集 Chapter 09Optimizing Sore Perations(01)
    [bbk2863] 第54集 Chapter 13Using Oracle Blokcs Efficeintly[03]
    [bbk2668] 第53集 Chapter 13Using Oracle Blokcs Efficeintly[02]
    [bbk2344] 第49集 Chapter 12Optimizing Sore Perations(04)
    QT 中的模态和非模态对话框
  • 原文地址:https://www.cnblogs.com/wangzhilong/p/10297130.html
Copyright © 2011-2022 走看看