English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
SQLite NULL是用来表示缺失值的术语。表中的空值是字段中看起来为空的值。
具有 NULL 值的字段是没有值的字段。理解 NULL 值与零值或包含空格的字段是不同的,这一点非常重要。
هناكNULL创建表时使用的基本语法。
SQLite> CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL);
في هذا المكان،NOT NULLتعني أن يجب دائمًا تقديم قيمة صريحة للجنسية المحددة للبادئة.
الحقول التي تحتوي على NULL هي الحقول التي تركت فارغة أثناء عملية إنشاء السجل.
قد تكون القيم NULL مشكلة عند اختيار البيانات، لأن النتيجة دائمًا غير معروفة عند مقارنة القيم غير المعروفة بأي قيمة أخرى، ولن تكون مدرجة في النتيجة النهائية. لنفكر في الجدول التالي COMPANY-
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 بول 32 كاليفورنيا 20000.0 2 ألن 25 تكساس 15000.0 3 تيدي 23 نرويجية 20000.0 4 مارك 25 ريتش مونده 65000.0 5 ديفيد 27 تكساس 85000.0 6 كيم 22 ساوث هول 45000.0 7 جيمس 24 هيوستن 10000.0
دعونا نستخدم جملة UPDATE لضبط القيم القابلة لتكون NULL كما يلي:
sqlite> UPDATE COMPANY SET ADDRESS = NULL, SALARY = NULL where ID IN(6,7);
الآن، جدول الشركة سيكون يحتوي على السجلات التالية.
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 بول 32 كاليفورنيا 20000.0 2 ألن 25 تكساس 15000.0 3 تيدي 23 نرويجية 20000.0 4 مارك 25 ريتش مونده 65000.0 5 ديفيد 27 تكساس 85000.0 6 Kim 22 7 James 24
دعونا نرى الآنIS NOT NULLاستخدام دالة، ستقوم بعرض جميع السجلات التي لا يحتوي SALARY على NULL.
sqlite> SELECT ID, NAME, AGE, ADDRESS, SALARY FROM الشركة WHERE SALARY IS NOT NULL;
الجملة SQLite أعلاه ستنتج النتيجة التالية-
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 بول 32 كاليفورنيا 20000.0 2 ألن 25 تكساس 15000.0 3 تيدي 23 نرويجية 20000.0 4 مارك 25 ريتش مونده 65000.0 5 ديفيد 27 تكساس 85000.0
هناكIS NULLاستخدام دالة، ستقوم بعرض جميع السجلات التي يحتوي SALARY على NULL.
sqlite> SELECT ID, NAME, AGE, ADDRESS, SALARY FROM الشركة WHERE SALARY IS NULL;
الجملة SQLite المذكورة أعلاه ستنتج النتيجة التالية.
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 6 Kim 22 7 James 24