前回と前々回のおさらい
プライマリーキー(primary key)はインデックス数字の重複を許さない設定
ユニークキー(unique)はインデックス数字にNULL(データなし)の入力を許可するが、整数の重複は許さない設定 ユニーク制約
今回学ぶインデックスは、整数の数字の重複を許す設定です free54
Saturday,July,6,2013
○テーブルを作る
mysql> create table sadachika_books.sadachi_indextest(sada_id int, sada_name varchar(10), index(sada_id));
↑カラム名を統一しないとエラー ここで苦労した
お手本CREATE TABLE db_name.tbl_name
(col_name1 data_type1, col_name2 data_type2, ...,
INDEX (index_col_name1, index_col_name2, ...));
CREATE TABLE sadachika_books.sadachi_indextest2
->(sada_id int, sada_name varchar(10),
->INDEX (sada_id));
SHOW TABLES FROM sadachika_books;
Table_in_sadachika_books
sadachi_indextest *増えた
sadachi_indextest2 *増えた
○テーブルの構造を見る
mysql> show columns from sadachika_books.sadachi_indextest; *columns(新聞など印刷物の)縦の段; 欄.
Field Type Null Key Default Extra
sada_id int(11) YES MUL NULL *Key項目がMUL意味は? カラム名sada_id INT型(おそらく数字のみ入力可能)
sada_name varchar(10) YES MUL NULL *Key項目がMUL意味は? カラム名sada_name VARCHAR型 文字によるインデックスを作成するんだな、INT型が数字だけしか使用できないから
○この項目初めてさわるかも。 インデックスを確認。
mysql> show index from sadachika_books.sadachi_indextest\G
**************** 1.row **********************
Table: sadachi_indextest
Non_unique: 1
Key_name: sada_id *設定によってはPRIMARYになったり
Seq_in_index: 1
Column_name: sada_id *カラム名
Collation: A
Cardinality: 0 *たぶん0項目の入力だな
Sub_part: NULL
Packed: NULL
NULL: YES
Index_Type: BTREE
Comment:
Index_comment:
○データ入力
insert into sadachika_books.sadachi_indextest(sada_id, sada_name) values(1, '定近');
insert into sadachika_books.sadachi_indextest(sada_id, sada_name) values(2, '定近');
insert into sadachika_books.sadachi_indextest(sada_id, sada_name) values(3, '定近');
insert into sadachika_books.sadachi_indextest(sada_id, sada_name) values(1, '定近');
insert into sadachika_books.sadachi_indextest(sada_id, sada_name) values(2, '定近');
insert into sadachika_books.sadachi_indextest(sada_id, sada_name) values(3, '定近');
insert into sadachika_books.sadachi_indextest(sada_id, sada_name) values('a', '定近');*やっぱりINT型って文字入力無理なですね。
insert into sadachika_books.sadachi_indextest(sada_id, sada_name) values(8, '定近');
insert into sadachika_books.sadachi_indextest(sada_id, sada_name) values(NULL, '定近');
insert into sadachika_books.sadachi_indextest(sada_id, sada_name) values(NULL, '定近');
insert into sadachika_books.sadachi_indextest(sada_id, sada_name) values(12, '定近');
insert into sadachika_books.sadachi_indextest(sada_id, sada_name) values(11, '定近');
○テーブルの中身の表示
mysql> select * from sadachika_books.sadachi_indextest;
sada_id sada_name
1 定近
2 定近
3 定近
1 定近 *インデックス数字の重複を許している
2 定近 *インデックス数字の重複を許している
3 定近 *インデックス数字の重複を許している
8 定近 *インデックス数字の重複を許している
NULL 定近 *NULの重複を許している
NULL 定近
12 定近
11 定近
○この項目初めてさわるかも。 インデックスを確認。
mysql> show index from sadachika_books.sadachi_indextest\G
**************** 1.row **********************
Table: sadachi_indextest
Non_unique: 1
Key_name: sada_id *設定によってはPRIMARYになったり
Seq_in_index: 1
Column_name: sada_id *カラム名
Collation: A
Cardinality: 11 *たぶん0項目の入力だな
Sub_part: NULL
Packed: NULL
NULL: YES *NULL(データなし)の入力が可能という事なんだろう
Index_Type: BTREE
Comment:
Index_comment:
* 参考にしたサイトは→ こちら です。
これは赤色の文字例です。
これは青色の文字例です。