タグ付けされた質問 「sql」

構造化照会言語(SQL)は、データベースを照会するための言語です。質問には、コード例、テーブル構造、サンプルデータ、使用するDBMS実装(MySQL、PostgreSQL、Oracle、MS SQL Server、IBM DB2など)のタグを含める必要があります。質問が特定のDBMSにのみ関連している場合(特定の拡張機能を使用)、代わりにそのDBMSのタグを使用してください。SQLでタグ付けされた質問への回答には、ISO / IEC標準SQLを使用する必要があります。

10
SELECT * FROM tablename WHERE 1
気になった。これらのそれぞれのクエリの違いは何ですか? SELECT * FROM `tablename` SELECT * FROM `tablename` WHERE 1 SELECT * FROM `tablename` WHERE 1=1
129 sql  select-query 

4
共有テーブル構造を持つマルチテナントデータベースを作成するにはどうすればよいですか?
私たちのソフトウェアは現在MySQLで実行されています。すべてのテナントのデータは同じスキーマに格納されます。Ruby on Railsを使用しているため、どのデータがどのテナントに属しているかを簡単に判別できます。ただし、データが危険にさらされるのではないかと恐れている企業もあるので、他のソリューションを評価しています。 これまでのところ、3つのオプションを見てきました。 マルチデータベース(各テナントは独自に取得します-顧客ごとに1つのサーバーとほぼ同じです) マルチスキーマ(MySQLでは使用不可、各テナントは共有データベースで独自のスキーマを取得します) 共有スキーマ(現在のアプローチ。各列に追加の識別レコードがある場合があります) Multi-Schemaは私のお気に入りです(コストを考えると)。ただし、新しいアカウントを作成して移行を行うのは、すべてのスキーマを繰り返し処理し、それらのテーブル/列/定義を変更する必要があるため、非常に困難なようです。 Q:マルチスキーマは、テナントごとにわずかに異なるテーブルを持つように設計されているようです-これは必要ありません。テーブル構造がすべてのテナント間で共有されているマルチスキーマ、マルチテナントソリューションを使用できるRDBMSはありますか? PSマルチとは、ウルトラマルチ(10000以上のテナント)のようなものを意味します。

4
コンマ区切りリストとしてのMySQL結果
次のようなクエリを実行する必要があります。 SELECT p.id, p.name, (SELECT name FROM sites s WHERE s.id = p.site_id) AS site_list FROM publications p ただし、副選択で、データの列ではなく、コンマ区切りのリストを返すようにしたい これは可能ですか?可能な場合、どのように?
129 sql  mysql  concatenation 

