入力データにインデックスをつける free51

       お手本CREATE TABLE db_name.tbl_name
             (col_name1 data_type1 AUTO_INCREMENT, col_name2 data_type2, ..., 
             INDEX(col_name1));

○設定を施したテーブルを作る
mysql> create table sadachika_books.sadachi_autotest(sada_id int auto_increment, sada_name varchar(10),         *カラム名sada_id INT型 auto_increment(関数みたいなもんでしょX+1), カラム名sada_name VARCHAR型          
    -> index(sada_id));
Query OK, 0 rows affected (0.22 sec)

○テーブルの構造を見る
mysql> show columns from sadachika_books.sadachi_autotest;            *columns(新聞など印刷物の)縦の段; 欄.                     
Field       Type         Null   Key    Default    Extra
sada_id     int(11)      NO     MUL    NULL       auto_increment      *Extra項目がauto_increment設定にになった。Key項目がMULこれなんだ? データが未記入の場合は0が入る カラム名sada_num INT型
sada_name   varchar(10)  YES           NULL                           *カラム名sada_name VARCHAR型

                                                             *忘れるからメモ*前回はDefaultの項目をいじってたから'定近の未記入'になってた
                                                             ○テーブルを作る
                                                             mysql> create table sadachika_books.sadachi_defaulttest(sada_num int default 0, 
                                                                 -> sada_str varchar(10) default '定近の未入力');
○テーブルの詳細情報を取得する
SHOW TABLE STATUS FROM sadachika_books LIKE 'sadachi_autotest'\G

**************** 1.row **********************
           Name: sadachi_autotest
         Engine: InnoDB
        Version: 10
     Row_format: Compact
           Rows: 0                  0
 Avg_row_length: 0
    Data_length: 16384
Max_data_length: 0
   Index_length: 16384                *新たに数字が表示されましたよ
      Data_free: 0
 Auto_increment: 1                    *ふだんはNULLですが、→1に変わりました AUTO_INCREMENTが設定されたカラムに次にNULLまたは0が格納されたときに1を足す、と説明にあります。
    Create_time: 2013-07-05 04:23:11
    Update_time: NULL
     Check_time: NULL
      Collation: utf8_general_ci
       Checksum: NULL
 Create_options:
        Comment:
        
○データ入力
           mysql> insert into autotest(name) values('扇風機');
mysql> insert into sadachika_books.sadachi_autotest(sada_name) values(2013);
mysql> insert into sadachika_books.sadachi_autotest(sada_name) values(広島);       *ERROR
mysql> insert into sadachika_books.sadachi_autotest(sada_name) values('広島');
mysql> insert into sadachika_books.sadachi_autotest(sada_name) values('福山');
mysql> insert into sadachika_books.sadachi_autotest(sada_name) values('定近');
mysql> insert into sadachika_books.sadachi_autotest(sada_name) values('充始');
mysql> insert into sadachika_books.sadachi_autotest(sada_name) values('NULL');
mysql> insert into sadachika_books.sadachi_autotest(sada_name) values(NULL);
mysql> insert into sadachika_books.sadachi_autotest(sada_name) values('さだちか');
mysql> insert into sadachika_books.sadachi_autotest(sada_name) values();           *ERROR
mysql> insert into sadachika_books.sadachi_autotest(sada_name) values('');
mysql> insert into sadachika_books.sadachi_autotest(sada_name) values('サダチカ');


○テーブルの中身の表示 
mysql> select * from sadachika_books.sadachi_autotest;
sada_id    sada_name
      1    2013
      2    広島
      3    福山          
      4    定近
      5    充始
      6    NULL        *NULLが入力されても
      7    NULL
      8    さだちか
      9                *何も表示されないがインデックス数字がついた
     10    サダチカ

○テーブルの詳細情報を取得する
SHOW TABLE STATUS FROM sadachika_books LIKE 'sadachi_autotest'\G

**************** 1.row **********************
           Name: sadachi_autotest
         Engine: InnoDB
        Version: 10
     Row_format: Compact
           Rows: 10                   *入力カウント回数10
 Avg_row_length: 1638
    Data_length: 16384
