TEXT型のカラムとBLOB型のカラムを持つテーブルを作成します。MySQLの練習 free40
MySQLのテーブル表示にいろいろなプログラム文法を試みてみた。SHOW DATABASES; USE sadachika; SHOW TABLES; Tables_in_sadachika sadachika test1 ○例としてTEXT型のカラムとBLOB型のカラムを持つテーブルを作成します。 mysql> create table test2(t text, b blob); ○「test2」テーブルの構造を見る。 カラムの設定が見れます。桁数、NULL値が無い場合の表示方法など mysql> describe test2; mysql> show columns from test2; 同じ結果 Field Type Null Key Default Extra t text YES NULL b blob YES NULL ○データを格納する mysql> insert into test2(t, b) values('abc','abc'); *ノーマルに入力した mysql> insert into test2(t, b) values('abc ','abc '); *後ろに半角スペースを入力 mysql> insert into test2(t, b) values(' abc ',' abc '); *前後に半角スペースを挿入 mysql> insert into test2(t, b) values('sadachika','sadachika'); *小文字のアルファベット mysql> insert into test2(t, b) values('SADACHIKA','SADACHIKA'); *大文字のアルファベット mysql> insert into test2(t, b) values('SADACHIKA ','SADACHIKA ');*後ろに半角スペースを入力 mysql> insert into test2(t, b) values('定近','定近'); *漢字を入力してみる mysql> insert into test2(t, b) values('定近 ','定近 '); *後ろに半角スペースを入力 mysql> insert into test2(t, b) values(' 定近 ',' 定近 '); *前後に半角スペースを入力してみる mysql> insert into test2(t, b) values('2013','2013'); *数字のテスト ただシングルクォーテーションだから文字として記録されるんだろうと思う mysql> insert into test2(t, b) values('2013 ','2013 '); *後ろに半角スペース mysql> insert into test2(t, b) values(' 2013 ',' 2013 '); *前後に半角スペース mysql> insert into test2(t, b) values('201306','201306'); *2013の検索でかかるかテスト 結果はかからない mysql> insert into test2(t, b) values('2013 6 ','2013 6 '); *半角スペースを間に入れて数字を入力してみた ○作成したテーブルの定義を確認してみる。 mysql> show create table test2\G *********** 1. row ************** Table: test2 Create Table: CREATE TABLE 'test2'( 't' text, *記述がずいぶん短くなったな。カムラの形、文字コードで理解することにしておく。 'b' blob *記述がずいぶん短くなったな。カムラの形、文字コードで理解することにしておく。 )ENGINE=InnoDB DEFAULT CHARSET=utf8 1 row in set (0.00 sec) ○テーブルの中身の表示 mysql> select * from test2; t b abc abc abc abc abc abc sadachika sadachika SADACHIKA SADACHIKA SADACHIKA SADACHIKA 定近 定近 定近 定近 定近 定近 2013 2013 2013 2013 2013 2013 201306 201306 2013 6 2013 6 ○テーブルの中身の表示 プログラムの文法テスト mysql> select t, b from test2; t b abc abc abc abc abc abc sadachika sadachika SADACHIKA SADACHIKA SADACHIKA SADACHIKA 定近 定近 定近 定近 定近 定近 2013 2013 2013 2013 2013 2013 201306 201306 2013 6 2013 6 ○テーブルの中身の表示 プログラムの文法テスト mysql> select concat('(',t,')'), concat('(',b,')')from test2; concat('(',t,')') concat('(',b,')') (abc) (abc) *ノーマルに入力した (abc ) (abc ) *後ろに半角スペースを入力 ( abc ) ( abc ) *前後に半角スペースを挿入 (sadachika) (sadachika) *小文字のアルファベット (SADACHIKA) (SADACHIKA) *大文字のアルファベット (SADACHIKA ) (SADACHIKA ) *後ろに半角スペースを入力 (定近) (定近) *漢字を入力してみる (定近 ) (定近 ) *後ろに半角スペースを入力 ( 定近 ) ( 定近 ) *前後に半角スペースを入力してみる (2013) (2013) *数字のテスト ただシングルクォーテーションだから文字として記録されるんだろうと思う (2013 ) (2013 ) *後ろに半角スペース ( 2013 ) ( 2013 ) *前後に半角スペース (201306) (201306) *2013の検索でかかるかテスト 結果はかからない (2013 6) (2013 6) *半角スペースを間に入れて数字を入力してみた ○テーブルの中身の検索? mysql> select concat('(',t,')')from test2 where t='abc'; concat('(',t,')') (abc) (abc ) *半角スペースでも検索にヒットする。前後の半角スペースはかからなかった。 ○テーブルの中身の検索? mysql> select concat('(',t,')')from test2 where t='sadachika'; concat('(',t,')') (sadachika) *小文字検索「sadachika」で大文字がヒットしました。 (SADACHIKA) (SADACHIKA ) ○テーブルの中身の検索? mysql> select concat('(',t,')')from test2 where t='SADACHIKA'; concat('(',t,')') (sadachika) *大文字検索「SADACHIKA」で小文字がヒットしました。 (SADACHIKA) (SADACHIKA ) ○テーブルの中身の検索? mysql> select concat('(',t,')')from test2 where t='定近'; concat('(',t,')') (定近) (定近 ) *合計2ヒット 前後の半角スペースは検索にかからなかった。 ○テーブルの中身の検索? mysql> select concat('(',t,')')from test2 where t='2013'; concat('(',t,')') (2013) (2013 ) *合計2ヒット 前後の半角スペースは検索にかからなかった。以下同じようにテストした ○テーブルの中身の検索? mysql> select concat('(',b,')')from test2 where b='abc'; concat('(',b,')') (abc) ○テーブルの中身の検索? mysql> select concat('(',b,')')from test2 where b='sadachika'; concat('(',b,')') (sadachika) ○テーブルの中身の検索? mysql> select concat('(',b,')')from test2 where b='SADACHIKA'; concat('(',b,')') (SADACHIKA) ○テーブルの中身の検索? mysql> select concat('(',b,')')from test2 where b='定近'; concat('(',b,')') (定近) ○テーブルの中身の検索? mysql> select concat('(',b,')')from test2 where b='2013'; concat('(',b,')') (2013) ○サーバへのtext,blob型のカラムに格納するデータの形を表示。 mysql> select hex(t), hex(b) from test2; hex(t) hex(b) 616263 616263 *左がtext 右がblob型のサーバに記憶されるデータの型 abc abc 61626320 61626320 *空白は20かもね 2061626320 2061626320 *前後空白は20だな 736164616368696B61 736164616368696B61 *同じ 534144414348494B41 534144414348494B41 *同じ 534144414348494B4120 534144414348494B4120 *空白の20が付く E5AE9AE8BF91 92E88BDF *t,bで違うんだね E5AE9AE8BF9120 92E88BDF20 *t,bで違うんだね 空白の20が付く 20E5AE9AE8BF9120 2092E88BDF20 *t,bで違うんだね 空白の20が付く 32303133 32303133 *同じ 3230313320 3230313320 *空白の20が付く 203230313320 203230313320 *前後に空白の20が付く 323031333036 323031333036 *3036が付くこれが06の意味なんだろうね 32303133203620 32303133203620 *203620が付く_6の意味だろうね ○テーブルの追加を確認する SHOW TABLES; Tables_in_sadachika sadachika test1 test2 追加されたね
* 参考にしたサイトは→ こちら です。
これは赤色の文字例です。
これは青色の文字例です。