------ 데이터 유형의 MySQL의 시리즈 2, 인덱스, 키, 저장 엔진

A, 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 시간의 함수

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

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

5 열거 유형 : 취미, 성별, 직업

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

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

6, 필드 제약 : 어떻게 필드 할당을 제한하는

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

두, MySQL의 인덱스

장점과 단점 : 물리적 저장 공간을 차지 쓰기 속도를 느리게, 쿼리 속도

(1) 일반 인덱스 : 인덱스

 可以有多个索引字段,其值可以重复和空值,在表结构中,其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 고유 인덱스 : 해당 열의 고유 인덱스 키 값은 다음과 같이 표현된다 : UNI

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

그리고 같은 기본 키.

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

   删除:   drop    index    hz_id    on    s2;

셋째, 기본 키, 복합 기본 키, 외래 키

1 차 키 : 테이블의 기본 키는 다음과 같이 표현되고 하나의 기본 키를 가질 수 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, 외래 키 규칙 : 이노 스토리지 엔진, 및 동일한 유형의 폭, 참조 테이블 : 바람직하게는, 마스터 키

  创建: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에서 기본 스토리지 엔진은 이노입니다.

1,보기 : 쇼 테이블 sys_in을 만들; // 테이블의 스토리지 엔진을 볼 수

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

2, 기본 데이터베이스 스토리지 엔진을 수정 정력 /etc/my.cnf에를

 default-storage-engine=myisam/innodb

3, 기본 엔진이 테이블을 수정합니다

  alter table 表名 engine=innodb;

4 이노과의 MyISAM 차이점

의 MyISAM은 표 레벨 쓰기 읽기에 적합한 작은 잠금 지원; .FRM (테이블 구조) .MYI (색인) .MYD (데이터)

이노는 : 트랜잭션 트랜잭션 롤백 .FRM (테이블 구조)이있는 .ibd 외부 키를 지원하기 위해, 이하의 읽기 쓰기를 들어, 로우 레벨 잠금을 지원하여 (+ 인덱스 데이터)

5 잠금 정의 및 관련 업무

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

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

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

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

추천

출처blog.51cto.com/14421478/2414996