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

RDBMS แบบโอเพนซอร์สยอดนิยม (เช่นไม่ใช่ไคลเอนต์เซิร์ฟเวอร์) ใช้เป็นไลบรารี C

7
วิธีการจัดรูปแบบเอาต์พุตเชลล์ sqlite อย่างถูกต้อง?
ถ้าฉันไปที่mysql shellและพิมพ์SELECT * FROM usersฉันจะได้รับ - +--------+----------------+---------------------------------+----------+-----------+--------------------+--------------------+ | USERID | NAME | EMAILID | PASSWORD | USER_TYPE | CONTACT_ID_FKUSERS | COMPANY_ID_FKUSERS | +--------+----------------+---------------------------------+----------+-----------+--------------------+--------------------+ | 137 | X | b@cc.com | # | ADMIN | 166 | 110 | | 138 | Kshitiz | ksharma@aaa.com | asdf | ADMIN | 167 …
78 sqlite 

3
เป็นไปได้หรือไม่ที่จะจัดเก็บและสืบค้น JSON ใน SQLite
ฉันต้องการเก็บวัตถุ JSON ในฐานข้อมูล SQLite แล้วทำการสืบค้นที่ซับซ้อน ฉันทำโต๊ะแบบนี้: +--------------------------------------+ |document | property | string | number| +--------------------------------------+ |foo | "title" | "test" | | +--------------------------------------+ |foo | "id" | | 42 | +--------------------------------------+ |bar | "id" | | 43 | +--------------------------------------+ สำหรับวัตถุทั้งสอง foo {"title": "test", "id": 42} bar {id: 43} แต่ฉันไม่สามารถทำคำค้นหา "และ" …
34 sqlite  json 


3
เพื่อประสิทธิภาพที่สมบูรณ์ SUM จะเร็วขึ้นหรือ COUNT หรือไม่
invoice amount > $100นี้เกี่ยวข้องกับการนับจำนวนของระเบียนที่ตรงกับเงื่อนไขบางอย่างเช่น ฉันมักจะชอบ COUNT(CASE WHEN invoice_amount > 100 THEN 1 END) อย่างไรก็ตามนี่เป็นเพียงที่ถูกต้อง SUM(CASE WHEN invoice_amount > 100 THEN 1 ELSE 0 END) ฉันคิดว่า COUNT นั้นดีกว่าด้วยเหตุผล 2 ประการ: บ่งบอกถึงความตั้งใจซึ่งก็คือ COUNT COUNT อาจเกี่ยวข้องกับการi += 1ดำเนินการอย่างง่ายที่ไหนสักแห่งในขณะที่ SUM ไม่สามารถพึ่งพาการแสดงออกที่จะเป็นค่าจำนวนเต็มง่าย ใครบ้างมีข้อเท็จจริงเฉพาะเกี่ยวกับความแตกต่างของ RDBMS ที่เฉพาะเจาะจงหรือไม่

1
ข้อ จำกัด ของ SQLite
ไกลแค่ไหนที่สามารถใช้ฐานข้อมูล sqlite จากเครื่องยนต์ db ผู้ใช้เดียวฝังตัวต้นแบบที่มุ่งเน้น?
22 sqlite 

2
การเก็บราคาใน SQLite ต้องใช้ data ชนิดใด?
ฉันใช้ SQLite และต้องการเก็บราคา REALประเภทข้อมูลของ SQLite บอกว่ามันใช้floating-pointซึ่งเป็นที่เก็บข้อมูลที่ยอมรับไม่ได้สำหรับราคา มี data-type นอกเหนือจาก TEXT ที่ฉันสามารถใช้เพื่อเก็บราคาเป็นตัวเลขเพื่อให้เรียงลำดับถูกต้องหรือไม่

