คำถามติดแท็ก sql

Structured Query Language (SQL) เป็นภาษาสำหรับการสืบค้นฐานข้อมูล คำถามควรมีตัวอย่างรหัสโครงสร้างตารางข้อมูลตัวอย่างและแท็กสำหรับการใช้งาน DBMS (เช่น MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 และอื่น ๆ ) หากคำถามของคุณเกี่ยวข้องกับ DBMS เฉพาะ (ใช้ส่วนขยาย / คุณลักษณะเฉพาะ) ให้ใช้แท็กของ DBMS นั้นแทน คำตอบของคำถามที่ติดแท็กด้วย SQL ควรใช้ SQL มาตรฐาน ISO / IEC

6
MySQL: ธุรกรรมเทียบกับตารางการล็อก
ฉันสับสนเล็กน้อยกับการทำธุรกรรมและการล็อกตารางเพื่อให้แน่ใจว่าฐานข้อมูลมีความสมบูรณ์และตรวจสอบให้แน่ใจว่า SELECT และ UPDATE ยังคงซิงค์อยู่และไม่มีการเชื่อมต่ออื่นใดรบกวน ฉันจำเป็นต้อง: SELECT * FROM table WHERE (...) LIMIT 1 if (condition passes) { // Update row I got from the select UPDATE table SET column = "value" WHERE (...) ... other logic (including INSERT some data) ... } ฉันต้องตรวจสอบให้แน่ใจว่าไม่มีการสอบถามอื่นใดที่จะรบกวนและดำเนินการแบบเดียวกันSELECT(อ่าน 'ค่าเก่า' ก่อนที่การเชื่อมต่อนั้นจะอัปเดตแถวเสร็จสิ้น ฉันรู้ว่าฉันสามารถตั้งค่าเริ่มต้นเพื่อLOCK TABLES tableตรวจสอบให้แน่ใจว่ามีการเชื่อมต่อเพียงครั้งละ 1 …

9
SQL SELECT speed int เทียบกับ varchar
ฉันอยู่ในขั้นตอนการสร้างตารางและมันทำให้ฉันสงสัย ถ้าฉันเก็บไว้บอกว่ารถที่มียี่ห้อ (fx BMW, Audi ect.) มันจะสร้างความแตกต่างกับความเร็วในการสืบค้นหรือไม่ถ้าฉันเก็บ make เป็น int หรือ varchar ก็คือ SELECT * FROM table WHERE make = 5 AND ...; เร็ว / ช้ากว่า SELECT * FROM table WHERE make = 'audi' AND ...; หรือความเร็วจะมากหรือน้อยเท่ากัน?


9
วิธีง่ายๆในการเปลี่ยนคอลัมน์และแถวใน SQL?
ฉันจะสลับคอลัมน์ด้วยแถวใน SQL ได้อย่างไร มีคำสั่งง่ายๆในการเปลี่ยนหรือไม่? เช่นเปิดผลลัพธ์นี้: Paul | John | Tim | Eric Red 1 5 1 3 Green 8 4 3 5 Blue 2 2 9 1 ในสิ่งนี้: Red | Green | Blue Paul 1 8 2 John 5 4 2 Tim 1 3 9 Eric 3 5 1 PIVOT …
110 sql  sql-server  tsql  pivot 

8
SQL เข้าร่วมกับแบบสอบถามย่อยของ SQL (ประสิทธิภาพ)?
ฉันต้องการทราบว่าฉันมีแบบสอบถามเข้าร่วมบางอย่างเช่นนี้ - Select E.Id,E.Name from Employee E join Dept D on E.DeptId=D.Id และแบบสอบถามย่อยเช่นนี้ - Select E.Id,E.Name from Employee Where DeptId in (Select Id from Dept) เมื่อฉันพิจารณาประสิทธิภาพของคำค้นหาใดที่จะเร็วกว่าและเพราะเหตุใด มีเวลาที่ควรชอบมากกว่ากันไหม? ขออภัยหากนี่เป็นเรื่องเล็กน้อยเกินไปและถามมาก่อน แต่ฉันสับสนเกี่ยวกับเรื่องนี้ นอกจากนี้จะเป็นการดีมากหากพวกคุณสามารถแนะนำเครื่องมือที่ฉันควรใช้เพื่อวัดประสิทธิภาพของคำค้นหาสองรายการ ขอบคุณมาก!

5
เป็นไปได้ไหมที่จะย้อนกลับคำสั่ง CREATE TABLE และ ALTER TABLE ในฐานข้อมูล SQL หลัก
ฉันกำลังทำงานกับโปรแกรมที่ออก DDL ฉันต้องการทราบว่าCREATE TABLEDDL ที่คล้ายกันนี้สามารถย้อนกลับได้หรือไม่ Postgres MySQL SQLite และคณะ อธิบายว่าแต่ละฐานข้อมูลจัดการธุรกรรมกับ DDL อย่างไร

13
บันทึกธุรกรรมสำหรับฐานข้อมูลเต็ม
ฉันมีขั้นตอนการดำเนินการที่ยาวนานซึ่งเก็บธุรกรรมที่เปิดไว้ตลอดระยะเวลาเต็ม ฉันไม่สามารถควบคุมวิธีดำเนินการนี้ได้ เนื่องจากธุรกรรมถูกเปิดไว้ตลอดระยะเวลาเต็มเมื่อบันทึกธุรกรรมกรอก SQL Server ไม่สามารถเพิ่มขนาดของล็อกไฟล์ได้ "The transaction log for database 'xxx' is full"ดังนั้นกระบวนการล้มเหลวด้วยข้อผิดพลาด ฉันพยายามป้องกันปัญหานี้โดยการเพิ่มขนาดของไฟล์บันทึกธุรกรรมในคุณสมบัติฐานข้อมูล แต่ฉันได้รับข้อผิดพลาดเดียวกัน ไม่แน่ใจว่าควรลองอะไรต่อไป กระบวนการนี้ใช้เวลาหลายชั่วโมงดังนั้นจึงไม่ใช่เรื่องง่ายที่จะเล่นแบบลองผิดลองถูก ความคิดใด ๆ ? หากใครสนใจกระบวนการนี้เป็นการนำเข้าองค์กร Microsoft Dynamics CRM 4.0. มีพื้นที่ดิสก์มากมายเรามีการเข้าสู่ระบบในโหมดการบันทึกอย่างง่ายและได้สำรองข้อมูลบันทึกไว้ก่อนที่จะเริ่มกระบวนการ - = - = - = - = - อัปเดต - = - = - = - = - ขอบคุณสำหรับความคิดเห็นจนถึงตอนนี้ ต่อไปนี้เป็นสิ่งที่ทำให้ฉันเชื่อว่าบันทึกจะไม่เติบโตเนื่องจากธุรกรรมที่เปิดอยู่: ฉันได้รับข้อผิดพลาดต่อไปนี้ ... …

10
MySQL INNER JOIN เลือกเพียงหนึ่งแถวจากตารางที่สอง
ฉันมีusersตารางและpaymentsตารางสำหรับผู้ใช้แต่ละรายที่มีการชำระเงินอาจมีการชำระเงินที่เกี่ยวข้องหลายรายการในpaymentsตาราง ฉันต้องการเลือกผู้ใช้ทั้งหมดที่มีการชำระเงิน แต่เลือกเฉพาะการชำระเงินล่าสุดเท่านั้น ฉันกำลังลองใช้ SQL นี้ แต่ฉันไม่เคยลองใช้คำสั่ง SQL ที่ซ้อนกันมาก่อนเลยอยากรู้ว่าฉันทำอะไรผิด ขอบคุณสำหรับความช่วยเหลือ SELECT u.* FROM users AS u INNER JOIN ( SELECT p.* FROM payments AS p ORDER BY date DESC LIMIT 1 ) ON p.user_id = u.id WHERE u.package = 1
110 mysql  sql  select  inner-join 

7
ฟังก์ชัน COALESCE ใน TSQL
ใครช่วยอธิบายว่าฟังก์ชัน COALESCE ใน TSQL ทำงานอย่างไร ไวยากรณ์มีดังนี้ COALESCE (x, y) เอกสาร MSDN ในฟังก์ชันนี้ค่อนข้างคลุมเครือ

14
การแปลง ResultSet เป็น JSON ที่มีประสิทธิภาพสูงสุด?
รหัสต่อไปนี้แปลงResultSetเป็นสตริง JSON ใช้และJSONArrayJSONObject import org.json.JSONArray; import org.json.JSONObject; import org.json.JSONException; import java.sql.SQLException; import java.sql.ResultSet; import java.sql.ResultSetMetaData; public class ResultSetConverter { public static JSONArray convert( ResultSet rs ) throws SQLException, JSONException { JSONArray json = new JSONArray(); ResultSetMetaData rsmd = rs.getMetaData(); while(rs.next()) { int numColumns = rsmd.getColumnCount(); JSONObject obj = new JSONObject(); …
109 java  sql  json  resultset 

3
วิธีสร้าง Sequelize ให้ใช้ชื่อตารางเอกพจน์
ฉันมีโมเดลที่เรียกว่า User แต่ Sequelize จะค้นหา USERS ตารางเมื่อใดก็ตามที่ฉันพยายามบันทึกใน DB ใครทราบวิธีตั้งค่า Sequelize ให้ใช้ชื่อตารางเอกพจน์ ขอบคุณ.


4
วิธีที่ดีที่สุดในการทดสอบการสืบค้น SQL [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ ฉันประสบปัญหาในกรณีที่เรามีการสืบค้น SQL ที่ซับซ้อนอยู่เสมอโดยมีข้อผิดพลาด โดยพื้นฐานแล้วสิ่งนี้ส่งผลให้ส่งอีเมลไปยังลูกค้าที่ไม่ถูกต้องและ 'ปัญหา' อื่น ๆ เช่นนั้น ประสบการณ์ของทุกคนในการสร้างแบบสอบถาม SQL เช่นนั้นคืออะไร? เรากำลังสร้างข้อมูลกลุ่มประชากรตามรุ่นใหม่ทุกสัปดาห์ ดังนั้นนี่คือความคิดและข้อ จำกัด บางประการของฉัน: การสร้างข้อมูลทดสอบในขณะที่สิ่งนี้จะพิสูจน์ได้ว่าเรามีข้อมูลที่ถูกต้องทั้งหมด แต่ก็ไม่ได้บังคับใช้การยกเว้นความผิดปกติในการผลิต นั่นเป็นข้อมูลที่ถือว่าผิดในปัจจุบัน แต่อาจจะถูกต้องเมื่อ 10 ปีก่อน มันไม่ได้รับการจัดทำเป็นเอกสารดังนั้นเราจึงรู้หลังจากที่ดึงข้อมูลแล้วเท่านั้น สร้างแผนภาพเวนน์และแผนที่ข้อมูลดูเหมือนว่าจะเป็นวิธีที่ดีในการทดสอบการออกแบบแบบสอบถาม แต่ก็ไม่ได้รับประกันว่าการนำไปใช้นั้นถูกต้อง ทำให้นักพัฒนาวางแผนล่วงหน้าและคิดถึงสิ่งที่เกิดขึ้นขณะเขียน ขอบคุณสำหรับข้อมูลที่คุณสามารถให้กับปัญหาของฉัน
109 sql  unit-testing 

6
ฉันจะแทรกค่าวันที่และเวลาลงในฐานข้อมูล SQLite ได้อย่างไร
ฉันกำลังพยายามแทรกค่าวันที่และเวลาลงในฐานข้อมูลSQLite ดูเหมือนจะประสบความสำเร็จ แต่เมื่อฉันพยายามดึงค่ามีข้อผิดพลาด: <ไม่สามารถอ่านข้อมูล> คำสั่ง SQL คือ: create table myTable (name varchar(25), myDate DATETIME) insert into myTable (name,mydate) Values ('fred','jan 1 2009 13:22:15')
109 sql  datetime  sqlite 

21
จะเปลี่ยนลำดับคอลัมน์ในตารางโดยใช้แบบสอบถาม sql ใน sql Server 2005 ได้อย่างไร
วิธีการเปลี่ยนลำดับคอลัมน์ในตารางโดยใช้แบบสอบถาม SQL ใน SQL Server 2005 ฉันต้องการจัดเรียงลำดับคอลัมน์ในตารางใหม่โดยใช้แบบสอบถาม SQL

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.