前回と前々回のおさらい
プライマリーキー(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:
* 参考にしたサイトは→ こちら です。
これは赤色の文字例です。
これは青色の文字例です。