English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

قواعد SQLite

بعد SQLite هو مجموعة من القواعد والمعايير الفريدة التي تُعرف بالقواعد النحوية. يُقسم هذا الفصل إلى جميع القواعد الأساسية لـ SQLite.

الفرق بين الحروف الكبيرة والصغيرة

من الملاحظات التي يجب مراعاتها أن SQLite لا يفرق بين الحروف الكبيرة والصغيرة، أي أن جملة GLOB وglob لها نفس المعنى في جمل SQLite.

التعليقات

تعليقات SQLite هي تعليقات إضافية يمكن إضافتها إلى رمز SQLite لتحسين قراءته، ويمكن أن تظهر في أي مكان؛ يمكن أن تظهر في الفتحات، بما في ذلك داخل التعبيرات والجمل SQL الأخرى، ولكن لا يمكن أن تكون مضمنة.

تعليقات SQL تبدأ بـ “--” وتنتهي بالسطر التالي (ASCII 0x0a) أو حتى نهاية الإدخال (بأي مما يحدث أولاً).

يمكنك أيضًا استخدام التعليقات بنمط C، حيث تبدأ التعليقات بـ “ /*” وتنتهي بـ “ */” وتشمل “ */” التالية، أو حتى نهاية الإدخال (بأي مما يحدث أولاً). يمكن للتعليقات بنمط C أن تنتقل عبر عدة أسطر.

sqlite> .help -- This is a single line comment

جمل SQLite

جميع جمل SQLite تبدأ بأي كلمة رئيسية مثل SELECT،INSERT،UPDATE،DELETE،ALTER،DROP وما إلى ذلك، وتنتهي جميع الجمل بفاصلة (؛).

SQLite ANALYZE语句

ANALYZE;
أو
ANALYZE database_name;
أو
ANALYZE database_name.table_name;

SQLite AND / OR子句

SELECT عمود1، عمود2....عمودN;
FROM اسم الجدول;
WHERE CONDITION-1 {AND|OR} CONDITION-2;

SQLite ALTER TABLE语句

ALTER TABLE table_name ADD COLUMN column_def...;

SQLite ALTER TABLE语句(重命名)

ALTER TABLE table_name RENAME TO new_table_name;

SQLite ATTACH DATABASE语句

ATTACH DATABASE 'DatabaseName' As 'Alias-Name';

SQLite BEGIN TRANSACTION语句

BEGIN;
أو
BEGIN EXCLUSIVE TRANSACTION;

SQLite BETWEEN子句

SELECT عمود1، عمود2....عمودN;
FROM اسم الجدول;
WHERE column_name BETWEEN val-1 AND val-2;

SQLite COMMIT语句

COMMIT;

SQLite CREATE INDEX语句

CREATE INDEX index_name
ON table_name (column_name COLLATE NOCASE);

SQLite CREATE UNIQUE INDEX语句

CREATE UNIQUE INDEX index_name
ON table_name (column1, column2,...columnN);

SQLite CREATE TABLE语句

CREATE TABLE table_name(
   column1 datatype,
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
   PRIMARY KEY(one or more columns));

SQLite CREATE TRIGGER语句

CREATE TRIGGER database_name.trigger_name 
BEFORE INSERT ON table_name FOR EACH ROW
BEGIN 
   stmt1; 
   stmt2;
   ....
END;

جملة CREATE VIEW SQLite

CREATE VIEW database_name.view_name AS
استعلام SELECT statement....;

جملة CREATE VIRTUAL TABLE SQLite

CREATE VIRTUAL TABLE database_name.table_name USING weblog(access.log );
أو
CREATE VIRTUAL TABLE database_name.table_name USING fts3( );

جملة COMMIT TRANSACTION SQLite

COMMIT;

جزء COUNT SQLite

SELECT COUNT(اسم العمود)FROM table_name
WHERE شرط;

جملة DELETE SQLite

DELETE FROM table_name
WHERE {CONDITION};

جملة DETACH DATABASE SQLite

DETACH DATABASE 'Alias-Name';

جزء DISTINCT SQLite

SELECT DISTINCT عمود1, عمود2....عمودN
FROM table_name;

جملة DROP INDEX SQLite

DROP INDEX اسم قاعدة البيانات.index_name;

جملة DROP TABLE SQLite

DROP TABLE اسم قاعدة البيانات.table_name;

جملة DROP VIEW SQLite

DROP INDEX اسم قاعدة البيانات.view_name;

جملة DROP TRIGGER SQLite

DROP INDEX اسم قاعدة البيانات.trigger_name;

جزء EXISTS SQLite

SELECT عمود1، عمود2....عمودN;
FROM اسم الجدول;
WHERE اسم العمود EXISTS (SELECT * FROM table_name);

جملة EXPLAIN SQLite

توضيح استعلام INSERT statement...;
أو 
توضيح خطط الاستعلام SELECT statement...;

SQLite GLOB جزء

SELECT عمود1، عمود2....عمودN;
FROM اسم الجدول;
WHERE column_name GLOB { PATTERN };

جملة GROUP BY SQLite

SELECT SUM(column_name) FROM table_name
WHERE CONDITION
GROUP BY column_name;

مقارنة SQLite HAVING

SELECT SUM(column_name) FROM table_name
WHERE CONDITION
GROUP BY column_name
HAVING (arithematic function condition);

جملة SQLite INSERT INTO

INSERT INTO table_name( column1, column2....columnN)
VALUES ( value1, value2....valueN);

مقارنة SQLite IN

SELECT عمود1، عمود2....عمودN;
FROM اسم الجدول;
WHERE column_name IN (val-1, val-2,...val-N);

مقارنة SQLite LIKE

SELECT عمود1، عمود2....عمودN;
FROM اسم الجدول;
WHERE column_name LIKE { PATTERN };

مقارنة SQLite NOT IN

SELECT عمود1، عمود2....عمودN;
FROM اسم الجدول;
WHERE column_name NOT IN (val-1, val-2,...val-N);

جملة ORDER BY SQLite

SELECT عمود1، عمود2....عمودN;
FROM اسم الجدول;
WHERE CONDITION
ORDER BY column_name {ASC|DESC};

جملة SQLite PRAGMA

PRAGMA pragma_name;
مثلاً:
PRAGMA page_size;
PRAGMA cache_size = 1024;
PRAGMA table_info(table_name);

جملة SQLite RELEASE SAVEPOINT

RELEASE savepoint_name;

جملة SQLite REINDEX

REINDEX collation_name;
REINDEX database_name.index_name;
REINDEX database_name.table_name;

جملة SQLite ROLLBACK

ROLLBACK;
أو
ROLLBACK TO SAVEPOINT savepoint_name;

جملة SQLite SAVEPOINT

SAVEPOINT savepoint_name;

جملة SQLite SELECT

SELECT عمود1، عمود2....عمودN;
FROM table_name;

جملة SQLite UPDATE

UPDATE اسم الجدول;
SET عمود1 = قيمة1، عمود2 = قيمة2....عمودN = قيمةN;
[ WHERE شرط ];

جملة VACUUM SQLite

VACUUM;

جملة WHERE SQLite

SELECT عمود1، عمود2....عمودN;
FROM اسم الجدول;
WHERE شرط;