テーブルのデフォルト値の設定 Default 0 '定近の未記入' free49
お手本 mysql> create table defaulttest(num int default 0,
-> str varchar(10) default '未入力');
○テーブルを作る
mysql> create table sadachika_books.sadachi_defaulttest(sada_num int default 0,
-> sada_str varchar(10) default '定近の未入力');
*データベースsadachika_booksフォルダの中に、2つのファイルが作られた。
sadachi_defaulttest.frm
sadachi_defaulttest.ibd
サクラエディタでdb.optファイルを開いてみる
default-character-set=utf8
default-collation=utf8_general_ci
○テーブルの構造を見る
mysql> show columns from sadachika_books.sadachi_defaulttest; *columns(新聞など印刷物の)縦の段; 欄.
Field Type Null Key Default Extra
sada_num int(11) YES 0 *Defaultの項目が0設定にになった データが未記入の場合は0が入る カラム名sada_num INT型
sada_str varchar(10) YES 定近の未記入 *Defaultの項目が'定近の未記入'になった カラム名sada_str VARCHAR型
SHOW COLUMNS FROM sadachi_defaulttest FROM sadachika_books LIKE 'sada_num';
Field Type Null Key Default Extra
sada_num int(11) YES 0 *Defaultの項目が'0'になった カラム名sada_num INT型
SHOW COLUMNS FROM sadachi_defaulttest FROM sadachika_books LIKE 'sada_str';
Field Type Null Key Default Extra
sada_str varchar(10) YES 定近の未記入 *Defaultの項目が'定近の未記入'になった カラム名sada_str VARCHAR型
○作成したテーブル(sadachi_defaulttest)の定義を確認してみる
mysql> show create table sadachika_books.sadachi_defaulttest\G
*********** 1. row **************
Table: sadachi_defaulttest
Create Table: CREATE TABLE 'sadachi_defaulttest'(
'sada_num' int(11) DEFAULT '0', *DEFAULT '0'に設定された カムラの名前sada_num、INT型
'sada_str' varchar(10) DEFAULT '定近の未記入', *カムラの名前sada_str、VARCHAR型
) 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> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values('12','12','12');
mysql> insert into sadachika_books.sadachi_defaulttest(sada_num) values(5);
Query OK 1 row affected (0.03 sec)
insert into sadachika_books.sadachi_defaulttest(sada_num,sada_str) values(null,6);
Query OK 1 row affected (0.02 sec)
insert into sadachika_books.sadachi_defaulttest(sada_num,sada_str) values(); *ERROR
insert into sadachika_books.sadachi_defaulttest(sada_num,sada_str) values(null,null);
Query OK 1 row affected (0.00 sec)
insert into sadachika_books.sadachi_defaulttest(sada_str) values('広島県');
Query OK 1 row affected (0.00 sec)
○テーブルの中身の表示
mysql> select * from sadachika_books.sadachi_defaulttest;
sada_num sada_str
5 定近の未入力
NULL 6
NULL NULL *NULLがそのまま出力されちゃった
0 広島県 *↓この設定にしないとまずかったかも
mysql> create table sadachika_books.sadachi_nulltest(sada_num1 int not null, sada_num2 int null, sada_num3 int);
mysql> show columns from sadachika_books.sadachi_nulltest; *columns(新聞など印刷物の)縦の段; 欄.
Field Type Null Key Default Extra
sada_num1 int(11) NO NULL *Nullの項目がNO無効になった
○テーブルを作る
mysql> create table sadachika_books.sadachi_defaulttest2(sada_num int not null default 0,
-> sada_str varchar(10) not null default '定近の未入力');
Query OK 1 row affected (0.02 sec)
○テーブルの構造を見る
mysql> show columns from sadachika_books.sadachi_defaulttest2; *columns(新聞など印刷物の)縦の段; 欄.
Field Type Null Key Default Extra
sada_num int(11) NO 0 *Defaultの項目が0設定にになった データが未記入の場合は0が入る カラム名sada_num INT型
sada_str varchar(10) NO 定近の未記入 *Defaultの項目が'定近の未記入'になった カラム名sada_str VARCHAR型
○作成したテーブル(sadachi_defaulttest2)の定義を確認してみる
mysql> show create table sadachika_books.sadachi_defaulttest2\G
*********** 1. row **************
Table: sadachi_defaulttest2
Create Table: CREATE TABLE 'sadachi_defaulttest2'(
'sada_num' int(11) NOT NULL DEFAULT '0', *NOT NULLになった*DEFAULT '0'に設定された カムラの名前sada_num、INT型
'sada_str' varchar(10) NOT NULL DEFAULT '定近の未記入', *NOT NULLになった*カムラの名前sada_str、VARCHAR型
) 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> insert into sadachika_books.sadachi_nulltest(sada_num1, sada_num2, sada_num3) values('12','12','12');
mysql> insert into sadachika_books.sadachi_defaulttest2(sada_num) values(5);
Query OK 1 row affected (0.03 sec)
insert into sadachika_books.sadachi_defaulttest2(sada_num,sada_str) values(null,6); *ERROR
insert into sadachika_books.sadachi_defaulttest2(sada_num,sada_str) values(); *ERROR
insert into sadachika_books.sadachi_defaulttest2(sada_num,sada_str) values(null,null); *ERROR
insert into sadachika_books.sadachi_defaulttest2(sada_str) values('広島県');
Query OK 1 row affected (0.00 sec)
○テーブルの中身の表示
mysql> select * from sadachika_books.sadachi_defaulttest2;
sada_num sada_str *入力は2項目のみ 今度は入力段階でNULLがエラー
5 定近の未入力
0 広島県
○現在接続されているデーターベース
MySQL> select database();
database()
NULL *どこにも接続されてないみたい
○テーブルの詳細情報を取得する
mysql> show table status\G
公式SHOW TABLE STATUS LIKE 'pattern';
SHOW TABLE STATUS LIKE 'sadachi_goods';
SHOW TABLE STATUS LIKE 'sadachi_goods'\G
公式SHOW TABLE STATUS FROM db_name LIKE 'pattern';
SHOW TABLE STATUS FROM sadachika_books LIKE 'sadachi_defaulttest';
SHOW TABLE STATUS FROM sadachika_books LIKE 'sadachi_defaulttest'\G
SHOW TABLE STATUS FROM sadachika_books LIKE 'sadachi_defaulttest'\G
**************** 1.row **********************
Name: sadachi_defaulttest
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 22:43:03
Update_time: NULL
Check_time: NULL
Collation: utf8_general_ci
Checksum: NULL
Create_options:
Comment:
SHOW TABLE STATUS FROM sadachika_books LIKE 'sadachi_defaulttest2'\G
**************** 1.row **********************
Name: sadachi_defaulttest2
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 2 *2項目の入力
Avg_row_length: 8192
Data_length: 16384
Max_data_length: 0
Index_length: 0
Data_free: 0
Auto_increment: NULL
Create_time: 2013-07-04 23:30:46
Update_time: NULL
Check_time: NULL
Collation: utf8_general_ci
Checksum: NULL
Create_options:
Comment:
* 参考にしたサイトは→ こちら です。
これは赤色の文字例です。
これは青色の文字例です。