اس کیو لایت db/sqlite
پایگاه دادهی SQLite در یک پرونده یا در حافظه.
واردسازی دیتابیس.اس کیو لایت
SQLite پایگاه دادهای است که در یک پرونده جا میشود و سرور لازم ندارد؛ برای برنامههای رومیزی، ابزارها و بسیاری از سایتها کافی است. برای اجرا کتابخانهی sqlite3 باید روی سیستم باشد.
دو راه کار هست: روالهای این بسته، مثل پرسمان و بعدی، که به همهی امکانات SQLite میرسند؛ یا متدهای پایگاه داده و ردیفها و اتصال که همان رابط مشترک دیتابیس است. مقدارهای کاربر را با آماده سازی و روالهای اتصال ... بفرستید، نه با چسباندن به متن SQL.
گونهها
پایگاه داده Database
ساختار پایگاه داده| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| handle | handle | تهی* | اشارهگر SQLite. |
واردسازی دیتابیس
واردسازی دیتابیس.اس کیو لایت
روال ریشه:
پ := اس کیو لایت.بازکردن(":memory:")
سرچاپ پ.نوع()، پ.معتبر()، پ.پینگ()
_ := پ.اجرا("CREATE TABLE notes (id INTEGER PRIMARY KEY, body TEXT, stars REAL)")
_ := پ.اجرا("INSERT INTO notes (body, stars) VALUES (" + پ.نقل قول("یادداشتِ 'اول'") + ", 4.5)")
سرچاپ پ.شناسه آخرین درج()، پ.تعداد تغییرات()
ت := پ.شروع تراکنش()
_ := ت.اجرا("INSERT INTO notes (body) VALUES ('دوم')")
تر := ت.پرسمان("SELECT COUNT(*) FROM notes")
_ := تر.بعدی()
سرچاپ تر.عدد صحیح(۰)
_ := تر.بستن()
سرچاپ ت.معتبر()، ت.ثبت تراکنش()
ر := پ.پرسمان("SELECT id, body, stars FROM notes ORDER BY id")
سرچاپ ر.معتبر()، ر.تعداد ستون()، ر.نام ستون(۲)
تا ر.بعدی():
ناپایا ستاره := "-"
اگر وارونه ر.خالی است(۲):
ستاره = "" + ر.عدد اعشار(۲)
پایان
سرچاپ ر.عدد صحیح۶۴(۰)، ر.متن(۱)، ستاره، ر.نوع ستون(۲)
پایان
_ := ر.بستن()
ت۲ := پ.شروع تراکنش()
_ := ت۲.اجرا("DELETE FROM notes")
_ := ت۲.بازگردانی()
ا := اس کیو لایت.اتصال(پ)
سرچاپ دیتابیس.پرسمان عدد(ا، "SELECT COUNT(*) FROM notes")
سرچاپ پ.اجرا("DROP TABLE nope") != ۰، پ.خطا()
سرچاپ پ.بستن()
پایاننوع Kind
روال نوع(): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Methods.salam
معتبر Ok
روال معتبر(): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Methods.salam
پینگ Ping
روال پینگ(): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Methods.salam
اجرا Exec
روال اجرا(sql: رشته): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Methods.salam
پرسمان Query
روال پرسمان(sql: رشته): dyn db.ردیف هانمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Methods.salam
شروع تراکنش Begin
روال شروع تراکنش(): dyn db.Txنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Methods.salam
شناسه آخرین درج LastInsertId
روال شناسه آخرین درج(): صحیح۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Methods.salam
تعداد تغییرات Changes
روال تعداد تغییرات(): صحیح۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Methods.salam
خطا Error
روال خطا(): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Methods.salam
نقل قول Quote
روال نقل قول(s: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Methods.salam
بستن Close
روال بستن(): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Methods.salam
ردیف ها Rows
ساختار ردیف ها| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| handle | handle | تهی* | اشارهگر دستور. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Methods.salam
معتبر Ok
روال معتبر(): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Methods.salam
بعدی Next
روال بعدی(): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Methods.salam
تعداد ستون ColumnCount
روال تعداد ستون(): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Methods.salam
نام ستون ColumnName
روال نام ستون(col: صحیح): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Methods.salam
نوع ستون ColumnType
روال نوع ستون(col: صحیح): صحیحنوع ... در دیتابیس؛ برای تهی صفر.نمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Methods.salam
خالی است IsNull
روال خالی است(col: صحیح): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Methods.salam
متن Text
روال متن(col: صحیح): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Methods.salam
عدد صحیح Int
روال عدد صحیح(col: صحیح): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Methods.salam
عدد صحیح۶۴ Int64
روال عدد صحیح۶۴(col: صحیح): صحیح۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Methods.salam
عدد اعشار Float
روال عدد اعشار(col: صحیح): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Methods.salam
بستن Close
روال بستن(): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Methods.salam
تراکنش Txn
ساختار تراکنش| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| handle | handle | تهی* | اشارهگر پایگاه داده. |
واردسازی دیتابیس.اس کیو لایت
روال ریشه:
سرچاپ اس کیو لایت.در دسترس()، اس کیو لایت.نسخه().طول() > ۰
پ := اس کیو لایت.بازکردن(":memory:")
سرچاپ اس کیو لایت.معتبر(پ)
_ := اس کیو لایت.اجرا(پ، "CREATE TABLE books (id INTEGER PRIMARY KEY, title TEXT NOT NULL, pages INTEGER, price REAL, note TEXT)")
_ := اس کیو لایت.اجرا(پ، "INSERT INTO books (title, pages, price) VALUES ('شازده کوچولو', 96, 4.5)")
سرچاپ اس کیو لایت.شناسه آخرین درج(پ)، اس کیو لایت.تعداد تغییرات(پ)
د := اس کیو لایت.آماده سازی(پ، "INSERT INTO books (title, pages, price, note) VALUES (?, ?, ?, ?)")
سرچاپ اس کیو لایت.دستور معتبر(د)
_ := اس کیو لایت.اتصال متن(د، ۱، "بوف کور")
_ := اس کیو لایت.اتصال عدد(د، ۲، ۱۲۰)
_ := اس کیو لایت.اتصال اعشار(د، ۳، ۶.۲۵)
_ := اس کیو لایت.اتصال خالی(د، ۴)
_ := اس کیو لایت.بعدی(د)
_ := اس کیو لایت.بازنشانی(د)
_ := اس کیو لایت.اتصال متن(د، ۱، "سووشون")
_ := اس کیو لایت.اتصال عدد(د، ۲، ۳۰۴)
_ := اس کیو لایت.اتصال اعشار(د، ۳، ۹)
_ := اس کیو لایت.اتصال متن(د، ۴، "کلاسیک")
_ := اس کیو لایت.بعدی(د)
_ := اس کیو لایت.پایان(د)
سرچاپ اس کیو لایت.مجموع تغییرات(پ)
ر := اس کیو لایت.پرسمان(پ، "SELECT id, title, pages, price, note FROM books ORDER BY id")
سرچاپ اس کیو لایت.تعداد ستون(ر)، اس کیو لایت.نام ستون(ر، ۱)
تا اس کیو لایت.بعدی(ر):
ناپایا یادداشت := "-"
اگر وارونه اس کیو لایت.خالی است(ر، ۴):
یادداشت = اس کیو لایت.متن(ر، ۴)
پایان
سرچاپ اس کیو لایت.عدد صحیح(ر، ۰)، اس کیو لایت.متن(ر، ۱)، اس کیو لایت.عدد صحیح۶۴(ر، ۲)، اس کیو لایت.عدد اعشار(ر، ۳)، یادداشت
پایان
_ := اس کیو لایت.پایان(ر)
ن := اس کیو لایت.پرسمان(پ، "SELECT pages, title, price, note FROM books WHERE id = 2")
_ := اس کیو لایت.بعدی(ن)
سرچاپ اس کیو لایت.نوع ستون(ن، ۰)، اس کیو لایت.نوع ستون(ن، ۱)، اس کیو لایت.نوع ستون(ن، ۲)، اس کیو لایت.نوع ستون(ن، ۳)
_ := اس کیو لایت.پایان(ن)
سرچاپ اس کیو لایت.پرسمان عدد(پ، "SELECT SUM(pages) FROM books")، اس کیو لایت.پرسمان متن(پ، "SELECT title FROM books ORDER BY price DESC LIMIT 1")
_ := اس کیو لایت.شروع تراکنش(پ)
_ := اس کیو لایت.اجرا(پ، "DELETE FROM books")
_ := اس کیو لایت.بازگردانی(پ)
_ := اس کیو لایت.شروع تراکنش(پ)
_ := اس کیو لایت.اجرا(پ، "UPDATE books SET price = price * 2")
_ := اس کیو لایت.ثبت تراکنش(پ)
سرچاپ اس کیو لایت.پرسمان عدد(پ، "SELECT COUNT(*) FROM books")، اس کیو لایت.پرسمان متن(پ، "SELECT price FROM books WHERE id = 1")
سرچاپ اس کیو لایت.اجرا(پ، "SELECT * FROM missing") != ۰
سرچاپ اس کیو لایت.خطا(پ)
_ := اس کیو لایت.بستن(پ)
پایانمعتبر Ok
روال معتبر(): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
اجرا Exec
روال اجرا(sql: رشته): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
پرسمان Query
روال پرسمان(sql: رشته): dyn db.ردیف هانمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
ثبت تراکنش Commit
روال ثبت تراکنش(): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
بازگردانی Rollback
روال بازگردانی(): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
روالها
اتصال Conn
روال اتصال(d: پایگاه داده): dyn db.Connectionاتصال مشترک برمیگرداند.نمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
در دسترس Available
روال در دسترس(): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
نسخه Version
روال نسخه(): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
بازکردن Open
روال بازکردن(path: رشته): پایگاه داده:memory: یعنی پایگاه دادهی موقت در حافظه.نمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
معتبر Ok
روال معتبر(db: پایگاه داده): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
بستن Close
روال بستن(db: پایگاه داده): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
اجرا Exec
روال اجرا(db: پایگاه داده، sql: رشته): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
خطا Error
روال خطا(db: پایگاه داده): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
شناسه آخرین درج LastInsertId
روال شناسه آخرین درج(db: پایگاه داده): صحیح۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
تعداد تغییرات Changes
روال تعداد تغییرات(db: پایگاه داده): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
مجموع تغییرات TotalChanges
روال مجموع تغییرات(db: پایگاه داده): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
شروع تراکنش Begin
روال شروع تراکنش(db: پایگاه داده): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
ثبت تراکنش Commit
روال ثبت تراکنش(db: پایگاه داده): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
بازگردانی Rollback
روال بازگردانی(db: پایگاه داده): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
آماده سازی Prepare
روال آماده سازی(db: پایگاه داده، sql: رشته): ردیف ها? آماده میکند؛ مقدارها را با روالهای اتصال ... بدهید. امنترین راه برای مقدارهای کاربر.نمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
پرسمان Query
روال پرسمان(db: پایگاه داده، sql: رشته): ردیف هابعدی بخوانید و در پایان پایان را صدا بزنید.نمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
دستور معتبر StmtOk
روال دستور معتبر(rows: ردیف ها): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
بعدی Next
روال بعدی(rows: ردیف ها): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
بازنشانی Reset
روال بازنشانی(rows: ردیف ها): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
پایان Finish
روال پایان(rows: ردیف ها): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
اتصال متن BindText
روال اتصال متن(rows: ردیف ها، idx: صحیح، val: رشته): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
اتصال عدد BindInt
روال اتصال عدد(rows: ردیف ها، idx: صحیح، val: صحیح۶۴): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
اتصال اعشار BindFloat
روال اتصال اعشار(rows: ردیف ها، idx: صحیح، val: اعشار۶۴): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
اتصال خالی BindNull
روال اتصال خالی(rows: ردیف ها، idx: صحیح): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
تعداد ستون ColumnCount
روال تعداد ستون(rows: ردیف ها): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
متن Text
روال متن(rows: ردیف ها، col: صحیح): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
نام ستون ColumnName
روال نام ستون(rows: ردیف ها، col: صحیح): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
عدد صحیح Int
روال عدد صحیح(rows: ردیف ها، col: صحیح): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
عدد صحیح۶۴ Int64
روال عدد صحیح۶۴(rows: ردیف ها، col: صحیح): صحیح۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
عدد اعشار Float
روال عدد اعشار(rows: ردیف ها، col: صحیح): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
نوع ستون ColumnType
روال نوع ستون(rows: ردیف ها، col: صحیح): صحیحنوع ستون ردیفها بهجای آن ثابتهای مشترک را برمیگرداند.نمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
خالی است IsNull
روال خالی است(rows: ردیف ها، col: صحیح): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
پرسمان عدد QueryInt
روال پرسمان عدد(db: پایگاه داده، sql: رشته): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam
پرسمان متن QueryText
روال پرسمان متن(db: پایگاه داده، sql: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-sqlite-Basics.salam