mysql数据类型、索引及其它简析

发布时间:2020-04-28 11:36:54 作者:三月
来源:亿速云 阅读:234

本文主要给大家介绍mysql数据类型、索引及其它简析,希望可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在亿速云行业资讯里面关注我的更新文章的。

 一、Mysql数据类型:

   1、数值类型:

      整数类型:使用unsigned修饰时,只取正值,数值不够指定宽度时,在左边补空格

                      整数类型包括:tinyint,smallint,int等

      浮点型:  (5,2)总长度和小数点后的长度

                     包括:float,double,decimal(固定长度,不符合长度要求输入不进去)

  2、字符类型:       

       char:  定长,255个字符,右边用空格补齐,效率高

       varchar: 可变长,按数据实际大小分配空间,邮箱可用varchar

            大文本类型:text、blob

  3、日期时间类型:

     日期时间:datetime(8个字节)    timestamp(4个字节)

     日期: date   0001-01-01~9999-12-31

     年份:year    1901-2155    当用两位表示时 :01-69 表示20XX     70-99 表示 19XX

        时间:time    HH:MM:SS,占用三个字节

 4、时间函数

mysql数据类型、索引及其它简析

      now()  :获取调用此函数时的系统日期时间

      month()   ,date()    time()  :获取指定的月份,日期,时间

5、枚举类型:爱好,性别,专业

     字段名       enum(值1,值2,值3)     单选   可用数字来表示

     字段名       set (值1,值2,值3)   多选

6、字段约束条件:限制如何给字段赋值

      null(为空)  ,not null(非空),default(默认值)


二、Mysql索引

 优缺点:占用物理存储空间,减慢写的速度;加快查询的速度

  1、普通索引:index  

     可以有多个索引字段,其值可以重复和空值,在表结构中,其key键的值显示为:mul

       创建:create table user( id int(3), index(id)); //创建表时创建

               create index id on user1(id);   //在已存在的表里创建

    删除:drop index id on user1;   //在user1表里删除index为id的索引

 2、唯一索引:unique  index    在键值那栏表示为:UNI

      一个表中可以有多个唯一索引,对应字段的值不能重复,当不为空时,限制功能

和主键相同。

       创建:create  unique index  hz_id  on   s2(hz_id);

       删除:   drop    index    hz_id    on    s2;


三、主键、复合主键,外键

  1、主键:primary key   一个表只能有一个主键,其表示为:PRI

    对应的字段值不能为空。

        创建:alter  table   表名    add primary key (字段名);

        删除:alter  table  表名    drop  primary key;  

    primary key 与 auto_increment连用,字段的值自动增长

    在创建主键时,在后面加上 auto_increment,删除主键时,

  首先要删除自增属性,也就是先修改字段的属性

  2、复合主键:表中多个字段一起做主键,要一起创建   

         创建:alter  table  s1   add   primary   key(stu_id,name);

         删除:  alter  table  s1   drop   primary  key;

   3、外键使用规则:存储引擎是innodb,类型和宽度一样,被参考表:最好是主键

      创建:foreign      key(A表字段名)         references    B表名(字段名)  

               on update cascade(同步更新)  on delete cascade;(同步删除)  

        删除外键:alter  table 表名   drop  foreign  key   约束名;

     外键名查询:show  create table  表名\G,可以查询


四、Mysql存储引擎

        何为存储引擎:负责为数据库执行实际的数据I/O操作,

不同的存储引擎,其存储数据的方式也不一样,

在mysql5.7中,默认的存储引擎是innodb.

 1、查看:show create table sys_in;    //查看某个表的存储引擎

                 show engines;        //查看数据库支持的和默认的存储引擎

 2、修改数据库默认的存储引擎: vim /etc/my.cnf

     default-storage-engine=myisam/innodb

 3、修改某个存在表的默认引擎:

      alter table 表名 engine=innodb;

 4、myisam和innodb的区别

 myisam:支持表级锁,适合多读少写;.frm(表结构), .MYI(索引), .MYD(数据)     

 innodb:支持行级锁,适合多写少读,支持外键,支持事务,事务回滚,.frm(表结构).ibd(索引+数据)

5、锁和事务的相关定义

     锁类型:读锁(共享锁),写锁(排它锁)

     锁粒度:表锁,行锁,页锁(内存)

     事务:一次sql操作从连接到断开连接的过程称为事务。要么成功,要么失败

     事务日志文件:ib_logfile(sql语句存放位置);ibdata1(数据信息)


看了以上关于mysql数据类型、索引及其它简析,希望能给大家在实际运用中带来一定的帮助。本文由于篇幅有限,难免会有不足和需要补充的地方,如有需要更加专业的解答,可在官网联系我们的24小时售前售后,随时帮您解答问题的。




























推荐阅读:
  1. mycat功能测试简析
  2. HBase Client API 简析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql 索引 数据类

上一篇:cmake的一系列问题

下一篇:LNMP架构及mysql等安装详情

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》