Help us understand the problem. What is going on with this article?

【sql学習】MySQLコマンド 簡単な日本の都道府県別の人口表を作る

More than 1 year has passed since last update.

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;
  • テーブルの構造を表示する 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

YNanshin
2019年4月からフリーランスのエンジニアとして活動しています WordPress/PHP/Python/MySQL/Datadog/Kibana/Elasticsearch/Github
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away