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

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

5
จะสร้าง Guid ใหม่ในขั้นตอนการจัดเก็บได้อย่างไร?
ขณะนี้ฉันมีขั้นตอนการจัดเก็บที่ฉันต้องการแทรกแถวใหม่ลงในตาราง insert into cars (id, Make, Model) values('A new Guid', "Ford", "Mustang") ดังนั้นคีย์หลัก 'id' จึงเป็น Guid ฉันรู้วิธีสร้าง Guid ใหม่ในรหัส C # แต่ภายในขั้นตอนการจัดเก็บฉันไม่แน่ใจว่าจะสร้าง Guids ใหม่สำหรับค่าคีย์หลักได้อย่างไร




3
จะรับ / สร้างคำสั่งสร้างสำหรับตารางรังที่มีอยู่ได้อย่างไร
สมมติว่าคุณมี "ตาราง" อยู่แล้วใน Hive มีวิธีที่รวดเร็วเหมือนกับฐานข้อมูลอื่น ๆ ในการรับคำสั่ง "สร้าง" สำหรับตารางนั้นหรือไม่?
95 sql  hive  hiveql 

6
ประกาศตัวแปรใน SQLite และใช้งาน
ฉันต้องการประกาศตัวแปรใน SQLite และใช้ในinsertการดำเนินการ เช่นเดียวกับใน MS SQL: declare @name as varchar(10) set name = 'name' select * from table where name = @name ตัวอย่างเช่นผมจะต้องได้รับและใช้ในlast_insert_rowinsert ฉันพบบางอย่างเกี่ยวกับการผูกมัด แต่ฉันไม่เข้าใจมันจริงๆ

10
จัดกลุ่มเป็นช่วงเวลา 5 นาทีภายในช่วงเวลา
ฉันมีปัญหากับคำสั่ง mySQL ที่ฉันต้องการทำ SELECT a.timestamp, name, count(b.name) FROM time a, id b WHERE a.user = b.user AND a.id = b.id AND b.name = 'John' AND a.timestamp BETWEEN '2010-11-16 10:30:00' AND '2010-11-16 11:00:00' GROUP BY a.timestamp นี่คือคำสั่งผลลัพธ์ปัจจุบันของฉัน timestamp name count(b.name) ------------------- ---- ------------- 2010-11-16 10:32:22 John 2 2010-11-16 10:35:12 John 7 …
94 mysql  sql  group-by 


2
อัปเดตตาราง MySQL หนึ่งตารางด้วยค่าจากตารางอื่น
ฉันกำลังพยายามอัปเดตตาราง MySQL โดยอิงจากข้อมูลอื่น originalตารางของฉันดูเหมือนว่า: id | value ------------ 1 | hello 2 | fortune 3 | my 4 | old 5 | friend และtobeupdatedตารางดูเหมือนว่า: uniqueid | id | value --------------------- 1 | | something 2 | | anything 3 | | old 4 | | friend 5 | | fortune …
94 mysql  sql 

6
ประสิทธิภาพของตัวดำเนินการ MySQL“ IN” บนจำนวนค่า (ใหญ่?)
ฉันได้ทดลองกับ Redis และ MongoDB เมื่อไม่นานมานี้และดูเหมือนว่ามักจะมีหลายกรณีที่คุณจะเก็บอาร์เรย์ของidไว้ใน MongoDB หรือ Redis ฉันจะติดกับ Redis สำหรับคำถามนี้ตั้งแต่ฉันถามเกี่ยวกับ MySQL ในการประกอบการ ฉันสงสัยว่านักแสดงเป็นอย่างไรในการแสดงรายการIDจำนวนมาก (300-3000) ในตัวดำเนินการ IN ซึ่งจะมีลักษณะดังนี้: SELECT id, name, price FROM products WHERE id IN (1, 2, 3, 4, ...... 3000) ลองนึกภาพง่ายๆอย่างตารางผลิตภัณฑ์และหมวดหมู่ซึ่งโดยปกติคุณอาจเข้าร่วมด้วยกันเพื่อรับผลิตภัณฑ์จากหมวดหมู่หนึ่งๆ ในตัวอย่างด้านบนคุณจะเห็นว่าภายใต้หมวดหมู่ที่กำหนดใน Redis ( category:4:product_ids) ฉันส่งคืนรหัสผลิตภัณฑ์ทั้งหมดจากหมวดหมู่ด้วยรหัส 4 และวางไว้ในSELECTข้อความค้นหาด้านบนภายในตัวINดำเนินการ นักแสดงเป็นอย่างไร? นี่คือสถานการณ์ "ขึ้นอยู่กับ" หรือไม่? หรือมีรูปธรรม "นี่คือ (ไม่) ยอมรับ" หรือ …

