SQLサーバー入門

(2006.11 更新)

以下に進む前に、SQLサーバ用のパスワードを受取ってください



演習課題1:

SQLサーバに接続し、以下を行う。


SQLサーバーの利用

演習室PCとは別の場所にあるSQLサーバにネットワークで接続し、サーバー上のデータベースで共同作業を行う。

上記作業でSQLをgoで実行してエラーが起きなければ、goでSQLが実行されるたびに、サーバ側のデータベースに記録が完了される。(よって特にファイルを「保存」などの処置はしなくてよい


追加課題

・ データベース testdb の collection テーブルで、name と cost を結合して表示する。
  ※osql の画面上では、日本語文字列の文字の表示の幅は、全角=半角2文字に
    換算されない。
    よって、 select name,cost で表示しようとすると、桁ぞろえが正しく行われない。
  cost の表示を桁数を揃えて表示する様に工夫する。
  ヒント:
   name + cast(cost as varchar)
   で、文字列型に変換して name と結合
  cost の左側に + 演算子で、 適当な長さの空白文字列"       "を結合
    "##########" + cast(cost as varchar)
  right 関数で right(文字列, 長さ) を指定し、右側から、固定長で文字列を切り取る
  最終的には、
   select name + right( ?????? , ??)
  の様な感じになる。
・ use db学籍番号
 とし、再び、自分用のデータベースの使用を開始する。
 create table mylist ( name varchar(20) , cost int)
 で、テーブルを作成し、
 insert into mylist (name , cost) select name, cost from testdb.dbo.collection where 適当な条件
 で、自分のデータベースのテーブルにデータを取り込む
※ 条件に関して: mylistで指定した cost フィールドのデータ型は int で32bitの整数値が格納できます。
 しかし、collectionテーブルのcostはこの範囲を超える値が格納されている為、cost に関して、適当な値以下のものだけinsertするようにしてください。

 上記のSelect文で、 testdb.dbo.collection の部分は、 データベース名.所有者.テーブル名
 の書式になっており、 testdbデータベース中の、dbo の、collectionテーブルを意味する。

・ mylist に update や delete を使用して、レコードの更新・削除の練習をする
  testdbのcolllection表では、 update と deleteが禁止されていましたが、こちらのテーブルでは操作可能です。
 試しに、レコードを修正・削除してみてください。