NULL(データなし)の設定方法を勉強した free48
Thursday,July,4,2013
mysql> create table sadachika_books.sadachi_nulltest(sada_num1 int not null, sada_num2 int null, sada_num3 int); *カラムsada_num1のINT型null(データなし)の入力を無効 カラムsada_num2のINT型nullの入力は有効設定、以下2番目と同じ
↑データベース名 ↑テーブル名
Query OK, 0 rows affected (2.61 sec)
○テーブルを表示する
mysql> show tables from sadachika_books;
sada_personal
sadachi_doods
sadachi_nulltest *追加されたね
sadachi_personal
sadachika_magazine
sadachika_novel
○テーブルの構造を見る
mysql> show columns from sadachika_books.sadachi_nulltest; *columns(新聞など印刷物の)縦の段; 欄.
Field Type Null Key Default Extra
sada_num1 int(11) NO NULL *Nullの項目がNO無効になった
sada_num2 int(11) YES NULL
sada_num3 int(11) YES NULL
SHOW COLUMNS FROM sadachi_nulltest FROM sadachika_books LIKE 'sada_num1';
Field Type Null Key Default Extra
sada_num1 int(11) NO NULL *Nullの項目がNO無効になった
○作成したテーブル(sadachi_nulltest)の定義を確認してみる
mysql> show create table sadachi_nulltest\G
*********** 1. row **************
Table: sadachi_nulltest
Create Table: CREATE TABLE 'sadachi_nulltest'(
'sada_num1' int(11) NOT NULL, *NULLが無効に設定された カムラの名前sada_num1、INT型
'sada_num2' int(11) DEFAULT NULL, *カムラの名前sada_num2、INT型
'sada_num3' int(11) DEFAULT NULL, *カムラの名前sada_num3、INT型
) ENGINE=InnoDB DEFAULT CHARSET=utf8 *デフォルトでcp932になるみたい 指定する場合は、文字セットと照合順序を指定してデータベース(フォルダ)を作成
1 row in set (0.61 sec) *例えば、こんな感じ、忘れないために書いておくmysql> create database sadachika_cp932db character set cp932;
*↑デフォルトはInnoDBだが、指定する場合のためにメモを残しておく InnoDBを変えたりするには、mysql> create table sadachika_novel(sada_id int) engine=MyISAM; *INT型 MyISAMと入力
○テーブルの詳細情報を取得する
mysql> show table status\G
SHOW TABLE STATUS FROM sadachika_books LIKE 'sadachi_nulltest'\G
**************** 1.row **********************
Name: sadachi_unlltest
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 0
Avg_row_length: 0
Data_length: 16384
Max_data_length: 0
Index_length: 0
Data_free: 0
Auto_increment: NULL
Create_time: 2013-07-04 04:01:43
Update_time: NULL
Check_time: NULL
Collation: utf8_general_ci
Checksum: NULL
Create_options:
Comment:
○データを格納する
mysql> create table sadachika_books.sadachi_personal(sada_id int, sada_name varchar(20));
mysql> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values('12','12','12');
Query OK 1 row affected (0.00 sec)
mysql> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values('sadachika','sadachika','sadachika'); ERROR *ノーマルに入力した
mysql> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values('null','sadachika','sadachika');ERROR
mysql> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values('sadachika','null','null');ERROR
insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values('13','null','null'); ERROR
mysql> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values('sadachika'); ERROR
mysql> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values('SADACHIKA'); ERROR
mysql> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values('13'); ERROR
mysql> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values('13','13','13');
Query OK 1 row affected (0.00 sec)
mysql> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values('13','',''); ERROR
mysql> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values('13',null,null);
Query OK 1 row affected (0.00 sec)
mysql> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values('13',,); ERROR
mysql> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values('13', ,); ERROR
mysql> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values('14','14','14'); *シングルクオーテイションの数字はOK
Query OK 1 row affected (0.03 sec)
mysql> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values('sadachika',null,null); ERROR
mysql> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values('abc15',null,null); ERROR
mysql> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values('16',null,null); *シングルクオーテイションの数字はOK
Query OK 1 row affected (0.01 sec)
mysql> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values(17); ERROR
mysql> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values(17,,18); ERROR
mysql> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values(17,null,18); *シングルクオーテイション無し
Query OK 1 row affected (0.01 sec)
mysql> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values(null,19,19); ERROR
mysql> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values(20,null,sadachika); ERROR
mysql> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values(21,null,null); *シングルクオーテイション無し
Query OK 1 row affected (0.03 sec)
mysql> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values(21,null,'sadachika'); ERROR
Query OK 1 row affected (0.03 sec)
mysql> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values(22,null,'22'); *シングルクオーテイションの数字はOK
Query OK 1 row affected (0.03 sec)
文字が入力ができない
INT型は英語が入力できず、数字のみの入力が可能みたい(シングルクオーテイション有る無しにかかわらず)
○テーブルの中身の表示
mysql> select * from sadachi_nulltest;
sada_num1 sada_num2 sada_num3
12 12 12
13 13 13
13 NULL NULL
14 14 14
16 NULL NULL
17 NULL 18
21 NULL NULL
22 NULL 22
○テーブルの詳細情報を取得する
mysql> show table status\G
SHOW TABLE STATUS FROM sadachika_books LIKE 'sadachi_nulltest'\G
**************** 1.row **********************
Name: sadachi_unlltest
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 8 *8回の入力がカウントされた
Avg_row_length: 2048
Data_length: 16384
Max_data_length: 0
Index_length: 0
Data_free: 0
Auto_increment: NULL
Create_time: 2013-07-04 04:01:43
Update_time: NULL
Check_time: NULL
Collation: utf8_general_ci
Checksum: NULL
Create_options:
Comment:
○現在接続されているデーターベース
MySQL> select database();
database()
sadachika_books *データベースsadachika_booksへ接続されている
* 参考にしたサイトは→ こちら です。
これは赤色の文字例です。
これは青色の文字例です。