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

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


5
postgresql - เพิ่มคอลัมน์บูลีนเป็นค่าเริ่มต้นของชุดตาราง
นี่เป็นไวยากรณ์ postgresql ที่เหมาะสมหรือไม่เพื่อเพิ่มคอลัมน์ในตารางที่มีค่าเริ่มต้นเป็น false ALTER TABLE users ADD "priv_user" BIT ALTER priv_user SET DEFAULT '0' ขอบคุณ!
159 sql  postgresql 

14
แบบสอบถามย่อยเข้าร่วม
ฉันปรับโครงสร้างส่วนที่ช้าของแอปพลิเคชันที่เราสืบทอดจาก บริษัท อื่นให้ใช้การเข้าร่วมภายในแทนแบบสอบถามย่อยเช่น: WHERE id IN (SELECT id FROM ...) แบบสอบถามที่มีการปรับโครงสร้างใหม่จะทำงานได้เร็วขึ้นประมาณ 100x (~ 50 วินาทีถึง ~ 0.3) ฉันคาดว่าจะได้รับการปรับปรุง แต่ใคร ๆ ก็สามารถอธิบายได้ว่าทำไมมันถึงรุนแรง คอลัมน์ที่ใช้ในส่วนคำสั่ง where ถูกทำดัชนีทั้งหมด SQL ดำเนินการค้นหาในส่วนคำสั่ง where หนึ่งครั้งต่อแถวหรือบางอย่างหรือไม่? อัปเดต - อธิบายผลลัพธ์: ความแตกต่างอยู่ในส่วนที่สองของแบบสอบถาม "where id in ()" - 2 DEPENDENT SUBQUERY submission_tags ref st_tag_id st_tag_id 4 const 2966 Using where vs …

6
วิธีตรวจสอบว่ามีการล็อคตัวใดบนโต๊ะ
เราจะตรวจสอบการล็อคฐานข้อมูลที่จะใช้กับแถวใดเทียบกับชุดแบบสอบถามได้อย่างไร เครื่องมือใด ๆ ที่เน้นการล็อคระดับแถวของตารางแบบเรียลไทม์? DB: SQL Server 2005

9
เลือกขนาดฐานข้อมูล SQL Server
ฉันจะค้นหาเซิร์ฟเวอร์ sql เพื่อให้ได้ขนาดของฐานข้อมูลได้อย่างไร ฉันใช้สิ่งนี้: use "MY_DB" exec sp_spaceused ฉันได้รับสิ่งนี้: database_name database_size unallocated space My_DB 17899.13 MB 5309.39 MB มันคืนค่าฉันหลายคอลัมน์ที่ฉันไม่ต้องการอาจมีเคล็ดลับในการเลือกคอลัมน์ database_size จากกระบวนงานที่เก็บไว้นี้หรือไม่ ฉันก็ลองใช้รหัสนี้: SELECT DB_NAME(database_id) AS DatabaseName, Name AS Logical_Name, Physical_Name, (size * 8) / 1024 SizeMB FROM sys.master_files WHERE DB_NAME(database_id) = 'MY_DB' มันให้ผลลัพธ์นี้กับฉัน: DatabaseName Logical_Name Physical_Name SizeMB MY_DB MY_DB D:\MSSQL\Data\MY_DB.mdf …

2
เหตุใดฉันไม่สามารถใช้ชื่อแทนในคำสั่ง DELETE ได้
ใน SQL Server Compact Edition ใน Visual Studio 2010 (อาจเป็น SQL Server และ SQL โดยทั่วไปฉันไม่รู้) คำสั่งนี้ใช้งานได้: DELETE FROM foods WHERE (name IN ('chickens', 'rabbits')) แต่คำสั่งนี้สร้างข้อผิดพลาดของ: Error near identifier f. Expecting OUTPUT. DELETE FROM foods f WHERE (f.name IN ('chickens', 'rabbits'))


3
ชื่อคอลัมน์ PostgreSQL เป็นตัวพิมพ์เล็กหรือไม่
ฉันมีตาราง db บอกว่าpersonsใน Postgres ส่งทีมอื่นที่มีชื่อคอลัมน์พูด, "first_Name". ตอนนี้กำลังพยายามใช้ผู้บัญชาการ PG เพื่อสืบค้นตารางนี้ในชื่อคอลัมน์นี้ select * from persons where first_Name="xyz"; และมันก็กลับมา ข้อผิดพลาด: ไม่มีคอลัมน์ "first_Name" ไม่แน่ใจว่าฉันกำลังทำอะไรโง่ ๆ หรือมีวิธีแก้ปัญหาที่ฉันพลาดไปหรือไม่?

11
# 1273 - การเปรียบเทียบที่ไม่รู้จัก: 'utf8mb4_unicode_520_ci'
ฉันมีเว็บไซต์ WordPress บนเซิร์ฟเวอร์WAMPในพื้นที่ของฉัน แต่เมื่อฉันอัปโหลดฐานข้อมูลไปยังเซิร์ฟเวอร์สดฉันได้รับข้อผิดพลาด #1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’ ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม!