1
ทำไมข้อความค้นหา sqlite นี้ช้าลงมากเมื่อฉันสร้างดัชนีคอลัมน์
ฉันมีฐานข้อมูล sqlite ที่มีสองตารางแต่ละแถวมี 50,000 แถวมีชื่อ (คน) ปลอม ฉันได้สร้างแบบสอบถามง่ายๆเพื่อค้นหาจำนวนชื่อที่มี (ชื่อที่กำหนด, ชื่อกลาง, นามสกุล) ที่ใช้ร่วมกันสำหรับทั้งสองตาราง: select count(*) from fakenames_uk inner join fakenames_usa on fakenames_uk.givenname=fakenames_usa.givenname and fakenames_uk.surname=fakenames_usa.surname and fakenames_uk.middleinitial=fakenames_usa.middleinitial; เมื่อไม่มีดัชนียกเว้นในคีย์หลัก (ไม่เกี่ยวข้องกับแบบสอบถามนี้) มันจะทำงานอย่างรวดเร็ว: [james@marlon Downloads] $ time sqlite3 generic_data_no_indexes.sqlite "select count(*) from fakenames_uk inner join fakenames_usa on fakenames_uk.givenname=fakenames_usa.givenname and fakenames_uk.surname=fakenames_usa.surname and fakenames_uk.middleinitial=fakenames_usa.middleinitial;" 131 real 0m0.115s …

5
เครื่องมือในการโยกย้ายจาก SQLite ไปยัง PostgreSQL
ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันต้องย้ายอย่างต่อเนื่องจาก SQLite ไปยัง PostgreSQL อย่างต่อเนื่องฉันหมายความว่าฉันจะนำเข้าฐานข้อมูล SQLite ไปยัง PostgreSQL ทุกวัน มันจะดีถ้าฉันสามารถเปลี่ยนแปลงตารางใน SQLite ตามที่ฉันต้องการได้โดยไม่ต้องทำการเปลี่ยนแปลงใด ๆ กับฐานข้อมูล PostgreSQL ด้วยตนเอง ฉันจะเรียกใช้การย้ายข้อมูลจาก Python แต่อาจเป็นเครื่องมือภายนอกที่สามารถควบคุมได้จากบรรทัดคำสั่ง เครื่องมือนี้ต้องพร้อมใช้งานสำหรับ Linux และมันก็ดีถ้ามันทำงานบน Windows ด้วย

5
วิธีตรวจสอบว่ามีการติดตั้งโปรแกรมฐานข้อมูลใดบนเซิร์ฟเวอร์ DataBase ที่ฉันมี acces ให้เรียกใช้แบบสอบถาม
ฉันต้องการตรวจสอบประเภทของ sql ที่กำลังทำงานอยู่บนเซิร์ฟเวอร์ Datasase ที่ฉันสามารถเข้าถึงได้ ฉันมีสิทธิ์เข้าถึงเว็บอินเตอร์เฟสและรายการตารางเท่านั้น ผ่านอินเทอร์เฟซฉันสามารถเรียกใช้แบบสอบถามบนตารางที่มีอยู่ในรายการ ฉันจะรับข้อมูลเพิ่มเติมเกี่ยวกับเซิร์ฟเวอร์และรุ่นที่เซิร์ฟเวอร์ใช้งานอยู่ได้อย่างไร ฉันไม่รู้เกี่ยวกับ IP หรือ PORT ที่เซิร์ฟเวอร์กำลังทำงาน ฉันต้องการทราบว่าเซิร์ฟเวอร์นั้นเป็น MySQL, Mircosoft SQL Server, Oracle SQL, Postgre SQL หรือเซิร์ฟเวอร์ sql อื่น ๆ เว็บไซต์ที่ผมพูดถึงเป็นหนึ่งในนี้: w3schools.com SQL แก้ไข แก้ไข 2: สำหรับบางคำสั่ง select sqlite_version () ใช้งานได้สำหรับฉันมันไม่ทำงาน นี่คือภาพหน้าจอของการตอบสนอง แก้ไข 3: บน Chromium Browser คำสั่งทำงานได้อย่างถูกต้อง อย่างไรก็ตามใน Firefox Browser คำสั่งไม่ทำงาน ฉันยังพูดถึงว่าฉันใช้ Linux …

