http://vietjack.com/sqlite/index.jsp Copyright © vietjack.com Lệnh PRAGMA SQLite Lệnh PRAGMA SQLite lệnh đặc biệt để điều khiển biến môi trường flag trạng thái đa dạng bên mơi trường SQLite Một giá trị PRAGMA đọc thiết lập tùy theo yêu cầu Cú pháp Để truy vấn giá trị PRAGMA tại, bạn cần cung cấp tên Pragma đó: PRAGMA pragma_name; Để thiết lập giá trị cho PRAGMA, bạn sử dụng cú pháp sau: PRAGMA pragma_name = value; Chế độ thiết lập tên giá trị số nguyên tương đương, giá trị trả luôn số nguyên auto_vacuum Pragma SQLite auto_vacuum pragma lấy thiết lập chế độ auto_vacuum Sau cú pháp: PRAGMA [database.]auto_vacuum; PRAGMA [database.]auto_vacuum = mode; Where mode can be any of the following: Giá trị Pragma Miêu tả or NONE Vơ hiệu hóa auto-vacuum Đây mode mặc định, nghĩa Database file không rút gọn kích cỡ trừ thao tác sử dụng lệnh VACUUM or FULL Kích hoạt auto-vacuum tự động cho phép Database file để rút gọn liệu bị xóa từ sở liệu or INCREMENTAL Kích hoạt auto-vacuum, phải theo thao tác Trong mode này, liệu tham chiếu trì, free page đặt free list Các page phục hồi sử dụng incremental_vacuum pragma thời điểm http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/sqlite/index.jsp Copyright © vietjack.com cache_size Pragma SQLite cache_size pragma lấy tạm thời thiết lập kích cỡ tối đa page cache nhớ Cú pháp sau: PRAGMA [database.]cache_size; PRAGMA [database.]cache_size = pages; Giá trị pages biểu diễn số page cache Page cache có sẵn có kích cỡ mặc định 2000 page kích cỡ tối thiểu 10 page case_sensitive_like Pragma SQLite case_sensitive_like pragma điều khiển chế độ phân biệt kiểu chữ biểu thức LIKE có sẵn Theo mặc định, Pragma false, nghĩa tốn tử LIKE có sẵn bỏ qua kiểu chữ Cú pháp sau: PRAGMA case_sensitive_like = [true|false]; Khơng có cách để truy vấn cho trạng thái Pragma count_changes Pragma SQLite count_changes lấy thiết lập giá trị trả lệnh thao tác liệu, INSERT, UPDATE, DELETE Sau cú pháp: PRAGMA count_changes; PRAGMA count_changes = [true|false]; Theo mặc định, Pragma false lệnh khơng trả Nếu thiết lập true, lệnh trả bảng có cột hàng gồm giá trị số nguyên đơn để hàng bị nén hoạt động database_list Pragma SQLite database_list pragma sử dụng để liệt kê tất Attached Database Sau cú pháp đơn giản: PRAGMA database_list; Pragma trả bảng có ba cột với hàng cho Attached Database, cung cấp số dãy sở liệu, tên file liên kết http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/sqlite/index.jsp Copyright © vietjack.com encoding Pragma SQLite encoding pragma điều khiển cách chuỗi mã hóa lưu trữ Database file Sau cú pháp: PRAGMA encoding; PRAGMA encoding = format; Giá trị format UTF-8, UTF-16le, UTF-16be freelist_count Pragma SQLite freelist_count pragma trả số nguyên đơn xem có Database page đánh dấu free có sẵn Sau cú pháp đơn giản PRAGMA [database.]freelist_count; index_info Pragma SQLite index_info pragma trả thông tin mục sở liệu Sau cú pháp: PRAGMA [database.]index_info( index_name ); Tập kết chứa hàng cho cột chứa mục mà cung cấp dãy cột, mục cột bên bảng tên cột index_list Pragma SQLite index_list pragma liệt kê tất mục liên kết với bảng Sau cú pháp: PRAGMA [database.]index_list( table_name ); Tập kết chứa hàng cho mục mà cung cấp dãy mục, tên mục flag mục hay không journal_mode Pragma SQLite journal_mode pragma lấy thiết lập journal mode mà điều khiển cách journal file lưu trữ xử lý Sau cú pháp bản: PRAGMA journal_mode; PRAGMA journal_mode = mode; PRAGMA database.journal_mode; PRAGMA database.journal_mode = mode; SQLite hỗ trợ journal mode: http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/sqlite/index.jsp Copyright © vietjack.com Giá trị Pragma Miêu tả DELETE Đây mode mặc định Ở đây, phần cuối Transaction, journal file bị xóa TRUNCATE Journal file bị cắt byte (về độ dài) PERSIST Journal file bị thay thế, header bị ghi đè để file khơng hợp lệ MEMORY Journal record giữ nhớ, thay cho Disk OFF Khơng có Journal record bị giữ max_page_count Pragma SQLite max_page_count pragma lấy thiết lập số page tối đa cho Database Sau cú pháp đơn giản: PRAGMA [database.]max_page_count; PRAGMA [database.]max_page_count = max_page; Giá trị mặc định 1,073,741,823, giga-page, nghĩa kích cỡ page mặc định 1kB, cho phép sở liệu lên tới Terabyte page_count Pragma SQLite page_count pragma trả số page Database Sau cú pháp đơn giản: PRAGMA [database.]page_count; Kích cỡ Database file nên page_count * page_size page_size Pragma SQLite page_size pragma lấy thiết lập kích cỡ page Database Sau cú pháp đơn giản: PRAGMA [database.]page_size; PRAGMA [database.]page_size = bytes; http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/sqlite/index.jsp Copyright © vietjack.com Theo mặc định, kích cỡ cho phép 512, 1024, 2048, 4096, 8192, 16384, 32768 byte Cách để thay đổi kích cỡ page Database tồn thiết lập kích cỡ page sau VACUUM sở liệu parser_trace Pragma SQLite parser_trace pragma điều khiển việc in trạng thái debug phân tích cú pháp lệnh SQL Sau cú pháp: PRAGMA parser_trace = [true|false]; Theo mặc định, thiết lập false, kích hoạt việc thiết lập true, SQL Parser in trạng thái nó phân tích cú pháp lệnh SQL recursive_triggers Pragma SQLite recursive_triggers lấy thiết lập tính trigger đệ qui Nếu Recursive trigger khơng kích hoạt, hành động trigger khơng kích hoạt trigger khác Sau cú pháp đơn giản: PRAGMA recursive_triggers; PRAGMA recursive_triggers = [true|false]; schema_version Pragma SQLite schema_version pragma lấy thiết lập giá trị phiên shema mà lưu trữ Database Header Sau cú pháp bản: PRAGMA [database.]schema_version; PRAGMA [database.]schema_version = number; Đây giá trị nguyên có dấu mà theo dõi thay đổi Schema Bất lệnh thay đổi đến schema thực thi (LIKE, CREATE, DROP, …), giá trị tăng lên secure_delete Pragma SQLite secure_delete pragma sử dụng để điều khiển cách nội dung bị xóa từ Database Sau cú pháp: PRAGMA secure_delete; PRAGMA secure_delete = [true|false]; PRAGMA database.secure_delete; PRAGMA database.secure_delete = [true|false]; Giá trị mặc định cho secure-delete flag thường off, thay đổi với tùy chọn SQLITE_SECURE_DELETE http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/sqlite/index.jsp Copyright © vietjack.com sql_trace Pragma SQLite sql_trace pragma sử dụng để hiển thị lệnh SQL trace hình Sau cú pháp: PRAGMA sql_trace; PRAGMA sql_trace = [true|false]; SQLite phải biên dịch với directive SQLITE_DEBUG cho Pragma để bao synchronous Pragma SQLite synchronous pragma lấy thiết lập chế độ đồng hóa disk mà điều khiển cách SQLite ghi liệu kho lưu vật lý Sau cú pháp: PRAGMA [database.]synchronous; PRAGMA [database.]synchronous = mode; SQLite hỗ trợ chế độ đồng hóa sau: Giá trị Pragma Miêu tả or OFF Khơng đồng hóa or NORMAL Đồng hóa sau dãy hoạt động Critical disk or FULL Đồng hóa sau hoạt động Critical disk temp_store Pragma SQLite temp_store pragma lấy thiết lập chế độ lưu giữ sử dụng Database file tạm thời Sau cú pháp: PRAGMA temp_store; PRAGMA temp_store = mode; SQLite hỗ trợ chế độ lưu trữ sau: Giá trị Pragma Miêu tả or DEFAULT Sử dụng compile-time mặc định Thường FILE http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/sqlite/index.jsp Copyright © vietjack.com or FILE Sử dụng lưu trữ dựa file or MEMORY Sử dụng lưu trữ dựa nhớ temp_store_directory Pragma SQLite temp_store_directory pragma lấy thiết lập vị trí sử dụng cho Database file tạm thời Sau cú pháp: PRAGMA temp_store_directory; PRAGMA temp_store_directory = 'directory_path'; user_version Pragma SQLite user_version pragma lấy thiết lập giá trị phiên người dùng tự định nghĩa mà lưu trữ Database Header Sau cú pháp: PRAGMA [database.]user_version; PRAGMA [database.]user_version = number; Đây giá trị nguyên có dấu 32 bit mà thiết lập lập trình viên với mục đích theo dõi phiên writable_schema Pragma SQLite writable_schema pragma lấy thiết lập khả để sửa đổi bảng hệ thống Sau cú pháp: PRAGMA writable_schema; PRAGMA writable_schema = [true|false]; Nếu Pragma thiết lập, bảng mà bắt đầu với sqlite_ tạo sửa đổi, bao gồm bảng sqlite_master Bạn cẩn thận sử dụng Pragma gây xung đột hồn toàn sở liệu http://vietjack.com/ Trang chia sẻ các bài học online miễn phí ... page_count Pragma SQLite page_count pragma trả số page Database Sau cú pháp đơn giản: PRAGMA [database.]page_count; Kích cỡ Database file nên page_count * page_size page_size Pragma SQLite page_size pragma. .. pragma sử dụng để hiển thị lệnh SQL trace hình Sau cú pháp: PRAGMA sql_trace; PRAGMA sql_trace = [true|false]; SQLite phải biên dịch với directive SQLITE_ DEBUG cho Pragma để bao synchronous Pragma. .. secure_delete Pragma SQLite secure_delete pragma sử dụng để điều khiển cách nội dung bị xóa từ Database Sau cú pháp: PRAGMA secure_delete; PRAGMA secure_delete = [true|false]; PRAGMA database.secure_delete;