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

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


5
SQL複数列の順序
SQLで複数の列を使用して、さまざまな方向でソートしようとしています。column1降順、column2昇順でソートされます。 これどうやってするの?
635 sql  sql-order-by 

12
MySQLで一重引用符、二重引用符、およびバッククォートを使用する場合
クエリを書くための最良の方法を学ぼうとしています。一貫性を保つことの重要性も理解しています。これまでは、一重引用符、二重引用符、バッククォートを無作為に使用してきました。 例: $query = 'INSERT INTO table (id, col1, col2) VALUES (NULL, val1, val2)'; また、上記の例では、と考えてtable、col1、val1、などの変数かもしれません。 これの基準は何ですか?職業はなんですか? 私はここで同様の質問に対する回答を約20分間読んでいますが、この質問に対する明確な回答はないようです。
633 mysql  sql  quotes 

21
SQL ServerでのINSERT OR UPDATEのソリューション
のテーブル構造を想定しますMyTable(KEY, datafield1, datafield2...)。 多くの場合、既存のレコードを更新するか、存在しない場合は新しいレコードを挿入します。 基本的に: IF (key exists) run update command ELSE run insert command これを書くのに最も良い方法は何ですか?

30
列の最大値を持つ行をフェッチします
テーブル: UserId, Value, Date. UserId、各UserIdのmax(Date)の値を取得したい。つまり、最新の日付を持つ各UserIdの値です。これをSQLで簡単に行う方法はありますか?(できればOracle) 更新:あいまいさをお詫びします:すべてのユーザーIDを取得する必要があります。ただし、各UserIdについては、そのユーザーが最新の日付を持っている行のみ。



15
SQL SELECT WHEREフィールドに単語が含まれています
このような結果を返す選択が必要です: SELECT * FROM MyTable WHERE Column1 CONTAINS 'word1 word2 word3' そして、私はすべての結果が必要です。つまり、これには、「word2 word3 word1」または「word1 word3 word2」または他の3つの組み合わせの文字列が含まれます。 すべての単語が結果に含まれている必要があります。
562 sql  select 


9
mysqldumpで特定のテーブルをスキップする
mysqldumpコマンドから特定のテーブルを制限する方法はありますか? たとえば、次の構文を使用して、table1とtable2 のみをダンプします。 mysqldump -u username -p database table1 table2 > database.sql しかし、table1とtable2 を除くすべてのテーブルをダンプする同様の方法はありますか?mysqldumpのドキュメントで何も見つからなかったので、ブルートフォース(すべてのテーブル名を指定)が唯一の方法ですか?
558 sql  mysql  database  mysqldump 

24
SQLiteデータベースに一度に複数の行を挿入することは可能ですか?
MySQLでは、次のように複数の行を挿入できます。 INSERT INTO 'tablename' ('column1', 'column2') VALUES ('data1', 'data2'), ('data1', 'data2'), ('data1', 'data2'), ('data1', 'data2'); しかし、このようなことをしようとするとエラーが発生します。SQLiteデータベースに一度に複数の行を挿入することは可能ですか?それを行うための構文は何ですか?
551 sql  sqlite  syntax 

17
mysqldumpからダンプファイルを復元するにはどうすればよいですか?
Windows Server 2008マシンのデータベースとして復元する必要があるMySQLデータベースファイルが提供されました。 MySQL Administratorを使用してみましたが、次のエラーが発生しました: 選択したファイルはmysqldumpによって生成されたため、このアプリケーションでは復元できません。 これを機能させるにはどうすればよいですか?
544 mysql  sql  database 


11
存在しないか存在しない
これらのクエリのどれが高速ですか? 存在しません: SELECT ProductID, ProductName FROM Northwind..Products p WHERE NOT EXISTS ( SELECT 1 FROM Northwind..[Order Details] od WHERE p.ProductId = od.ProductId) またはない: SELECT ProductID, ProductName FROM Northwind..Products p WHERE p.ProductID NOT IN ( SELECT ProductID FROM Northwind..[Order Details]) クエリ実行プランは、両方が同じことを行うと言います。その場合、どちらがお勧めのフォームですか? これは、NorthWindデータベースに基づいています。 [編集] この役立つ記事を見つけました:http : //weblogs.sqlteam.com/mladenp/archive/2007/05/18/60210.aspx NOT EXISTSに固執すると思います。
538 sql  sql-server  notin 

18
SQLite-INSERTまたはREPLACEではなくUPSERT
http://en.wikipedia.org/wiki/Upsert SQL Serverに更新ストアドプロシージャを挿入する SQLiteでこれを行うために私が考えていなかった賢い方法はありますか? 基本的に、レコードが存在する場合は4つのカラムのうち3つを更新します。レコードが存在しない場合は、4番目のカラムのデフォルト(NUL)値でレコードを挿入します。 IDは主キーであるため、UPSERTへのレコードは1つしかありません。 (明らかに更新または挿入する必要があるかどうかを判断するために、SELECTのオーバーヘッドを回避しようとしています) 提案? SQLiteサイトでTABLE CREATEの構文を確認できません。テスト用のデモは作成していませんが、サポートされていないようです。 もしそうなら、私は3つの列を持っているので、実際には次のようになります: CREATE TABLE table1( id INTEGER PRIMARY KEY ON CONFLICT REPLACE, Blob1 BLOB ON CONFLICT REPLACE, Blob2 BLOB ON CONFLICT REPLACE, Blob3 BLOB ); ただし、最初の2つのblobは競合を引き起こさず、IDのみが発生するので、(必要に応じて)Blob1とBlob2は置き換えられません。 バインドデータが完全なトランザクションである場合のSQLiteでのUPDATEは、更新される送信された各行に以下が必要であることを意味します。 ステートメントオブジェクトの寿命は次のようになります。 sqlite3_prepare_v2()を使用してオブジェクトを作成します sqlite3_bind_インターフェイスを使用して値をホストパラメータにバインドします。 sqlite3_step()を呼び出してSQLを実行します sqlite3_reset()を使用してステートメントをリセットし、手順2に戻って繰り返します。 sqlite3_finalize()を使用してステートメントオブジェクトを破棄します。 UPDATE INSERTに比べて遅いと思いますが、主キーを使用したSELECTと比較するとどうですか? おそらく、selectを使用して4番目の列(Blob3)を読み取り、REPLACEを使用して、元の4番目の列と最初の3列の新しいデータをブレンドした新しいレコードを書き込む必要がありますか?
535 sql  sqlite  upsert 

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