SQLite基本语法手册_第1页
SQLite基本语法手册_第2页
SQLite基本语法手册_第3页
SQLite基本语法手册_第4页
SQLite基本语法手册_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论