5
คุณจะเรียกใช้แบบสอบถามเดียวผ่าน mysql จากบรรทัดคำสั่งได้อย่างไร
ฉันต้องการให้สามารถเรียกใช้แบบสอบถามเดียวบนเซิร์ฟเวอร์ระยะไกลในงานสคริปต์ ตัวอย่างเช่นโดยสังหรณ์ใจฉันจะจินตนาการว่ามันจะเป็นอย่างไร: mysql -uroot -p -hslavedb.mydomain.com mydb_production "select * from users;"
157 sql  mysql  unix  command-line 

8
Postgres ข้อ จำกัด ที่ไม่ซ้ำกับดัชนี
ในขณะที่ฉันสามารถเข้าใจเอกสารคำจำกัดความต่อไปนี้เทียบเท่า: create table foo ( id serial primary key, code integer, label text, constraint foo_uq unique (code, label)); create table foo ( id serial primary key, code integer, label text); create unique index foo_idx on foo using btree (code, label); อย่างไรก็ตามหมายเหตุในคู่มือสำหรับ Postgres 9.4พูดว่า: วิธีที่ต้องการที่จะเพิ่มข้อ จำกัด ALTER TABLE ... ADD CONSTRAINTที่ไม่ซ้ำกันในตารางเป็น …
157 sql  postgresql  unique 

30
MySQL: สร้างตารางไม่ได้ (errno: 150)
ฉันกำลังพยายามนำเข้าไฟล์. sql และความล้มเหลวในการสร้างตาราง นี่คือแบบสอบถามที่ล้มเหลว: CREATE TABLE `data` ( `id` int(10) unsigned NOT NULL, `name` varchar(100) NOT NULL, `value` varchar(15) NOT NULL, UNIQUE KEY `id` (`id`,`name`), CONSTRAINT `data_ibfk_1` FOREIGN KEY (`id`) REFERENCES `keywords` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1; ฉันส่งออก. sql จากฐานข้อมูลเดียวกันฉันลบตารางทั้งหมดและตอนนี้ฉันพยายามนำเข้ามันทำไมมันล้มเหลว? MySQL: ไม่สามารถสร้างตาราง './dbname/data.frm' (errno: …

5
วิธีการเรียกคืนค่าปัจจุบันของลำดับ oracle โดยไม่เพิ่มขึ้น?
มีคำสั่ง SQL เพื่อดึงค่าลำดับที่ไม่เพิ่มขึ้นหรือไม่ ขอบคุณ แก้ไขและข้อสรุป ดังที่จัสตินเคฟระบุไว้ไม่มีประโยชน์ที่จะลอง "บันทึก" หมายเลขลำดับ select a_seq.nextval from dual; ดีพอที่จะตรวจสอบค่าลำดับ ฉันยังคงรักษาคำตอบของโอลลี่ไว้เป็นคำตอบที่ดีเพราะมันตอบคำถามเริ่มต้น แต่ถามตัวเองเกี่ยวกับความจำเป็นที่จะไม่แก้ไขลำดับหากคุณต้องการทำมัน
156 sql  oracle  sequence 

2
SQL ON DELETE CASCADE การลบเกิดขึ้นแบบไหน?
ถ้าฉันมีสองความสัมพันธ์ในฐานข้อมูลเช่นนี้ CREATE TABLE Courses ( CourseID int NOT NULL PRIMARY KEY, Course VARCHAR(63) NOT NULL UNIQUE, Code CHAR(4) NOT NULL UNIQUE ); CREATE TABLE BookCourses ( EntryID int NOT NULL PRIMARY KEY, BookID int NOT NULL, Course CHAR(4) NOT NULL, CourseNum CHAR(3) NOT NULL, CourseSec CHAR(1) NOT NULL ); และฉันสร้างความสัมพันธ์สำคัญต่างประเทศระหว่างสองเช่นนี้ …

7
จัดกลุ่มผลลัพธ์การสืบค้นตามเดือนและปีเป็น postgresql
ฉันมีตารางฐานข้อมูลต่อไปนี้บนเซิร์ฟเวอร์ Postgres: id date Product Sales 1245 01/04/2013 Toys 1000 1245 01/04/2013 Toys 2000 1231 01/02/2013 Bicycle 50000 456461 01/01/2014 Bananas 4546 ผมอยากจะสร้างแบบสอบถามที่จะช่วยให้การSUMของSalesคอลัมน์และกลุ่มผลการค้นหาตามเดือนและปีดังต่อไปนี้: Apr 2013 3000 Toys Feb 2013 50000 Bicycle Jan 2014 4546 Bananas มีวิธีง่าย ๆ ในการทำเช่นนั้น?
156 sql  postgresql 

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