版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CASME 2019-2025高低压开关柜数字化运维与智能感知系统技术规范
- T/CADERM 3032-2020创伤中心多学科协作诊治规范
- 2026 下半年事业编考试公基供给侧改革必做习题题库
- 国家开发银行基层金融业务管理系统高校助学贷款支付宝使用说明
- 5.2必须长期坚持的指导思想 教案 2026-2027学年道德与法治 九年级上册统编版
- 治安案件查处 习题集
- 《人的由来复习》课件
- 控制工程基础 课件全套 朱文兴 第1-7章 绪论、控制系统的数学模型- 控制系统频域校正
- 市级公开课课件《拿来主义》
- 企业的发展战略与人力资源管理的关系
- 广东能源集团笔试内容
- 2025年广州市南沙区事业单位招聘高校毕业生真题
- 语音厅试音文本
- 2026年中国超轻型和轻型运动飞机市场数据研究及竞争策略分析报告
- 医务人员职业暴露防护培训课件
- 2026年布鲁氏菌病(慢性期)中医临床路径
- 老年产品设计课件教学
- 外汇业务培训
- 手术分级管理制度(2025年版)
- 2025年大学生人文知识竞赛题库及答案
- 最详细对比-高中数学课程标准2025修订版与2020版
评论
0/150
提交评论