Max_data_length: 0
   Index_length: 16384                *新たに数字が表示されましたよ
      Data_free: 0
 Auto_increment: 11                   *現在のインデックスの最大値は10であるから、次の入力時は11だという意味表示。
    Create_time: 2013-07-05 04:23:11
    Update_time: NULL
     Check_time: NULL
      Collation: utf8_general_ci
       Checksum: NULL
 Create_options:
        Comment:

○現在接続されているデーターベース
MySQL> select database();
database()
NULL                   *どこにも接続されてないみたい

mysql> USE sadachika_books;

○対象のカラムの値を削除する
delete from sadachika_books.sadachi_autotest where sada_id = 10;                             *現在の最大値を削除してみる、つぎのインデックスのカウント数を見るテスト
delete from sadachika_books.sadachi_autotest where sada_id = 9;
delete from sadachika_books.sadachi_autotest where sada_id = 8;

○データ入力
mysql> insert into sadachika_books.sadachi_autotest(sada_name) values('定近充始');
mysql> insert into sadachika_books.sadachi_autotest(sada_name) values('Atsushi Sadachika');  *ERROR なぜエラーなんだろうね、空白?文字数?
mysql> insert into sadachika_books.sadachi_autotest(sada_name) values('Sadachika');

○テーブルの中身の表示 
mysql> select * from sadachika_books.sadachi_autotest;
sada_id    sada_name        
      1    2013
      2    広島
      3    福山          
      4    定近
      5    充始
      6    NULL        *NULLが入力されても
      7    NULL
     11    定近充始    *8〜10が削除されて、次のインデックスは11から始まる
     12    Sadachika

○データ入力
mysql> insert into sadachika_books.sadachi_autotest(sada_id, sada_name) values(88, '福島県');


○テーブルの詳細情報を取得する
SHOW TABLE STATUS FROM sadachika_books LIKE 'sadachi_autotest'\G

**************** 1.row **********************
           Name: sadachi_autotest
         Engine: InnoDB
        Version: 10
     Row_format: Compact
           Rows: 10                   *入力カウント回数10 (削除込みでカウント)
 Avg_row_length: 1638
    Data_length: 16384
Max_data_length: 0
   Index_length: 16384                
      Data_free: 0
 Auto_increment: 89                   *現在のインデックスの最大値は88であるから、次の入力時は89だという意味表示。
    Create_time: 2013-07-05 04:23:11
    Update_time: NULL
     Check_time: NULL
      Collation: utf8_general_ci
       Checksum: NULL
 Create_options:
        Comment:

○データ入力
mysql> insert into sadachika_books.sadachi_autotest(sada_name) values(3.11);

○テーブルの中身の表示 
mysql> select * from sadachika_books.sadachi_autotest;
sada_id    sada_name        
      1    2013
      2    広島
      3    福山          
      4    定近
      5    充始
      6    NULL                   *NULLが入力されても
      7    NULL
     11    定近充始               *8〜10が削除されて、次のインデックスは11から始まる
     12    Sadachika
     88    福島県
     89    3.11

○設定を施したテーブルを作る
「AUTO_INCREMENT = 初期値」を指定。
mysql> create table sadachika_books.sadachi_autotest2(sada_id int auto_increment, sada_name varchar(10),
    -> index(sada_id))
    -> auto_increment = 100;
○データ入力
mysql> insert into sadachika_books.sadachi_autotest2(sada_name) values('定近充始');

○テーブルの詳細情報を取得する
SHOW TABLE STATUS FROM sadachika_books LIKE 'sadachi_autotest2'\G

**************** 1.row **********************
           Name: sadachi_autotest2
         Engine: InnoDB
        Version: 10
     Row_format: Compact
           Rows: 1                *入力カウント回数0 (削除込みでカウント)
 Avg_row_length: 16384
    Data_length: 16384
Max_data_length: 0
   Index_length: 16384                
      Data_free: 0
 Auto_increment: 101              *現在のインデックスの最大値は88であるから、次の入力時は89だという意味表示。
    Create_time: 2013-07-05 05:52:41
    Update_time: NULL
     Check_time: NULL
      Collation: utf8_general_ci
       Checksum: NULL
 Create_options:
        Comment:

○テーブルの中身の表示 
mysql> select * from sadachika_books.sadachi_autotest2;
sada_id    sada_name  
    100    定近充始


* 参考にしたサイトは→ こちら です。

これは赤色の文字例です。

これは青色の文字例です。