• ベストアンサー

SQLについて

Access2007 で次のような表を作成するためのSQLを教えてください。 PLAYERS表(選手表) PID(選手ID) PANME(選手氏名)   M001    JUMBO OZAKI         M002    KING KAZU   M003    ANIKI KANEMOTO また、テーブル作成をするときにSQLを入力することができません。入力するための方法も教えていただけるとありがたいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

リボンの [作成] タブを開き、[クエリ デザイン] ボタンをクリック。 新規クエリの作成画面が開き、同時に [テーブルの表示] ダイアログが出る。 [テーブルの表示] ダイアログの [閉じる] ボタンをクリック。 リボンは自動的に [デザイン] タブに切り替わっていると思うので、一番左端の [SQL 表示] となっているボタンの [SQL] の部分をクリック。 デザイン画面が SQL 入力画面になる。 ここで任意の SQL を入力して実行が可能。 テーブルの仕様が何も書いていないので質問文からそのまんま書いてみる。 CREATE TABLE PLAYERS表 (PID CHAR, PANME CHAR); 書いたら [実行] をクリック。 テーブル名やフィールド名に "(" のような危なさそうな文字をあえて入れるのであれば "[" と "]" で囲む。 CREATE TABLE [PLAYERS表(選手表)] ([PID(選手ID)] CHAR, [PANME(選手氏名)] CHAR);

marukozozo
質問者

補足

ありがとうございます。本当に助かりました。 また、  M001    JUMBO OZAKI         M002    KING KAZU   M003    ANIKI KANEMOTO のデータを入力するにはどうずればよいのでしょうか。よろしくお願いします。

その他の回答 (1)

回答No.2

一から十まで聞く内容でもないと思いますので「レコード追加 SQL」で web 検索してみてくださいな。 気に入ったサイトがあったらブックマークしておくと良いでしょう。 レコードの削除や変更などの SQL も学べると思います。 頑張ってください。

