版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、转SQLite基本语法手册 SQLite是一个软件库,用于实现自包含、非服务式、零配置、事务化的SQL数据库引擎。SQLite是一个嵌入式SQL数据库引擎,与其它大多数SQL数据库不同的是,SQLite没有独立的服务进程。SQLite直接读写原始的磁盘文件,一个拥有多个表、索引、触发器和视图的完整SQL数据库就包含在一个独立的磁盘文件中。 一.结构定义 1.CREATE TABLE:创建新表。语法:sql-
2、command := CREATE TEMP | TEMPORARY TABLE table-name ( column-def , column-def* , constraint*) sql-command := CREATE TEMP | TEMPORARY TABLE database-name.
3、table-name AS select-statement column-def := name type CONSTRAINT name column-constraint* type := typename |typename ( number ) |typename ( number , number ) column-constraint :=
4、160;NOT NULL conflict-clause |PRIMARY KEY sort-order conflict-clause |UNIQUE conflict-clause |CHECK ( expr ) conflict-clause |DEFAULT value |COLLATE collation-name
5、0;constraint := PRIMARY KEY ( column-list ) conflict-clause |UNIQUE ( column-list ) conflict-clause |CHECK ( expr ) conflict-clause conflict-clause := ON CONFL
6、ICT conflict-algorithm 2.CREATE VIEW:创建一个视图(虚拟表),该表以另一种方式表示一个或多个表中的数据。语法:sql-command := CREATE TEMP | TEMPORARY VIEW database-name. view-name AS select-statement 例子:CREATE VIEW master_view A
7、S SELECT * FROM sqlite_master WHERE type='view'说明:创建一个名为master_view的视图,其中包括sqlite_master这个表中的所有视图表。 3.CREATE TRIGGER:创建触发器,触发器是一种特殊的存储过程,在用户试图对指定的表执行指定的数据修改语句时自动执行。语法:sql-statement := CREATE TEMP
8、;| TEMPORARY TRIGGER trigger-name BEFORE | AFTER database-event ON database-name . table-nametrigger-action sql-statement := CREATE TEMP | TEMPORARY TRIGGER trigger-name INSTEAD OFdatabase-
9、event ON database-name . view-nametrigger-action database-event := DELETE | INSERT | UPDATE | UPDATE OF column-list trigger-action := FOR EACH ROW | FOR EACH STATEMENT &
10、#160; WHEN expression BEGIN trigger-step trigger-step *END trigger-step := update-statement | insert-statement | delete-statement | select-statement 例子:CREATE TRIGGER&
11、#160;update_customer_address UPDATE OF address ON customers BEGIN UPDATE orders SET address = new.address WHERE customer_name = ; END;说明:创建了一个名为update_customer_address的触发器
12、,当用户更新customers表中的address字段时,将触发并更新orders表中的address字段为新的值。比如执行如下一条语句:UPDATE customers SET address = '1 Main St.' WHERE name = 'Jack Jones'数据库将自动执行如下语句:UPDATE orders SET address = '1 Main
13、0;St.' WHERE customer_name = 'Jack Jones' 4.CREATE INDEX:为给定表或视图创建索引。语法:sql-statement := CREATE UNIQUE INDEX index-name ON database-name . table-name ( column-name , col
14、umn-name* ) ON CONFLICT conflict-algorithm column-name := name COLLATE collation-name ASC | DESC 例子:CREATE INDEX idx_email ON customers (email);说明:为customers表中的email创建一个名为idx_email的字段。
15、160; 二.结构删除 1.DROP TABLE:删除表定义及该表的所有索引。语法:sql-command := DROP TABLE database-name. table-name 例子:DROP TABLE customers; 2.DROP VIEW:删除一个视图。语法:sql-command := DROP VIE
16、W view-name 例子:DROP VIEW master_view; 3.DROP TRIGGER:删除一个触发器。语法:sql-statement := DROP TRIGGER database-name . trigger-name 例子:DROP TRIGGER update_customer_address; 4.DROP INDEX:
17、删除一个索引语法:sql-command := DROP INDEX database-name . index-name 例子:DROP INDEX idx_email; 三,数据操作 1.INSERT:将新行插入到表。 语法:sql-statement := INSERT OR conflict-algorithm INTO database-name
18、. table-name (column-list) VALUES(value-list) |INSERT OR conflict-algorithm INTO database-name . table-name (column-list) select-statement 2.UPDATE:更新表中的现有数据。 语法:sql-statement := UPDAT
19、E OR conflict-algorithm database-name . table-nameSET assignment , assignment*WHERE expr assignment := column-name = expr 3.DELETE:从表中删除行。 语法:sql-statement := DEL
20、ETE FROM database-name . table-name WHERE expr 4.SELECT:从表中检索数据。 语法:sql-statement := SELECT ALL | DISTINCT result FROM table-listWHERE exprGROUP BY expr-listHAVING
21、exprcompound-op select*ORDER BY sort-expr-listLIMIT integer ( OFFSET | , ) integer result := result-column , result-column* result-column := * | table-name . * | expr AS
22、 string table-list := table join-op table join-args* table := table-name AS alias |( select ) AS alias join-op := , | NATURAL LEFT | RIGHT | FULL OUTER
23、60;| INNER | CROSS JOIN join-args := ON expr USING ( id-list ) sort-expr-list := expr sort-order , expr sort-order* sort-order := COLLATE collation-name ASC
24、| DESC compound_op := UNION | UNION ALL | INTERSECT | EXCEPT 5.REPLACE:类似INSERT。 语法:sql-statement := REPLACE INTO database-name . table-name ( column-lis
25、t ) VALUES ( value-list ) |REPLACE INTO database-name . table-name ( column-list ) select-statement 四。事务处理 1.BEGIN TRANSACTION:标记一个事务的起始点。 语法:sql-statement
26、 := BEGIN TRANSACTION name 2.END TRANSACTION:标记一个事务的终止。 语法:sql-statement := END TRANSACTION name 3.COMMIT TRANSACTION:标志一个事务的结束。 语法:sql-statement := COMMIT
27、60;TRANSACTION name 4.ROLLBACK TRANSACTION:将事务回滚到事务的起点. 语法:sql-statement := ROLLBACK TRANSACTION name 五。其他操作 1.COPY:主要用于导入大量的数据。 语法:sql-statement := COPY OR conflict-algorithm database-name . table-name FROM filename USING DELIMITERS delim 例子:COPY customers FROM customers.csv; 2.ATTACH DATABASE:附加一个数据库到当
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新疆维吾尔自治区喀什地区巴楚县2024-2025学年高一上学期1月期末测试生物试卷(含答案)
- 陕西省汉中市二中类校2024-2025学年高一上学期12月第二次月考物理试卷(含答案)
- 2025年江苏省南京市、盐城市二市高考一模试卷-物理(含答案)
- 5计算题-工程核算(江苏)
- 化学-内蒙古鄂尔多斯市西四旗2024-2025学年2025届高三第一(上)学期期末联考试卷试题和答案
- 2025年度厂长任期目标管理与创新激励合同2篇
- 2024门窗工程材料供应与安装施工总承包合同3篇
- 2024年心理咨询师题库参考答案 (一)
- 2024生产车间技术改造项目承包合同3篇
- 2024雇佣临时驾驶员合同
- (完整版)中职数学习题及答案
- GB∕T 41627-2022 动物源空肠弯曲菌检测方法
- 供货保障措施
- (完整版)常用乐高零件清单汇总
- 消防四个能力
- 机动车环检标准方法验证模板
- AQL标准抽样检验表
- 美国Control4智能家居设计方案解说资料
- DES算法Matlab代码
- 交通事故快速处理单(正反打印)
- 电缆热稳定校验计算书
评论
0/150
提交评论