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

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

6
Oracle SQLのテーブルのすべての制約の名前を表示する
Oracle SQLで作成した複数のテーブルの各制約に名前を定義しました。 問題は、特定のテーブルの列の制約を削除するために、私が忘れていた各制約に指定した名前を知る必要があることです。 テーブルの各列に指定した制約の名前をすべてリストするにはどうすればよいですか? そのためのSQLステートメントはありますか?

16
すべてのテーブルのすべてのフィールドで特定の値を検索する(Oracle)
すべてのテーブルのすべてのフィールドでOracleの特定の値を検索することは可能ですか? 一部のテーブルには数千の行を持つ数百のテーブルがあるため、クエリを実行するには非常に長い時間がかかる可能性があることを知っています。しかし、私が知っている唯一のことは、照会したいフィールドの値がであることです1/22/2008P09RR8。< 以下のステートメントを使用して、名前を付ける必要があると思うものに基づいて適切な列を見つけようとしましたが、結果は返されませんでした。 SELECT * from dba_objects WHERE object_name like '%DTN%' このデータベースに関するドキュメントはまったくなく、このフィールドがどこから取得されているのかわかりません。 何かご意見は?

8
PostgreSQLの存在しない場合、CREATE DATABASEをシミュレートしますか?
JDBCでは存在しないデータベースを作りたい。MySQLとは異なり、PostgreSQLはcreate if not exists構文をサポートしていません。これを達成するための最良の方法は何ですか? アプリケーションは、データベースが存在するかどうかを認識しません。それはチェックする必要があり、データベースが存在する場合はそれを使用する必要があります。したがって、目的のデータベースに接続することは理にかなっており、データベースが存在しないために接続が失敗した場合は、(デフォルトのpostgresデータベースに接続することによって)新しいデータベースを作成する必要があります。Postgresから返されたエラーコードを確認しましたが、同じ種類の関連コードは見つかりませんでした。 これを実現する別の方法は、postgresデータベースに接続し、目的のデータベースが存在するかどうかを確認し、それに応じてアクションを実行することです。2つ目は、作業するのが少し面倒です。 Postgresでこの機能を実現する方法はありますか?
115 sql  database  postgresql  jdbc  ddl 

13
SELECT INTO OUTFILEを使用してMySQL Errcode 13を回避するにはどうすればよいですか?
MySQL SELECT INTO OUTFILEステートメントを使用して、テーブルの内容をcsvファイルにダンプしようとしています。私が行った場合: SELECT column1, column2 INTO OUTFILE 'outfile.csv' FIELDS TERMINATED BY ',' FROM table_name; outfile.csvは、このデータベースのファイルが格納されているのと同じディレクトリのサーバーに作成されます。 ただし、クエリを次のように変更すると、 SELECT column1, column2 INTO OUTFILE '/data/outfile.csv' FIELDS TERMINATED BY ',' FROM table_name; 私は得ます: ERROR 1 (HY000): Can't create/write to file '/data/outfile.csv' (Errcode: 13) Errcode 13は権限エラーですが、/ dataの所有権をmysql:mysqlに変更して777権限を付与しても取得されます。MySQLはユーザー「mysql」として実行されています。 不思議なことに、ユーザーmysqlがディレクトリに書き込むことができるように権限を設定しても、私が試した他のディレクトリではなく、/ tmpにファイルを作成できます。 これはUbuntuで実行されているMySQL 5.0.75です。
114 mysql  sql  into-outfile 

10
SQLiteテーブルから列を削除する
問題があります。SQLiteデータベースから列を削除する必要があります。私はこのクエリを書きました alter table table_name drop column column_name しかし、それは機能しません。私を助けてください。
114 sql  sqlite  ddl 

7
SQLステートメントで常にパラメーターを使用することを好むのはなぜですか?
私はデータベースを扱うことに非常に慣れていません。今私は書くことができますSELECT、UPDATE、DELETE、およびINSERTコマンド。しかし、私は私たちが書くことを好む多くのフォーラムを見てきました: SELECT empSalary from employee where salary = @salary ...の代わりに: SELECT empSalary from employee where salary = txtSalary.Text なぜ常にパラメーターを使用することを好み、どのように使用するのですか? 最初の方法の使用方法と利点を知りたいと思いました。SQLインジェクションについてさえ聞いたことがありますが、完全には理解していません。SQLインジェクションが私の質問に関連しているかどうかもわかりません。

9
MySQLオフセット無限行
すべての結果をテーブルに表示するが、テーブルの先頭から5だけオフセットされているクエリを作成したいと思います。私の知る限り、MySQLにLIMITはオフセットと同様に制限が必要です。これを行う方法はありますか?
114 mysql  sql  sql-limit 