関連するQ&A

  • SQL文について

    MYSQLで次のような表を作成するためのSQLを教えてください。 (1)PLAYERS表のPID列はその表の主キー PLAYERS表(選手表) PID(選手ID) PANME(選手氏名)   M001    JUMBO OZAKI         M002    KING KAZU   M003    ANIKI KANEMOTO (2)RESULTS表のGIDとPID列はその表の複合キーであり、主キーになっている。 RESULTS表(成績表) GID(大会ID) PID(選手ID) SCORE(スコア) HIUCUP08    M001     72 HIUCUP08    M002     75 JPNCUP09    M001     70 JPNCUP09    M002     76 JPNCUP09    M003     68 (3)各々の表について設定されたデータのSQL のとき、次のようなSQL文を入力してもエラーが出ます。 (1)PLAYERSテーブル作成SQL ---------- CREATE TABLE PLAYERS ( PID char(4) NOT NULL, PNAME varchar(255) NOT NULL, PRIMARY KEY (PID) ); ---------- (2)RESULTSテーブル作成SQL ---------- CREATE TABLE RESULTS ( GID char(8) NOT NULL, PID char(4) NOT NULL, SCORE int(11) NOT NULL, PRIMARY KEY (GID,PID) ); ---------- (3)データ作成SQL <PLAYERSテーブル> ---------- INSERT INTO PLAYERS (PID, PNAME) VALUES ('M001', 'JUMBO OZAKI'), ('M002', 'KING KAZU'), ('M003', 'ANIKI KANEMOTO'); ---------- <RESULTSテーブル> ---------- INSERT INTO RESULTS (GID, PID, SCORE) VALUES ('HIUCUP08', 'M001', 72), ('HIUCUP08', 'M002', 75), ('JPNCUP09', 'M001', 70), ('JPNCUP09', 'M002', 76), ('JPNCUP09', 'M003', 68); ---------- なぜエラーが発生するのか教えてください。

    • ベストアンサー
    • MySQL
  • MYSQLでデータベースの作成

    MYSQLで次のような表を作成するためのSQLを教えてください。 (1)PLAYERS表のPID列はその表の主キー PLAYERS表(選手表) PID(選手ID) PANME(選手氏名)   M001    JUMBO OZAKI         M002    KING KAZU   M003    ANIKI KANEMOTO (2)RESULTS表のGIDとPID列はその表の複合キーであり、主キーになっている。 RESULTS表(成績表) GID(大会ID) PID(選手ID) SCORE(スコア) HIUCUP08    M001     72 HIUCUP08    M002     75 JPNCUP09    M001     70 JPNCUP09    M002     76 JPNCUP09    M003     68 (3)各々の表について設定されたデータのSQL よろしくおねがいします。

    • ベストアンサー
    • MySQL
  • プログラミングについて

    PLAYERS表 PID(選手ID)  PNAME(選手氏名) M001       JUMBO OZAKI M002       KING KAZU 主キーは、PID で、プログラムを作成するのですがエラーが出ます。 create tabre PLAYERS ( PID char(4), PNAME varchar(15), primary key (PID) ); と、入力すると ERROR 1050 (42S01):table "players" already exists と表示されます。

    • ベストアンサー
    • MySQL
  • MYSQL文について

    MYSQLで次のような表を元に(1)(2)(3)を作成するためのSQLを教えてください。 (1)PLAYERS表のPID列はその表の主キー PLAYERS表(選手表) PID(選手ID) PANME(選手氏名)   M001    JUMBO OZAKI         M002    KING KAZU   M003    ANIKI KANEMOTO (2)RESULTS表のGIDとPID列はその表の複合キーであり、主キーになっている。 RESULTS表(成績表) GID(大会ID) PID(選手ID) SCORE(スコア) HIUCUP08    M001     72 HIUCUP08    M002     75 JPNCUP09    M001     70 JPNCUP09    M002     76 JPNCUP09    M003     68 (1)RESULTS表から、スコア「(SCORE)が72以下の行を取り出し、大会ID(GID)、選手ID(PID)、スコア(SCORE)を表示する。ただし、スコア(SCOE)の昇順に表示する。 (2)RESULTS表を対象に、選手ごとに、選手ID(PID)、大会の参加数、スコア(SCORE)の平均を表示する。大会への参加回数は集合関数COUNR(*)を、スコアの平均は集合関数AVG(SCORE)を利用すればよい。 (3)スコアが72より小さかったすべての成績について、大会IDと選手氏名、スコアを選手氏名の昇順に表示する。PLAYERS表とRESULTS表を結合すればよい。 よろしくおねがいします。

    • ベストアンサー
    • MySQL
  • プログラミングの詳しい人へ

    MY SQLでプログラムを作成してますがうまくいきません。 PLAYERS表 ーーーーーーーーーーーーーーー l PID(選手ID)lPNAME(選手名)l lーーーーーーーーーーーーー--l  主キーはPID で、 create table PLAYERS ( PID char (4), PNAME varchar, primary key(PID) ); と入力するとエラーが出ます。 エラーメッセージは、 ERROR 1064(42000):You have an error in your SQL syntax,check the manual tthat corresponds to your my SQL server version for the right syntax to use near'primary key(PID) )' at line 4 と表示されます。 自分では、ちゃんと表の定義をして正しいと思うのですが?

    • ベストアンサー
    • MySQL
  • MYSQLのストアドでの動的SQLについて

    MYSQL初心者ですが、よろしくお願いします。 MYSQL(ver5.5)でストアドプロシージャを作成しようと思います。 WEBの検索画面に入力された条件に応じて、WHERE句を動的に作成したいのです。 例えば、WEBの検索画面の検索条件に、 (1)氏名 (2)住所 (3)電話番号 があり、(1)と(3)に入力された場合は、 あるテーブルの検索条件を WHERE 氏名=入力氏名 AND 電話番号=入力電話番号 のように動的にSQLを作成したいです。 (条件に応じて、静的なSQLを使い分けるやりかたはしたくない) このような動的なSQLはストアドプロシージャで作成できのでしょうか? よろしくお願いします。

    • ベストアンサー
    • MySQL
  • SQL文でexistsの使い方がわかりません。

    受注表と作業員表のデータベースをaccessで作りました。 受注表の中には受注CD、作業開始時間、作業終了時間、作業日、作業員1、作業員2のフィールドがあります。 作業員表には氏名、作業可能開始時間、作業可能終了時間 作業可能日のフィールドがあります。 受注表に登録する作業員の氏名を一覧表で表示させたいときはどのようなSQL文を作れば良いのでしょうか? 受注表には作業日が同じで作業開始時間と作業終了時間が重なるものがあり、その場合には先に受注した作業に担当者1か担当者2として登録されている作業員は一覧表に表示させないようにしたいのですがやり方がわかりません。not existsの中が特にわかりません。 select 氏名 from 作業員表 where 作業可能開始時間 <= 1430 and 作業可能終了時間 >= 1530 and 作業可能日=2010/10/1 and not exists (select * from 受注表 where 受注表.作業員1 = 作業員表.氏名 or 受注表.作業員2 = 作業員表.氏名 and 受注表.作業開始時間 <= 1430 and 受注表.作業終了時間 >= 1530 and 受注表.作業日=2010/10/1) 上記のSQL文を作って受注表に登録されていない作業員を表示させようと試してみましたが失敗しました。 作業日、作業開始時間、作業終了時間はフォームを作成してそこで入力します。

  • SQL 列名が無効です。

    Microsoft SQL Server Management Studio 2008 にて、SQLを作成しています。 入金テーブルに下記の2項目が入力されています。 1.通貨 2.額  通貨は円とドルしか存在しません。 そして10万円相当以降の通貨と額だけを抜きとりたいのです。 私が作成したSQLは、 SELECT CASE WHEN 入金テーブル.通貨 = 'ドル' THEN 入金テーブル.額 * 80 (為替レート1ドル80円の場合)   ELSE 入金テーブル.額 END As 入金額 FROM 入金テーブル WHERE 入金額 > 100000 別名の入金額が値として認められないのが、問題だと思いますが、 どうしたらいいのでしょうか? よろしくお願いします。

  • SQL Server7.0での特殊な結合演算子について

    最近、SQLServer7.0をいれて勉強しています。 http://www.techscore.com/tech/sql/index.html を参考に勉強しています。 そこの特殊な結合演算子の自然結合,指定結合ができません。 受注表、顧客表は「テーブルの結合」のところのテーブルを作成しました. NATURAL JOINの結合やON句を使う指定結合をやると 「列のプレフィックス '受注表' は、テーブル名と一致しないか、クエリ内の別名と一致しません」 というエラーがでます。WHERE句を使った結合だとできます。 何が問題なのでしょうか。 参考HPには「SQL92はある種の共通する結合操作を簡単に実行できるように、特別な構文を用意している」 とかいてあるですが、 SQLServer7.0にはバージョンが古すぎてSQL92がないってことなんでしょうか。 SQLServerをはじめたばかりなので、あまりくわしくないのですが、是非ともご教授よろしくおねがいします。

  • SQL Serverのテーブル追加を、Accessに反映させたいのですが・・・

    SQL Server Enterprise Manager でテーブルの行を追加したのですがが、 リンクさせているAccessのテーブルに反映されません。 会社のDBで、テーブルをSQL Serverで作成し、 Accessへリンクさせています。 通常の入力業務はAccessで行っています。 このDBを作成した前任者が退職してしまい、 DBを管理できる人がいない状況です。 ネットで調べたところ、SQL Serverで、 「パブリケーションの新規作成」を行うか、 「DTSインポート/エクスポート」を行う必要がありそうなのですが、 これらの違いもわからず、 またAccesDBへの影響がわからず、うかつに試せない状況です。 SQL Server、Access共に全く明るくないため、 つたない文章で申し訳ありませんが、 どなたか、テーブルの追加を反映させる方法を 教えて頂けませんでしょうか。