4
การฉายภาพและการเลือกคืออะไร?
อะไรคือความแตกต่างระหว่างการฉายภาพและการเลือก? ใช่ไหม: การฉายภาพ -> สำหรับการเลือกคอลัมน์ของตาราง และ การเลือก ---> เพื่อเลือกแถวของตาราง? การฉายภาพและการเลือกมีการหั่นแนวตั้งและแนวนอนตามลำดับหรือไม่?

5
SCOPE_IDENTITY () สำหรับ GUID หรือไม่
ใครช่วยบอกฉันได้ไหมว่าSCOPE_IDENTITY()เมื่อใช้ GUID เป็นคีย์หลักใน SQL Server มีความเท่าเทียมกันหรือไม่ ฉันไม่ต้องการสร้าง GUID ก่อนและบันทึกเป็นตัวแปรเนื่องจากเราใช้ GUID ตามลำดับเป็นคีย์หลักของเรา มีความคิดเห็นเกี่ยวกับวิธีใดที่ดีที่สุดในการดึงคีย์หลัก GUID ที่แทรกล่าสุด

16
เหตุใดการรวมจึงไม่ดีเมื่อพิจารณาถึงความสามารถในการปรับขนาด
เหตุใดการเข้าร่วมจึงไม่ดีหรือ 'ช้า' ฉันรู้ว่าฉันได้ยินสิ่งนี้อีกครั้ง เจอคำพูดนี้ ปัญหาคือการรวมค่อนข้างช้าโดยเฉพาะอย่างยิ่งในชุดข้อมูลที่มีขนาดใหญ่มากและหากพวกเขาช้าเว็บไซต์ของคุณก็ช้า ใช้เวลานานในการแยกบิตข้อมูลทั้งหมดออกจากดิสก์และรวบรวมข้อมูลทั้งหมดเข้าด้วยกันอีกครั้ง แหล่งที่มา ฉันคิดเสมอว่าพวกเขาเร็วโดยเฉพาะเมื่อมองหา PK ทำไมพวกเขาถึง 'ช้า'?
94 sql  join 

6
ฉันจะสร้างแบบสอบถาม SQL ที่กำหนดพารามิเตอร์ได้อย่างไร ทำไมฉันถึงควร?
ฉันได้ยินมาว่า "ทุกคน" กำลังใช้การสืบค้น SQL ที่กำหนดพารามิเตอร์เพื่อป้องกันการโจมตีด้วยการแทรก SQL โดยไม่จำเป็นต้องยกเลิกการป้อนข้อมูลของผู้ใช้ทุกชิ้น คุณจะทำอย่างไร? คุณได้รับสิ่งนี้โดยอัตโนมัติเมื่อใช้กระบวนงานที่จัดเก็บไว้หรือไม่? ดังนั้นความเข้าใจของฉันจึงไม่ถูกกำหนดพารามิเตอร์: cmdText = String.Format("SELECT foo FROM bar WHERE baz = '{0}'", fuz) สิ่งนี้จะถูกกำหนดพารามิเตอร์หรือไม่ cmdText = String.Format("EXEC foo_from_baz '{0}'", fuz) หรือฉันต้องทำอะไรให้กว้างขวางกว่านี้เพื่อป้องกันตัวเองจากการฉีด SQL? With command .Parameters.Count = 1 .Parameters.Item(0).ParameterName = "@baz" .Parameters.Item(0).Value = fuz End With มีข้อดีอื่น ๆ ในการใช้แบบสอบถามแบบกำหนดพารามิเตอร์นอกเหนือจากข้อพิจารณาด้านความปลอดภัยหรือไม่? อัปเดต: บทความที่ยอดเยี่ยมนี้เชื่อมโยงกับหนึ่งในคำถามที่อ้างอิงโดย Grotok http://www.sommarskog.se/dynamic_sql.html

6
ฉันจะให้สิทธิ์ผู้ดูแลระบบเข้าถึงอินสแตนซ์ SQL Server ในเครื่องได้อย่างไร
ฉันติดตั้ง SQL Server 2008 R2 ลงในเครื่องของฉัน แต่ฉันไม่สามารถสร้างฐานข้อมูลใหม่ได้เนื่องจากสิทธิ์ (หรือขาด) "สร้างฐานข้อมูลที่ถูกปฏิเสธ" ดังนั้นฉันจึงพยายามกำหนดสิทธิ์ผู้ดูแลระบบให้กับการเข้าสู่ระบบปัจจุบันของฉัน "ผู้ใช้ไม่ได้รับอนุญาตให้ดำเนินการนี้" ฉันยังพยายามสร้างการเข้าสู่ระบบใหม่ที่จะมีสิทธิ์ระดับผู้ดูแลระบบ แต่ไม่มีโชค ฉันจะให้สิทธิ์ผู้ดูแลระบบด้วยตนเองเพื่อสร้างฐานข้อมูลได้อย่างไร ฉันสามารถติดตั้งใหม่ได้ แต่ฉันไม่ต้องการ

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