zoukankan      html  css  js  c++  java
  • mysql常见名词解释

    mysql常见名词解释

    存储引擎

    文件的格式有很多,比如txtmp4等等,针对不同的文件格式,对应有不同的存储方式和处理机制,而存储引擎,就是对不同文件格式的处理机制。

    mysql常用的存储引擎:

    1. innodb:MySQL5.5版本之后默认的存储引擎。存储数据更加安全。
    2. myisam:Mysql5.5版本之前默认的存储引擎。存储速率较快。
    3. memory:内存引擎。数据都存放在内存中,存取速度快,但是断电就消失、
    4. blackhole:黑洞。无论存进去什么,都取不出来。
    # 查看存储引擎:show engines;
    # 创造对应的存储引擎存放表:create table t1(id int,name char(4)) engine=存储引擎
    

    当我们使用相应的存储引擎存放数据的时候,会发现对应存储的结果

    1. innodb:有两个文件。

      • frm结尾:表结构
      • idb结尾:表数据
    2. myisam:有三个文件。

      • frm结尾:表结构
      • MYD结尾:表数据
      • MYI结尾:索引,类似于书的目录
    3. memory:只有一个表示结构的。数据被存放在内存中

    4. blackhole:只有一个表示结构。数据被扔进了黑洞。

    创建表的注意事项

    # 创建表的完整语法
    create table 表名(
    	字段名 类型(宽度) 约束条件,
    	字段名 类型(宽度) 约束条件,
    	字段名 类型(宽度) 约束条件
    	)
    类型就是存放在该字段下的数据类型,以及数据的宽度,同时需要遵守什么约束条件,没有也可不写。
    

    注意事项:

    1. 同一张表下字段名不可重复。
    2. 字段名和类型是必填的,宽度和约束条件选填。而且约束条件还可以写多个。
    3. 最后一个字段名的末尾不可以有逗号。语法错误

    在严格模式下,一旦数据过长,超过我们定义的长度,那么就会出现报错的现象,默认严格模式都是开启的。可以在my.ini中配置,开启严格模式。

    # 如何查看严格模式:主要是查找sql_mode
    show variables like '%mode'
    修改严格模式,全局有效,修改完毕之后,重新进入服务端。
    set global sql_mode = 'STRICT_TRANS_TABLES';
    

    使用数据库的准则:尽量只让数据库干自己的存储数据的活。不添加额外的工作。

    基本数据类型

    整型

    一般情况下是用大写表示数据类型,一共有以下几种类型:

    1. TINYINT
    2. SMALLINT
    3. MEDIUMINT
    4. INT
    5. BIGINT

    默认是带符号的,可以补上约束条件unsigned,这个条件代表的是无符号的意思。当存储数值大于规定的数值,就会报错。

    既然每个整数都有自己的范围,那么还要宽度干什么用呢?这里要注意,括号内的宽度并不是代表限制位数,而是默认用空格补全长度的位数,如果要是超出了位数,那么有多少位存多少位。

    浮点型

    存储限制:

    1. float(255,30):总共255位,小数部分30位。
    2. double(255,30)
    3. decimal(65,30)

    精度高低由上向下越来越精准。

    字符类型

    重点,使用较多

    1. char(4):定长,不够的话空格补全,多的话报错。
    2. varchar(4):可变长,不够的话有多少是多少,多的话报错。

    在存储数据的时候,以char存入硬盘的数据肯定是带空格的数据,但是在取出来的时候会将多余的空格除去。

    # 更改配置:不让mysql自动剔除空格的操作
    set global sql_mode = 'STRICT_TRANS_TABLES,PAD_CHAR_TO_FULL_LENGTH';
    

    理论上来说使用哪个看心情,想用那个用那个,但是一般情况下产品经理都会指出来具体类型,根据指示做事情就行了。

    时间类型

    1. date:年月日
    2. time:时分秒
    3. datetime:年月日时分秒
    4. Year:年

    枚举与集合

    枚举:enum 多个中选取一个

    集合:set 多个中可以选取多个

    create table t1(
    	id int,
    	gender enum('male','female'),
    	hobbies set('play','dbj','hecha','shanghua')
    )
    
    

    在插入记录的时候,enum只能选一个,hobbies可以选取多个,但是都只能选择给出的选项。

  • 相关阅读:
    Key and Certificate Conversion
    openssl
    python http通信实现
    鼠标右键添加cmd
    好文章
    wireshark里无网络接口解决办法
    python垃圾回收
    终于有人把 Docker 讲清楚了
    mongodb的监控与性能优化
    mongodb创建超级用户和普通用户(对应数据库的用户)
  • 原文地址:https://www.cnblogs.com/liqianxin/p/12828061.html
Copyright © 2011-2022 走看看