sqlite3命令方式操作大全

上传人:s9****2 文档编号:457734959 上传时间:2023-05-11 格式:DOCX 页数:25 大小:75.45KB
返回 下载 相关 举报
sqlite3命令方式操作大全_第1页
第1页 / 共25页
sqlite3命令方式操作大全_第2页
第2页 / 共25页
sqlite3命令方式操作大全_第3页
第3页 / 共25页
sqlite3命令方式操作大全_第4页
第4页 / 共25页
sqlite3命令方式操作大全_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《sqlite3命令方式操作大全》由会员分享,可在线阅读,更多相关《sqlite3命令方式操作大全(25页珍藏版)》请在金锄头文库上搜索。

1、SQLite3命令操作大全 SQLite库包含一个名字叫做sqlite3的命令行,它可以让用户手工输入并执行面向SQLite数据库的SQL命令。本文档提供一个样使用sqlite3的简要说明.一.qlite3一些常用Sql语句操作创建表:create table 表名(元素名 类型,); 删除表:drop table 表名; 插入数据:insert into 表名 values(, , ,) ; 创建索引:create unique index 索引名on 表名(col.); 删除索引:drop index 索引名(索引是不可更改的,想更改必须删除重新建)删除数据:delete from 表名;

2、 更新数据:update 表名 set 字段=修改后的内容 where 条件; 增加一个列:Alter table 表名 add column 字段 数据类型; 选择查询: select 字段(以”,”隔开) from 表名 where 条件; 日期和时间: Select datetime(now) 日期: select date(now); 时间: select time(now); 总数:select count(*) from table1;求和:select sum(field1) from table1;平均:select avg(field1) from table1;最大:sel

3、ect max(field1) from table1;最小:select min(field1) from table1;排序:select 字段 from table1 order by 字段(desc或asc) ;(降序或升序)分组:select 字段 from table1 group by 字段,字段 ;限制输出:select 字段 from table1 limit x offset y; = select字段fromtable1 limit y , x;(备注:跳过y行,取x行数据)(操作仍待完善)SQLite支持哪些数据类型些?NULL 值为NULLINTEGER 值为带符号的

4、整型,根据类别用1,2,3,4,6,8字节存储REAL 值为浮点型,8字节存储TEXT 值为text字符串,使用数据库编码(UTF-8, UTF-16BE or UTF-16-LE)存储BLOB 值为二进制数据,具体看实际输入但实际上,sqlite3也接受如下的数据类型:smallint 16 位元的整数interger 32 位元的整数decimal(p,s) p 精确值和 s 大小的十进位整数,精确值p是指全部有几个数(digits)大小值 ,s是指小数点後有几位数。如果没有特别指定,则系统会设为 p=5; s=0 。float 32位元的实数。double 64位元的实数。char(n)

5、 n 长度的字串,n不能超过 254。varchar(n) 长度不固定且其最大长度为 n 的字串,n不能超过 4000。graphic(n) 和 char(n) 一样,不过其单位是两个字元 double-bytes, n不能超过127。这个形态是为了支援两个字元长度的字体,例如中文字。vargraphic(n) 可变长度且其最大长度为 n 的双字元字串,n不能超过 2000。date 包含了 年份、月份、日期。time 包含了 小时、分钟、秒。timestamp 包含了 年、月、日、时、分、秒、千分之一秒。如果将声明表的一列设置为 INTEGER PRIMARY KEY,则具有:1每当你在该列

6、上插入一NULL值时, NULL自动被转换为一个比该列中最大值大1的一个整数;2如果表是空的, 将会是1;算术函数abs(X)返回给定数字表达式的绝对值。max(X,Y,.)返回表达式的最大值。min(X,Y,.)返回表达式的最小值。random(*)返回随机数。round(X,Y)返回数字表达式并四舍五入为指定的长度或精度。字符处理函数length(X)返回给定字符串表达式的字符个数。lower(X)将大写字符数据转换为小写字符数据后返回字符表达式。upper(X)返回将小写字符数据转换为大写的字符表达式。substr(X,Y,Z)返回表达式的一部分。randstr()quote(A)lik

7、e(A,B)确定给定的字符串是否与指定的模式匹配。glob(A,B)条件判断函数coalesce(X,Y,.)ifnull(X,Y)nullif(X,Y)集合函数avg(X)返回组中值的平均值。count(X)返回组中项目的数量。max(X)返回组中值的最大值。min(X)返回组中值的最小值。sum(X)返回表达式中所有值的和。其他函数typeof(X)返回数据的类型。last_insert_rowid()返回最后插入的数据的 ID 。sqlite_version(*)返回 SQLite 的版本。change_count()返回受上一语句影响的行数。last_statement_change_

