MySQL – カラムの追加・変更・削除

カラムの追加

最後尾に追加

以下のコマンドで最後尾に新しいカラムが追加される。追加されたカラムのフィールド値には初期値が設定される。

以下、実行例。

先頭に追加

FIRSTを指定すると、新たな列が先頭に追加される。

指定位置への追加

AFTERで指定したカラムの後に新たな列が追加される。

カラムの変更

名称と型の変更

カラムの名前や型の変更ALTERコマンドを使う。

CHANGEでフィールド名と型を同時に変更する。

以下、実行例。

型のみの変更

型のみの変更はMODIFY

以下、実行例。

 

カラムの削除

以下のコマンドで、指定したカラムを削除できる。

以下、実行例。

 

 

MySQL – レコードの追加・変更・削除

レコードの追加

全フィールド追加

INSERT INTO ~ VALUESコマンドで、全フィールドの内容をフィールドの順番通りに追加する。

以下、実行例。

フィールドを指定した追加

フィールドを指定した実行は次の通り。

以下、実行例。

フィールドの一部だけを指定すると、指定していないフィールドには初期値が設定される。

レコードの変更

レコードのフィールド値の変更はUPDATE ~ SET ~ WHEREコマンドを使う。

以下、実行例。

UPDATEの注意点

UPDATEコマンドは必ずWHEREで対象となるレコードを指定する。さもないと、全レコードのフィールドが指定した内容で変更されてしまう。

レコードの削除

レコードの削除は、DELETE FROM ~ WHEREコマンドで行う。

以下、実行例。

DELETEの注意点

DELETEコマンドでWHEREを省略すると、全データが削除されてしまうので注意。

 

QGIS – マルチポリゴン化

マルチポリゴンの意義

国土数値情報の行政界データでは、離島や飛び地がある自治体はそれぞれが独立したポリゴンとなっていて、それぞれに同じ自治体名が付けられている。ただし自治体番号の後ろに連番を付けた番号が付けられている。

これら同じ自治体に複数のポリゴンがある場合、自治体オブジェクトとしては一つとして、それが複数のポリゴンをもつようなマルチポリゴンにする方が有効な場合が多い。

たとえば自治体単位での面積を求める場合、一つの自治体を指定すれば全ポリゴンの面積を加えられる。またラベルを表示する場合、マルチポリゴンにしなければ一つひとつの島や飛び地にも自治体名が表示されてしまうが、集約すれば一つの自治体に一つだけラベルが付けられる。

マルチポリゴンのほかにはラインやポイントを集約する場合もあり、それらは総称してマルチパートと呼ばれている。これに対して一つのオブジェクトに一つのポリゴンが対応しているのをシングルポリゴン(シングルパート)と呼ぶ。

QGISでのマルチポリゴン化

QGISでシングルポリゴンをマルチポリゴンに変更するには以下のように操作する。

  1. メニューから「ベクタ」→「ジオメトリツール」→「シングルパートをマルチパートに集約」
  2. 集約のキーとなるユニークなフィールドを指定
  3. 集約後のshpファイルを保存する場所とファイル名を指定
  4. 実行

まずメニューから「シングルパートをマルチパートに集約」を選択。

 

注意点

処理時間

全国のデータをマルチパート化するとかなり時間がかかる。Core i5のマシンで2時間近くかかった。

マルチパートのデータ

シングルパーツのオブジェクトが面積などのデータを持っていた場合、マルチパートに集約すると、先頭のアイテムのデータが代表となってマルチパートのデータになる。

行政改データの境界未定地

行政界データをマルチポリゴン化する場合、集約キーとなるユニークフィールドに市町村名を用いると、各都道府県の所属未定地が全国で同じ名前となり、ひとまとめになってしまう。これを回避するため、新たにフィールドをつくり、値を都道府県名+市町村名とすれば、所属未定地も都道府県単位で分割される。

 

MySQL – テーブルの追加・確認・変更・複製・削除

追加

テーブルの追加

テーブルの追加はCREATE TABLEコマンドで行う。

以下、実行例。

カラムの追加

テーブルにカラムを追加する場合はALTER TABLE ... ADDを使う。

確認

テーブル一覧の確認

