テーブル作成時に付属するENGINE=InnoDB DEFAULT CHARSET=utf 8 COLLATE=utf 8_general_ci ROW_FORMAT=Dynamicの解釈

1438 ワード

ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE = utf8_general_ci ROW_FORMATの解釈
1.例
CREATE TABLE `student`  (
  `id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `score` int(40) NULL DEFAULT NULL,
  `course` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;


2.解釈
1.ENGINE=InnoDBはinnodbエンジンを使用する、zhidaoMySQL 5.6からこのエンジンをデフォルトで使用する.DEFAULT CHARSET=utf 8データベースのデフォルト符号化はutf-8
3.COLLATE utf8_general_ci:データベース照合ルール.ciはcase insensitiveの略で、大文字と小文字が敏感ではないことを意味します.相対的にcs、すなわちcase sensitiveであり、大文字と小文字が敏感である.もう一つはutf 8_binは、文字列の各文字をバイナリデータで格納し、大文字と小文字を区別する.
4.ROW_FORMAT=Dynamic:mysqlでvarchar、textおよびその変形、blobおよびその変形のフィールドが1つのテーブルに存在しない場合、このテーブルは静的テーブル、すなわちテーブルのrow_とも呼ばれるformatはFixedです.つまり、レコードごとに使用されるバイトは同じです.その利点は読み取りが速く、欠点は余分な空間を浪費する.1枚のテーブルにvarchar、text、およびその変形、blob、およびその変形のフィールドが存在する場合、このテーブルは動的テーブル、すなわちテーブルのrow_とも呼ばれる.formatはDynamicであり,つまりレコードごとに占有されるバイトは動的である.その利点は空間を節約し、欠点は読み取りの時間オーバーヘッドを増加させる.したがって,検索クエリ量の大きいテーブルは一般に空間で時間を置き換え,静的テーブルに設計される.拡張:1.InnoDBは、MySQLのデータベースエンジンの複一であり、MySQL ABのためにbinaryを発表する標準の一つである.2.AUTO_INCREMENTは、新しいレコード挿入テーブルで作成されたときに一意の数値を生成します.新しいレコードを挿入するたびに、プライマリ・キー・フィールドの値を自動的に作成するには、zdを使用してテーブルにauto-incrementフィールドを作成します.3.AUTO_INCREMENT=1自増キーの先頭番号は1