8、count()二.有关事务的操作(成批操作的时候,启动事务,比不启动事务快n倍)开始事物处理BEGIN TRANSACTION;.进行对数据库操作.事物提交COMMIT;具体事例如下:假设有一个 t1 表,其中有 a, b, c 三列, 如果要删除列 c ,以下过程描述如何做:BEGIN TRANSACTION;CREATE TEMPORARY TABLE t1_backup(a,b);INSERT INTO t1_backup SELECT a,b FROM t1;DROP TABLE t1;CREATE TABLE t1(a,b);INSERT INTO t1 SELECT a,b FRO

9、M t1_backup;DROP TABLE t1_backup;COMMIT;事物三.启动sqlite3程序仅仅需要敲入带有SQLite数据库名字的sqlite3命令即可。如果文件不存在,则创建一个新的(数据库)文件。然后 sqlite3程序将提示你输入SQL。敲入SQL语句(以分号“;”结束),敲回车键之后,SQL语句就会执行。 例如,创建一个包含一个表tb11名字为ex1的SQLite数据库,你可以这样做:数据库、表的建立,记录的添加、查询、修改和删除F:sqlite3 database.dbsqlite create table admin(username text,age inte

10、ger);sqlite insert into admin values(kuang,25);sqlite select * from admin;sqlite update admin set username=kk,age=24 where username=kuang and age=25;sqlite delete from admin where username=kk;注:每条sql语句后必须以;号结尾!$sqlite3 ex1Enter .help for instructionssqlite create table tbl1(one varchar(10), two smal

11、lint);sqlite insert into tbl1 values(hello!, 10);sqlite insert into tbl1 values(goodbye, 20);sqlite select * from tbl1;hello!|10goodbye|20sqlite 你可以通过敲你所用系统的文件结束符(通常是Ctrl + D)或者中断字符(通常是Ctrl + C)。来终止sqlite3程序。确定你在每个SQL语句结束敲入分号!sqlite3程序通过查找分号来决定一个SQL语句的结束。如果你省略分 号,sqlite3将给你一个连续的命令提示符并等你给当前的SQL命令添加更多

12、的文字。这个特点让你输入多行的多个SQL语句,例如:sqlite create table tbl2( . f1 varchar(30) primary key, . f2 text, . f3 real . );sqlite四.题外话:查询SQLITE_MASTER表 SQLite数据库的框架被保存在一个名叫sqlite_master的特殊的表中。你可以像查询其它表一样通过执行“SELECT”查询这个特殊的表。例如:$ sqlite3 ex1Enter .help for instructionssqlite select * from sqlite_master; type = table

13、 name = tbl1tbl_name = tbl1rootpage = 3 sql = create table tbl1(one varchar(10), two smallint)sqlite 但你不能在sqlite_master表中执行诸如DROP TABLE, UPDATE, INSERT 或者DELETE命令。sqlite_master表在你创建、删除和索引数据库时自动更新这个表。你不能手工更改sqlite_master表。 TEMPORARY表的结构没有存储在sqlite_master表中,由于TEMPORARY表对应用是不可见的,而不是应用程序创建这个表。 TEMPORARY

14、表结构被存储在另外一个名叫sqlite_temp_master的特定的表中。sqlite_temp_master表是临 时表自身。五.sqlite3的特殊命令 大多数候,sqlite3读入输入行,并把它们传递到SQLite库中去运行。但是如果输入行以一个点(“.”)开始,那么这行将被sqlite3程序自 己截取并解释。这些“点命令”通常被用来改变查询输出的格式,或者执行鞭个预封包(预定义prepackaged)的查询语句。你可以在任何时候输入“.help”,列出可用的点命令。例如sqlite .help.bail ON|OFF Stop after hitting an error. Default OFF(遇到错误时不再继续, 默认为OFF).databases List names and files of attached databases(列出附加到数据库的数据库和文件).dump ?TABLE? . Dump the database in an SQL text format(保存表到SQL格式的文件中, 没有指表名, 则保存所有. 如果要保存到磁盘上需要结合 .output 命令.)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 机械/制造/汽车 > 汽车技术

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号