加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

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

发布时间:2023-09-02 13:59:04 所属栏目:MySql教程 来源:
导读:一、Mysql数据类型:

1、数值类型:

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

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

浮点
一、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 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;  
 
    在创建主键时,在后面加上 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;(同步删除)  
 
     外键名查询: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(数据信息)
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章