11
調査のためのデータベース設計[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 2年前休業。 この質問を改善する 回答をデータベースに保存する調査を作成する必要があります。これをデータベースに実装するための最良の方法は何ですか、特に必要なテーブルだけだと思います。調査にはさまざまな種類の質問が含まれています。例:コメントのテキストフィールド、複数選択の質問、および複数の回答を含む可能性のある質問(つまり、該当するものすべてをチェックしてください)。 私は2つの可能な解決策を考え出しました: 各調査の提出に対する回答を含む巨大なテーブルを作成します。各列は、調査の回答に対応します。つまり、SurveyID、Answer1、Answer2、Answer3 この調査には多くの質問があり、調査を変更する場合はあまり柔軟ではないため、これが最良の方法だとは思いません。 もう1つ考えたのは、質問テーブルと回答テーブルの作成です。質問表には、調査のすべての質問が含まれます。回答テーブルには、調査からの個々の回答が含まれ、各行が質問にリンクされます。 簡単な例: tblSurvey:SurveyID tblQuestion:QuestionID、SurveyID、QuestionType、Question tblAnswer:AnswerID、UserID、QuestionID、Answer tblUser:UserID、UserName これに関する私の問題は、Answerテーブルをかなり巨大にする大量の回答が存在する可能性があることです。パフォーマンスに関しては、それがそれほど素晴らしいことかどうかはわかりません。 任意のアイデアや提案をいただければ幸いです。



3
一意制約の命名規則
命名規則は重要であり、主キーと外部キーは一般的に使用されている明白な規則(PK_TableおよびFK_Table_ReferencedTable、それぞれ)。IX_Table_Columnインデックスの命名もかなり標準的です。 UNIQUE制約についてはどうですか?この制約に対して一般的に受け入れられている命名規則はありますか?私が見てきたUK_TableName_Column、UQ_TableName_Columnと誰かが推薦するAX_TableName_Column-それがどこから来るか私は知りません。 私は通常使用しましたUQが、特に好きではありませんUK。支持者に対して使用するという私の選択を擁護する必要がありません。 私は、最も一般的なネーミングについてコンセンサスがあるのか​​、それともなぜ他の人よりも理にかなっているのかについての正当な理由があるのか​​どうかを知りたいだけです。

6
Eclipse用の軽量SQLエディター[終了]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 5年前休業。 この質問を改善する Eclipseに簡単なSQLエディターはありますか?または、Eclipse用のシンプルなSQLエディタープラグインを見つける必要がありますか? シンプルなIの平均値により、エディタがない、NOT任意のDBに接続し、構文の強調表示し、好ましくは、SQLの書式を設定することはボーナスです。


13
文字列を整数にキャストし、PostgreSQLでのキャストでエラーが発生した場合は0にするにはどうすればよいですか?
PostgreSQLでは、varchar列を持つテーブルがあります。データは整数であることが想定されており、クエリで整数型で必要です。一部の値は空の文字列です。以下: SELECT myfield::integer FROM mytable 収量 ERROR: invalid input syntax for integer: "" postgresでのキャスト中にエラーが発生した場合、キャストを照会して0にするにはどうすればよいですか?
128 sql  postgresql  casting 

17
データベーススキーマをどのようにバージョン管理しますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 10か月前に閉鎖。 この質問を改善する SQLデルタをどのように準備しますか?スキーマを変更する各SQLを手動でデルタフォルダーに保存しますか、それとも何らかの自動化された差分プロセスを使用しますか? データベーススキーマとソースコードをバージョン管理するための規則に興味があります。おそらく、スキーマを比較するpre-commitフックですか? また、どのようなデルタを差分のためのオプションが別に存在しDbDeploy? 編集:回答を見て、デルタを使用してデータベースの移行を実行するための標準的なスキームに精通していることを明確にしたいと思います。私の質問は、デルタ自体を、できれば自動的に作成することです。 また、違いがある場合、バージョン管理はPHPとMySQL向けです。(Rubyソリューションはありません)。
128 sql  mysql  schema  versioning 

17
SQLキーワードに大文字を使用する十分な理由はありますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 この質問を改善する デフォルトは大文字のようですが、キーワードに大文字を使用する理由は本当にありますか?新しいストアドプロシージャのようなものを作成しようとするたびに、SQL Serverが提供するものと一致させようとしただけだったので、大文字を使い始めました。でも、Shiftボタンを押しっぱなしにしておく必要のある5番目の赤ちゃんの指がひどいので、大文字の使用をやめました。大文字に戻すべき理由は何ですか? 編集:回答をありがとう。私はCOBOLが王だった当時はまだプログラミングをしていなかったので、これに気づきませんでした。これから小文字のままにします。

3
SQLスクリプトのエラー:バッチごとに許可されるステートメントは1つだけです
PostDeploymentのDACPACで実行したい4つのSQLスクリプトがありますが、そのうちの3つのVSプロジェクトをビルドしようとすると、次のエラーが発生します。 Only one statement is allowed per batch. A batch separator, such as 'GO', might be required between statements. スクリプトにはINSERT、DBの異なるテーブルのステートメントのみが含まれます。そしてそれらすべてはそのように構成されています IF NOT EXISTS (SELECT 1 FROM dbo.Criteria WHERE Name = 'Mileage') INSERT INTO dbo.Criteria(Name) VALUES ('Mileage'); 異なるテーブルと異なるデータでのみ。 私の質問は、構文と操作の点ですべてのスクリプトが同じであるのに、VSが3つについて不平を言うのはなぜですか? PS:エラーが示唆するようにステートメントの間に「GO」を追加しても何も起こりません。


12
1つのコマンドで外部キー制約を含む新しい列を追加する
外部キーとなる新しい列を追加しようとしています。2つの個別のALTER TABLEコマンドを使用して、列と外部キー制約を追加できました。 ALTER TABLE one ADD two_id integer; ALTER TABLE one ADD FOREIGN KEY (two_id) REFERENCES two(id); 2つではなく1つのALTER TABLEコマンドでこれを行う方法はありますか?私はうまくいくものを思いつくことができませんでした。
128 sql 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.