SQLite PRAGMA
คำสั่งของ SQLitePRAGMA เป็นคำสั่งพิเศษที่สามารถนำมาใช้ในความหลากหลายของตัวแปรสิ่งแวดล้อม SQLite ควบคุมสิ่งแวดล้อมและธงสถานะPRAGMA ค่าสามารถอ่านได้ก็สามารถตั้งค่าได้ตามความต้องการ
ไวยากรณ์
เพื่อสอบถามค่าปัจจุบันของ PRAGMA เพียงคุณจำเป็นต้องให้ชื่อของ pragma นี้:
PRAGMA pragma_name;
ในการตั้งค่าใหม่สำหรับ PRAGMA ไวยากรณ์ต่อไปนี้:
PRAGMA pragma_name = ค่า;
โหมดการตั้งค่าก็สามารถเป็นชื่อหรือเทียบเท่าจำนวนเต็ม แต่ค่าตอบแทนจะเป็นจำนวนเต็ม
auto_vacuum Pragma
auto_vacuum Pragma ได้รับหรือการตั้งค่าโหมดอัตโนมัติสูญญากาศไวยากรณ์เป็นดังนี้:
PRAGMA [ฐานข้อมูล.] Auto_vacuum; PRAGMA [ฐานข้อมูล.] Auto_vacuum = โหมด
ประเด็นโหมดสามารถใด ๆ ต่อไปนี้:
Pragma 值 | 描述 |
---|---|
0 或 NONE | 禁用 Auto-vacuum。这是默认模式,意味着数据库文件尺寸大小不会缩小,除非手动使用 VACUUM 命令。 |
1 或 FULL | 启用 Auto-vacuum,是全自动的。在该模式下,允许数据库文件随着数据从数据库移除而缩小。 |
2 或 INCREMENTAL | 启用 Auto-vacuum,但是必须手动激活。在该模式下,引用数据被维持,免费页面只放在免费列表中。这些页面可在任何时候使用incremental_vacuum pragma进行覆盖。 |
cache_size Pragma
cache_size Pragma สามารถได้รับหรือการตั้งค่าขนาดสูงสุดของหน้าชั่วคราวในหน่วยความจำแคชไวยากรณ์เป็นดังนี้:
PRAGMA [ฐานข้อมูล.] Cache_size; PRAGMA [. ฐานข้อมูล] = cache_size หน้า;
คุ้มค่าหมายถึงจำนวนของหน้าเว็บในแคชหน้าเริ่มต้นขนาดแคชหน้าสร้างขึ้นเป็น 2,000 หน้าขนาดต่ำสุดคือ 10
case_sensitive_like Pragma
มีความละเอียดอ่อนcase_sensitive_like Pragma สร้างขึ้นเช่นความไวของการควบคุมการแสดงออกโดยค่าเริ่มต้น Pragma เป็นเท็จซึ่งหมายความว่าตัวเหมือนผู้ประกอบการที่จะไม่สนใจกรณีของตัวอักษร ไวยากรณ์เป็นดังนี้:
PRAGMA case_sensitive_like = [| จริงเท็จ];
มีวิธีการตรวจสอบสถานะปัจจุบันของ Pragma ไม่เป็น
count_changes Pragma
count_changes Pragma ได้รับหรือการตั้งค่าตอบแทนของงบการจัดการข้อมูลเช่น INSERT, UPDATE และลบไวยากรณ์เป็นดังนี้:
count_changes PRAGMA; PRAGMA count_changes = [| จริงเท็จ];
โดยค่าเริ่มต้น Pragma เป็นเท็จคำสั่งไม่กลับอะไร หากการตั้งค่าที่แท้จริงของคำสั่งที่กล่าวถึงจะกลับตารางแยกแต่ละเดียวประกอบด้วยค่าจำนวนเต็มเดียวซึ่งแสดงให้เห็นถึงการดำเนินงานแถวจำนวนเต็มได้รับผลกระทบ
database_list Pragma
database_list Pragma จะใช้ในการแสดงรายการทั้งหมดเชื่อมต่อฐานข้อมูลไวยากรณ์เป็นดังนี้:
PRAGMA database_list;
Pragma จะกลับตารางแถวเดียวกับคอลัมน์ที่สามเมื่อเปิดหรือแนบฐานข้อมูลฐานข้อมูลจะให้หมายเลขชื่อและไฟล์ที่เกี่ยวข้อง
การเข้ารหัส Pragma
วิธีการควบคุมการเข้ารหัส Pragma สตริงเข้ารหัสและเก็บไว้ในไฟล์ฐานข้อมูลไวยากรณ์เป็นดังนี้:
การเข้ารหัส PRAGMA; การเข้ารหัส PRAGMA = รูปแบบ;
ค่ารูปแบบสามารถเป็น UTF-8, UTF-16LE หนึ่งหรือ UTF-16BE
freelist_count Pragma
freelist_count Pragma ส่งกลับจำนวนเต็มที่แสดงถึงการทำเครื่องหมายหน้าฐานข้อมูลฟรีและใช้ได้ไวยากรณ์เป็นดังนี้:
PRAGMA [ฐานข้อมูล.] Freelist_count;
ค่ารูปแบบสามารถเป็น UTF-8, UTF-16LE หนึ่งหรือ UTF-16BE
index_info Pragma
index_info Pragma ส่งกลับข้อมูลเกี่ยวกับการจัดทำดัชนีฐานข้อมูลไวยากรณ์เป็นดังนี้:
PRAGMA [ฐานข้อมูล.] Index_info (index_name);
ผลที่ได้กำหนดไว้สำหรับแต่ละคอลัมน์มีลำดับในดัชนีที่กำหนดดัชนีคอลัมน์ภายในตารางคอลัมน์คอลัมน์ชื่อจะแสดงแถว
index_list Pragma
index_list Pragma รายการดัชนีทั้งหมดที่เกี่ยวข้องกับตารางไวยากรณ์เป็นดังนี้:
PRAGMA [ฐานข้อมูล.] Index_list (table_name);
ผลการตั้งค่าสำหรับคอลัมน์ดัชนีแต่ละคนจะได้รับการตั้งชื่อตามลำดับดัชนีดัชนีบ่งชี้หรือไม่เป็นเส้นจอแสดงผลที่ไม่ซ้ำกันระบุ
journal_mode Pragma
journal_mode Pragma ได้รับหรือการตั้งค่าล็อกไฟล์ที่เก็บไว้และวิธีจัดการกับโหมดการบันทึกไวยากรณ์เป็นดังนี้ ::
PRAGMA journal_mode; PRAGMA journal_mode โหมด =; PRAGMA database.journal_mode; PRAGMA database.journal_mode โหมด =;
นี่คือบันทึกการสนับสนุนห้าโหมด:
Pragma 值 | 描述 |
---|---|
DELETE | 默认模式。在该模式下,在事务结束时,日志文件将被删除。 |
TRUNCATE | 日志文件被阶段为零字节长度。 |
PERSIST | 日志文件被留在原地,但头部被重写,表明日志不再有效。 |
MEMORY | 日志记录保留在内存中,而不是磁盘上。 |
OFF | 不保留任何日志记录。 |
max_page_count Pragma
max_page_count Pragma ฐานข้อมูลที่ได้รับหรือกำหนดจำนวนสูงสุดของหน้าได้รับอนุญาตไวยากรณ์เป็นดังนี้:
PRAGMA [ฐานข้อมูล.] Max_page_count; PRAGMA [ฐานข้อมูล.] Max_page_count = MAX_PAGE;
ค่าเริ่มต้นคือ 1073741823 ซึ่งเป็นหน้ากิกะบิต, ที่อยู่, ถ้าขนาดหน้าเริ่มต้นของ 1 KB, ฐานข้อมูลแล้วเติบโตขึ้นมาในเมกะไบต์
PAGE_COUNT Pragma
PAGE_COUNT Pragma ส่งกลับจำนวนของหน้าเว็บในฐานข้อมูลปัจจุบันไวยากรณ์เป็นดังนี้:
PRAGMA [ฐานข้อมูล.] PAGE_COUNT;
ขนาดไฟล์ฐานข้อมูลควรจะ PAGE_COUNT * PAGE_SIZE
PAGE_SIZE Pragma
PAGE_SIZE Pragma Gets หรือกำหนดขนาดของหน้าฐานข้อมูลไวยากรณ์เป็นดังนี้:
PRAGMA [ฐานข้อมูล.] PAGE_SIZE; PRAGMA [. ฐานข้อมูล] PAGE_SIZE ไบต์ =;
โดยค่าเริ่มต้นขนาดที่อนุญาต 512,1024,2048,4096,8192,16384,32768 ไบต์ วิธีเดียวที่จะเปลี่ยนขนาดหน้าฐานข้อมูลที่มีอยู่คือการกำหนดขนาดของหน้าแล้วทันทีสูญญากาศฐานข้อมูล
parser_trace Pragma
parser_trace Pragma ขณะที่มันช่วยแก้คำสั่ง SQL เพื่อควบคุมการพิมพ์รัฐแก้ปัญหาไวยากรณ์เป็นดังนี้:
PRAGMA parser_trace = [| จริงเท็จ];
โดยค่าเริ่มต้นจะถูกตั้งค่าเป็นเท็จ แต่กำหนดเป็นจริงการเปิดใช้งานแล้ว parser SQL สามารถแยกคำสั่ง SQL เป็นมันพิมพ์ออกสถานะ
recursive_triggers Pragma
recursive_triggers Pragma ได้รับหรือการตั้งค่าฟังก์ชั่นทริกเกอร์ recursiveหากทริกเกอร์ recursive ไม่ได้เปิดใช้งานการเรียกจะไม่เรียกทริกเกอร์อีก ไวยากรณ์เป็นดังนี้:
recursive_triggers PRAGMA; PRAGMA recursive_triggers = [| จริงเท็จ];
schema_version Pragma
schema_version Pragma Gets หรือค่ารุ่นสคีมาจะถูกเก็บไว้ในส่วนหัวของฐานข้อมูลไวยากรณ์เป็นดังนี้:
PRAGMA [ฐานข้อมูล.] Schema_version; PRAGMA schema_version = จำนวน [ฐานข้อมูล.];
นี่คือ 32 บิตค่าลงนามจำนวนเต็มใช้ในการติดตามการเปลี่ยนแปลงของสถาปัตยกรรม เมื่อใดก็ตามที่คำสั่งเปลี่ยนแปลงสคี (เช่นสร้าง th. หรือ DROP th. ) ค่านี้จะเพิ่มขึ้น
secure_delete Pragma
secure_delete Pragma ใช้ในการควบคุมวิธีการที่เนื้อหาจะถูกลบออกจากฐานข้อมูลไวยากรณ์เป็นดังนี้:
PRAGMA secure_delete; PRAGMA secure_delete = [| จริงเท็จ]; PRAGMA database.secure_delete; PRAGMA database.secure_delete = [| จริงเท็จ];
ความปลอดภัยเริ่มต้นลบธงนี้ปิดให้บริการได้ตามปกติ แต่ก็สามารถที่จะสร้างขึ้นโดย SQLITE_SECURE_DELETE ตัวเลือกที่จะเปลี่ยน
sql_trace Pragma
sql_trace Pragma สำหรับการถ่ายโอนข้อมูล SQL เพื่อติดตามผลบนหน้าจอไวยากรณ์เป็นดังนี้:
PRAGMA sql_trace; PRAGMA sql_trace = [| จริงเท็จ];
SQLite จะต้องรวบรวมจากการเรียนการสอน SQLITE_DEBUG อ้างอิง Pragma
ซิงโคร Pragma
ซิงโคร Pragma ได้รับหรือการตั้งดิสก์ปัจจุบันโหมดการซิงโครการควบคุมโหมด SQLite บวกวิธีการที่ข้อมูลถูกเขียนไปยังที่จัดเก็บข้อมูลทางกายภาพไวยากรณ์เป็นดังนี้:
PRAGMA [ฐานข้อมูล.] Synchronous; PRAGMA [ฐานข้อมูล.] Synchronous = โหมด
SQLite สนับสนุนโหมดการประสานต่อไปนี้:
Pragma 值 | 描述 |
---|---|
0 或 OFF | 不进行同步。 |
1 或 NORMAL | 在关键的磁盘操作的每个序列后同步。 |
2 或 FULL | 在每个关键的磁盘操作后同步。 |
temp_store Pragma
temp_store Pragma ได้รับหรือการตั้งค่าโหมดที่เก็บข้อมูลที่ใช้โดยไฟล์ฐานข้อมูลชั่วคราวไวยากรณ์เป็นดังนี้:
PRAGMA temp_store; PRAGMA temp_store โหมด =;
SQLite สนับสนุนโหมดการจัดเก็บข้อมูลต่อไปนี้:
Pragma 值 | 描述 |
---|---|
0 或 DEFAULT | 默认使用编译时的模式。通常是 FILE。 |
1 或 FILE | 使用基于文件的存储。 |
2 或 MEMORY | 使用基于内存的存储。 |
temp_store_directory Pragma
temp_store_directory Pragma ได้รับหรือการตั้งค่าสถานที่สำหรับแฟ้มฐานข้อมูลชั่วคราวไวยากรณ์เป็นดังนี้:
PRAGMA temp_store_directory; PRAGMA temp_store_directory = 'directory_path';
user_version Pragma
รุ่นuser_version Pragma ได้รับหรือการตั้งค่าที่เก็บไว้ในฐานข้อมูลผู้ใช้ส่วนหัวที่กำหนดเองไวยากรณ์เป็นดังนี้:
PRAGMA [ฐานข้อมูล.] User_version; PRAGMA user_version = จำนวน [ฐานข้อมูล.];
นี้เป็นค่าจำนวนเต็ม 32 บิตลงนามที่สามารถตั้งค่าโดยนักพัฒนาซอฟต์แวร์เพื่อวัตถุประสงค์ในการติดตามรุ่น
writable_schema Pragma
มีwritable_schema Pragma ได้รับหรือการตั้งค่าความสามารถในการปรับเปลี่ยนตารางระบบไวยากรณ์เป็นดังนี้:
PRAGMA writable_schema; PRAGMA writable_schema = [| จริงเท็จ];
ถ้า Pragma ตารางเริ่ม sqlite_ คุณสามารถสร้างและปรับเปลี่ยนรวมทั้งตาราง sqlite_master เมื่อเราใช้ความสนใจ Pragma เพราะอาจเกิดความเสียหายกับฐานข้อมูลทั้งหมด