テーブル一覧の確認はSHOW TABLESコマンド。

テーブル構造の確認

テーブル構造の確認はDESCまたはDESCRIBEコマンド。

変更

テーブル名の変更

テーブルのカラム名・カラムの型の変更

テーブルのカラム名やカラムの型の変更ALTER TABLE ... CHANGEALTER TABLE ... MODIFYで行う。

複製

テーブルの複製

テーブルの複製は、MySQLの場合、CREATE TABLEとSSELECT文を組み合わせる。

削除

テーブルの削除

テーブルの削除はDROP TABLEコマンド。

テーブルのカラムの削除

テーブルのカラムを削除する場合はALTER TABLE ... DROP COLUMNとする。

 

MySQL – データベースの作成・権限付与・削除

データベースの作成

基本コマンド

データベースの作成はCREATE DATABASEコマンドを使う。

文字コードと照合順序

データベースの文字コードと照合順序(COLLATE~照合順序)を指定して作成するコマンド。

CREATE DATABALSE db_name CHARACTER SET char_set COLLATE collation_name;

たとえばutf8mb4の場合の例

さくらレンタルサーバー

さくらレンタルサーバーの場合はwebのコントロールパネルでデータベースを作成・削除する方法のみが示されていて、コンソールでのコマンド操作はエラーとなる。

データベースアクセスの権限設定

必要に応じて、ユーザーへのデータベースアクセスの権限を設定する。

GRANT ALL PRIVILEGES ON dbname.* TO dbuser@'localhost'

データベースの削除

データベースの削除にはDROP DATABASEコマンドを使う。

存在しないデータベースを削除しようとするとエラーになるが、DROP DATABASE IF EXISTSコマンドを使うと、データベースが存在しない場合もエラーにならない。

 

 

QGIS – 属性テーブルの操作

テーブル構成の操作

テーブル構成を操作するときはメニューから「レイヤ」→「プロパティ」で開いたダイアログで「フィールド」を選択し、テーブル構成のペインを開いて操作する。

フィールドの追加・削除

  1. 編集モード切替ボタンを押して編集モードに切り替え
  2. フィールド追加の場合は「新規フィールドボタン」
  3. フィールド削除の場合はフィールドを選択して「フィールド削除」ボタン

フィールド計算機

他のフィールドの値を使った計算結果を表示させる。

  1. 属性テーブルのダイアログでフィールド計算機のボタンを押してダイアログ表示
  2. 新規フィールドをつくるか既存フィールドを使うかを選択
  3. 計算式を入力
  4. Okボタンで実行

項目名変更

項目名変更はテーブル構成操作のダイアログで別名を定義する方法と、プロセッシングツールから行う方法がある。

データの操作

テーブルのデータを操作するときは、「属性テーブルを開く」ボタンを押すか、レイヤパネルのレイヤ名を右クリックして「属性テーブルを開く」でテーブルを表示させる。

 

さくらレンタルサーバーのタイムアウト対策

さくらレンタルサーバーにSSH接続すると、少し時間がたって(2分程度)強制的にサーバ側で接続が切られてしまう。

これを回避するには、ターミナルソフトのSSHの設定でKeepAliveパケットを一定時間ごとに送信するようにするとよい。

この設定にチェックを入れ、値を60(秒)に設定すると、強制切断はされなくなった。

 

MySQL – データベースの一覧表示と接続・確認

既存のデータベースを確認するコマンドはSHOW DATABASES;

データベースに接続するにはuseコマンドを使う。useコマンドは最後にセミコロン(;)を入れなくてもよい。

以降、useコマンドで接続するデータベースを切り替えることができる。

接続中のデータベースの確認

接続中のデータベースの確認方法は、以下の二通り。

または

以下、実行例。

 

Linuxコマンド – alias

さくらサーバで用いられているaliasコマンドの書き方。

たとえばlsaという名前でls -aを実行させたい時は以下のように入力。

登録済みのエイリアスの一覧は引数なしでaliasコマンド。

エイリアスを削除するにはunaliasコマンド。

さくらサーバのデフォルトでは、.cshrcファイルにエイリアスが登録されている。

このファイルに新たなaliasを追加することができる。