1
ฉันจะป้องกันการล็อคฐานข้อมูล SQLite ได้อย่างไร
จากคำถามที่พบบ่อย SQLite ฉันรู้ว่า: กระบวนการหลายอย่างสามารถเปิดฐานข้อมูลเดียวกันได้ในเวลาเดียวกัน กระบวนการหลายอย่างสามารถทำได้SELECTในเวลาเดียวกัน อย่างไรก็ตามมีเพียงกระบวนการเดียวเท่านั้นที่สามารถเปลี่ยนแปลงฐานข้อมูลได้ทุกเวลา ดังนั้นเท่าที่ผมเข้าใจว่าฉันสามารถ: 1) อ่านฐานข้อมูลจากหลายหัวข้อ ( SELECT) 2) อ่านฐานข้อมูลจากหลายหัวข้อ ( SELECT) และเขียนจากหัวข้อเดียว ( CREATE, INSERT, DELETE) แต่ผมอ่านเกี่ยวกับการเขียนล่วงหน้าล็อกที่ให้ความเห็นพ้องมากขึ้นขณะที่ผู้อ่านไม่ปิดกั้นนักเขียนและนักเขียนจะไม่ปิดกั้นผู้อ่าน การอ่านและการเขียนสามารถดำเนินไปพร้อม ๆ กัน ในที่สุดฉันก็สับสนงงเมื่อฉันพบมันเมื่อมีการระบุ: นี่คือเหตุผลอื่น ๆ สำหรับการรับข้อผิดพลาด SQLITE_LOCKED: พยายามที่จะCREATEหรือDROPตารางหรือดัชนีในขณะที่SELECTคำสั่งยังคงค้างอยู่ กำลังพยายามเขียนลงในตารางในขณะที่ a SELECTกำลังทำงานบนตารางเดียวกัน พยายามทำสองอย่างSELECTในตารางเดียวกันในเวลาเดียวกันในแอปพลิเคชันแบบมัลติเธรดถ้า sqlite ไม่ได้ถูกตั้งค่าให้ทำเช่นนั้น fcntl (3, F_SETLK การเรียกใช้ไฟล์ DB ล้มเหลวซึ่งอาจเกิดจากปัญหาการล็อค NFS ตัวอย่างหนึ่งวิธีแก้ปัญหาสำหรับปัญหานี้คือการลบ mv ออกและคัดลอกกลับเพื่อให้มีค่า Inode ใหม่ ดังนั้นฉันต้องการชี้แจงให้ตัวเองจำเป็นต้องหลีกเลี่ยงการล็อคหรือไม่ ฉันสามารถอ่านและเขียนในเวลาเดียวกันจากสองกระทู้ที่แตกต่างกันได้หรือไม่ …
11 locking  sqlite 

3
SQLITE: ปัญหาของแท็กและผลิตภัณฑ์
ฉันกำลังค้นหาวิธีในการสร้างแบบสอบถามเพื่อทำสิ่งต่อไปนี้: ลองพิจารณา 3 ตาราง: ผลิตภัณฑ์: รายชื่อผลิตภัณฑ์ แท็ก: รายการของแท็ก tag_ties: ตารางที่ใช้เชื่อมโยงแท็กกับผลิตภัณฑ์ ลองพิจารณาโครงสร้างนี้สำหรับแต่ละตาราง: ผลิตภัณฑ์: id (int, autoincrement) ชื่อ (varchar ชื่อของผลิตภัณฑ์) Tags: id (การสร้างอัตโนมัติภายใน) ป้ายกำกับ (varchar ป้ายกำกับของแท็ก) Tag_ties: id (int, autoincrement) tag_id (int หมายถึง id แท็ก) ref_id (int หมายถึงรหัสผลิตภัณฑ์) สิ่งที่ฉันต้องการ: รับผลิตภัณฑ์ทั้งหมดที่ติดแท็กด้วยแท็ก id 10, 11 และ 12 เช่น แบบสอบถามนี้ไม่ทำงานเนื่องจากจะส่งคืนผลิตภัณฑ์ที่มีแท็กอย่างน้อยหนึ่งรายการ: select p.name as name, p.id …
10 query  sqlite  subquery 

1
ทำงานกับฐานข้อมูลหลาย ๆ
การใช้ sqlite3 บน Linux จะทำงานกับฐานข้อมูลหลายฐานได้อย่างไร ฉันต้องการทำสิ่งต่อไปนี้ในฐานข้อมูล 1 sqlite3 database1.db insert into database1.mytable values (select * from database2.mytable) ฉันจะเขียนSELECTแบบสอบถามสำหรับฐานข้อมูล 2 ด้านบนได้อย่างไร
9 sqlite 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.