about
日本の都道府県別の人口表(簡易版)のテーブルを作るのに使ったMySQLコマンドを乗せます。
todo
下記のような日本の都道府県別の人口表を作る。
pref_name | population |
---|---|
徳島 | 200 |
香川 | 400 |
愛媛 | 300 |
高知 | 400 |
福岡 | 600 |
佐賀 | 200 |
長崎 | 400 |
東京 | 800 |
群馬 | 100 |
index
- MySQLにログイン(mysql -u root -p)
- データベース(database)
- データベース一覧を確認(show databases)
- データベースを選択する(user db_name)
- テーブル(table)
- テーブル一覧を表示(show tables)
- テーブルを作成(create table tbl_name)
- テーブルに値(データ)を挿入(insert into tbl_name)
- テーブルに値(データ)が追加されたか確認(select * from tbl_name)
- カラム(Columns)
- カラムの追加(alter table tbl_name add column column_definition)
- カラムの削除(alter table tbl_name drop column col_name)
- カラムの確認(show columns from tbl_name)
truouble(対応中)
- ①テーブルに値(データ)を挿入したとき(たとえば、”富山”)char型カラムに1文字しか表示されない。
- ②上記の問題を解決するため、テーブルを新規作成するとき、カラムの型に"varchar"を指定したいが下記のエラーが出る。
ERROR 1064(42000): You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the
right syntax to user near ' population int),' at line 1
Done List
- mysqlにログイン
$ mysql -u root -p
- データベース一覧を確認する
$ show databases;
- データベースを選択する
$ use data_name;
- テーブル一覧を表示する
$ show tables;
- テーブル作成
$ create table tbl_name col_name1 data_type1, col_name2 data_type2 );
- テーブル削除
drop table tbl_name;
- テーブルに値(データ)を挿入
$ insert into tbl_name(col_name1,col_name2) values(date1,date2);
- 実行結果(オーバーフローエラー)。5.6からチェックが厳格になっている
ERROR 1406(22001): Data too long for column 'pref_name' at row1
- 対策:SQL文にIGNOREを入れる
$ insert ignore into tbl_name(col_name1,col_name2) values(date1,date2);
- テーブルに値が追加されたかを確認する
mysql> select * fom PopTbl;
- 実行結果(オーバーフローエラー)。5.6からチェックが厳格になっている
- テーブルの構造を表示する
show columns from tbl_name;
- カラムを削除する
alter table tbl_name drop [column] col_name;
- カラムの情報を取得して、削除されたことを確認する
show columns from tbl_name;
- カラムの情報を取得して、削除されたことを確認する
- カラムを追加する
mysql> alter table goods
型にvarcharを指定すると下記のエラーが出る
ERROR 1064(42000): You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version
for the right syntax to use near '' at line 1