データ型、インデックス、キー、記憶されたエンジンの------ MySQLのシリーズ2

、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:テーブルの主キーは、のように表される1つのプライマリキーを有することができます

对应的字段值不能为空。

    创建: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、ビュー:ショーテーブルsys_inを作成; //テーブルのストレージエンジンを表示

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

VIMな/etc/my.cnf:2、デフォルトのデータベースストレージエンジンを変更します

 default-storage-engine=myisam/innodb

3、デフォルトのエンジンがあるテーブルを変更します。

  alter table 表名 engine=innodb;

4、のInnoDBとMyISAMテーブルとの間の差

MyISAM:読み書きする小さな適しテーブルレベルのロックをサポートし; .FRM(表構造)、.MYI(インデックス)、.MYD(データ)

InnoDBは:トランザクション、トランザクションのロールバック、.FRM(表構造)の.ibdを外部キーをサポートするために、以下を読み書きするために、行レベルのロックをサポートするサポート(インデックス+データ)

5、ロックおよび関連する定義情勢

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

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

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

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

おすすめ

転載: blog.51cto.com/14421478/2414996