13
データベーステーブルの列にリストを格納する方法
だから、あたりに関連する質問への答えMehrdad、私はそれを得る「適切な」データベース表の列がリストを格納していないこと。むしろ、上記のリストの要素を効果的に保持する別のテーブルを作成してから、直接または結合テーブルを介してそれにリンクする必要があります。ただし、作成するリストのタイプは、一意のアイテムで構成されます(リンクされた質問のフルーツとは異なります)例)。さらに、リスト内の項目は明示的に並べ替えられています。つまり、要素を別のテーブルに保存した場合、アクセスするたびに並べ替える必要があります。最後に、リストは基本的にアトミックです。リストにアクセスしたいときはいつでも、リストの一部ではなくリスト全体にアクセスしたいので、データベースクエリを発行して複数のリストを集めるのはばかげているようです。リスト。 AKXのソリューション(上記にリンク)は、リストをシリアル化してバイナリ列に格納することです。しかし、シリアル化と逆シリアル化について心配する必要があることを意味するため、これも不便に思われます。 より良い解決策はありますか?より良い解決策がない場合、なぜですか?この問題は時々発生するようです。 ...私がどこから来たのかを知らせるためのもう少しの情報。SQLとデータベースの一般的な理解を始めた直後に、LINQ to SQLに切り替えられました。オブジェクトがどのように動作するかを考えずにプログラミングオブジェクトモデルを扱うことを期待しているので、今は少し甘やかされています。照会またはデータベースに格納されます。 皆さんありがとう! ジョン 更新:それで、私が得ている最初の一連の答えで、「CSV / XMLルートに行くことはできますが、しないでください!」と表示されます。だから今私はその理由の説明を探しています。いくつかの良い参考文献を教えてください。 また、私が今何をしているのかをよりよく理解するために:私のデータベースには、(x、y)ペアのリストを持つFunctionテーブルがあります。(この表には、説明に影響しない他の情報も含まれます。)(x、y)ペアのリストの一部を見る必要はありません。むしろ、私はそれらすべてを取り、画面上にプロットします。ユーザーがノードをドラッグして値を変更したり、プロットに値を追加したりできるようにします。

12
パラメータが文字列でない場合、SQLクエリをパラメータ化しないことは安全ですか?
SQLインジェクションに関しては、stringパラメーターをパラメーター化する必要性を完全に理解しています。それは本の中で最も古いトリックの1つです。しかし、いつパラメーター化しないことが正当化できるのSqlCommandでしょうか?パラメータ化しないで「安全」と見なされるデータ型はありますか? たとえば、私はSQLの専門家の近くにいるとは考えていませんが、SQLインジェクションに対して脆弱で、a boolまたはan を受け入れ、それをintクエリに直接連結する可能性があるとは考えられません。 私の仮定は正しいですか、それとも私のプログラムに大きなセキュリティの脆弱性を残す可能性がありますか? 明確にするために、この質問にはタグが付けられています c#これは強く型付けされた言語です。私が言うとき、「パラメータを、」のようなものだと思います public int Query(int id)。


11
SQLを使用してデータベーステーブルの列の名前を変更するにはどうすればよいですか?
SQLを使用してSQLデータベースで列の名前を変更するだけの場合(列のタイプや制約を変更せず、名前だけを変更する場合)、どうすればよいですか?それとも不可能ですか? これは、SQLをサポートしていると主張するすべてのデータベースのためのものです。実際のデータベースの実装に関係なく機能するSQL固有のクエリを探しています。



4
MySQLの2つの単一列インデックスと1つの2列索引?
次の問題に直面しましたが、何がベストプラクティスなのかわかりません。 次の表を検討してください(これは大きくなります)。 id PK | giver_id FK | recipient_id FK | 日付 私はInnoDBを使用しており、私が理解していることから、2つの外部キー列のインデックスが自動的に作成されます。ただし、次の特定の組み合わせに一致させる必要があるクエリも多数実行します。 SELECT...WHERE giver_id = x AND recipient_id = t。 そのような各組み合わせは、テーブル内で一意になります。 これらの列に2列のインデックスを追加するメリットはありますか、または理論的には2つの個別のインデックスで十分/同じですか?

10
PostgreSQLで重複するレコードを削除する
PostgreSQL 8.3.8データベースにテーブルがあり、キー/制約がなく、まったく同じ値の複数の行があります。 すべての重複を削除して、各行のコピーを1つだけ保持したいと思います。 特に、「キー」という名前の列が1つあり、重複を識別するために使用できます(つまり、「キー」ごとに1つのエントリのみが存在する必要があります)。 これどうやってするの?(理想的には単一のSQLコマンドを使用)この場合、速度は問題になりません(数行しかない)。

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