با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، و کاربرانی که دوره آموزش SQLite را دنبال می کنند. دستور INDEXED BY در SQLite مشخص می کند که نام index باید به منظور جستجوی مقادیر در جدول پیشین مورد استفاده قرار گیرد.اگر نام index وجود ندارد یا نمی تواند برای پرس و جو استفاده شود، سپس تهیه دستورات SQLite ناکامل می شود. دستور”NOT INDEXED” مشخص می کند که هنگام دسترسی به جدول پیشین، از index های مستقل ایجاد شده توسط محدودیت های UNIQUE و PRIMARY KEY استفاده نمی شود. با این حال، کلید واژه ی INTEGER هنوز هم می تواند برای جستجو کردن مورد استفاده قرار گیرد. برای آشنایی بیشتر با دستور INDEXED BY در SQLite در ادامه ی این مباحث با ما همراه باشید.
در ادامه ی این آموزش شما با سینتکس و نمونه ای از دستور INDEXED BY در SQLite آشنا خواهید شد.
این سینتکس اصلی استفاده از دستور INDEXED BY در SQLite در دستورات DELETE, UPDATE یا SELECT است:
1 2 3 4 | SELECT|DELETE|UPDATE column1, column2... INDEXED BY (index_name) table_name WHERE (CONDITION); |
مثال
جدول COMPANY را به صورت زیر در نظر بگیرید، ما یک INDEXED ایجاد کرده و با عملگر INDEXED BY از آن استفاده می کنیم.
1 2 | sqlite> CREATE INDEX salary_index ON COMPANY(salary); sqlite> |
حالا داده ها را از جدول COMPANY با استفاده از INDEXED BY انتخاب می کنیم :
1 | sqlite> SELECT * FROM COMPANY INDEXED BY salary_index WHERE salary > 5000; |
کد فوق در SQLite نتیجه ی زیر را تولید می کند :
1 2 3 4 5 6 7 8 9 | ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 7 James 24 Houston 10000.0 2 Allen 25 Texas 15000.0 1 Paul 32 California 20000.0 3 Teddy 23 Norway 20000.0 6 Kim 22 South-Hall 45000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 |
با استفاده از دستور INDEXED BY در SQLite می توان مقادیری را در جدول بر اساس فیلدی که قبلا index شده به نحوی که در مباحث فوق گفته شده برای استخراج داده ها و INDEXED آن ها استفاده کرد.