IOS-SQLite3语法

合集下载

sqlite3 用法

sqlite3 用法

sqlite3 用法以下是SQLite3的基本用法:1. 查看版本信息:在终端中输入“sqlite3 -version”。

2. 进入sqlite3:直接输入“sqlite3”并回车,和进入python一样。

3. 退出sqlite3:输入“.quit”。

4. 创建数据库:在shell中输入“sqlite3 ”(注意不要在sqlite3环境中输入)。

这将在当前目录下创建一个名为“”的数据库文件。

创建数据库后,不能直接退出,否则可能无法创建数据库文件。

5. 查看数据库列表:输入“.databases”。

6. 删除数据库:直接删除目录下的数据库文件。

7. 选择数据库:输入“.open +数据库名”。

如果数据库存在,将选择该数据库;如果不存在,系统将创建一个名为“”的数据库,并选中它。

8. 创建表(需要先选中数据库):输入“CREATE TABLE +表名(列定义)”。

例如,“CREATE TABLE Student(ID INT PRIMARY KEY NOT NULL, NAME VARCHAR(20), AGE INT)”。

9. 查看数据库中有哪些表:输入“.tables”。

10. 查看表的字段信息:输入“.schema + 表名”。

11. 删除指定的表:输入“DROP TABLE + 表名”。

12. 其他增删查改操作与MySQL中一致。

例如,查找数据:“SELECT FROM student WHERE ID=1;”。

以上是SQLite3的基本用法,具体操作可能因版本或特定需求而有所不同。

建议查阅SQLite3的官方文档或相关资料以获取更全面的信息。

sqlite3常用命令及语法

sqlite3常用命令及语法

sqlite数据库只用一个文件就ok,小巧方便,所以是一个非常不错的嵌入式数据库,SQLite大量的被用于手机,PDA,MP3播放器以及机顶盒设备。

Mozilla Firefox使用SQLite作为数据库。

Mac计算机中的包含了多份SQLite的拷贝,用于不同的应用。

PHP将SQLite作为内置的数据库。

Skype客户端软件在内部使用SQLite。

SymbianOS(智能手机操作平台的领航)内置SQLite。

AOL邮件客户端绑定了SQLite。

Solaris 10在启动过程中需要使用SQLite。

McAfee杀毒软件使用SQLite。

iPhones使用SQLite。

Symbian和Apple以外的很多手机生产厂商使用SQLite。

下面就sqlite中的常用命令和语法介绍可下载不同操作系统的相关版本sqlite gedit也可以使用火狐中的插件sqlite manager新建数据库sqlite3 databasefilename检查databasefilename是否存在,如果不存在就创建并进入数据库(如果直接退出,数据库文件不会创建)如果已经存在直接进入数据库对数据库进行操作sqlite中命令:以.开头,大小写敏感(数据库对象名称是大小写不敏感的).exit.help 查看帮助针对命令.database 显示数据库信息;包含当前数据库的位置.tables 或者.table 显示表名称没有表则不显示.schema 命令可以查看创建数据对象时的SQL命令;.schema databaseobjectname查看创建该数据库对象时的SQL的命令;如果没有这个数据库对象就不显示内容,不会有错误提示.read FILENAME 执行指定文件中的SQL语句.headers on/off 显示表头默认off.mode list|column|insert|line|tabs|tcl|csv 改变输出格式,具体如下sqlite> .mode listsqlite> select * from emp;7369|SMITH|CLERK|7902|17-12-1980|800||207499|ALLEN|SALESMAN|7698|20-02-1981|1600|300|30如果字段值为NULL 默认不显示也就是显示空字符串sqlite> .mode columnsqlite> select * from emp;7369 SMITH CLERK 7902 17-12-1980 800 207499 ALLEN SALESMAN 7698 20-02-1981 1600 300 307521 WARD SALESMAN 7698 22-02-1981 1250 500 30sqlite> .mode insertsqlite> select * from dept;INSERT INTO table VALUES(10,'ACCOUNTING','NEW YORK');INSERT INTO table VALUES(20,'RESEARCH','DALLAS');INSERT INTO table VALUES(30,'SALES','CHICAGO');INSERT INTO table VALUES(40,'OPERATIONS','BOSTON');sqlite> .mode linesqlite> select * from dept;DEPTNO = 10DNAME = ACCOUNTINGLOC = NEW YORKDEPTNO = 20DNAME = RESEARCHLOC = DALLASDEPTNO = 30DNAME = SALESLOC = CHICAGODEPTNO = 40DNAME = OPERATIONSLOC = BOSTONsqlite> .mode tabssqlite> select * from dept;10 ACCOUNTING NEW YORK20 RESEARCH DALLAS30 SALES CHICAGO40 OPERATIONS BOSTON sqlite> .mode tclsqlite> select * from dept; "10" "ACCOUNTING" "NEW YORK" "20" "RESEARCH" "DALLAS" "30" "SALES" "CHICAGO" "40" "OPERATIONS" "BOSTON" sqlite> .mode csvsqlite> select * from dept;10,ACCOUNTING,"NEW YORK"20,RESEARCH,DALLAS30,SALES,CHICAGO40,OPERATIONS,BOSTON.separator "X" 更改分界符号为X sqlite> .separator '**'sqlite> select * from dept;10**ACCOUNTING**"NEW YORK"20**RESEARCH**DALLAS30**SALES**CHICAGO40**OPERATIONS**BOSTON.dump ?TABLE? 生成形成数据库表的SQL脚本.dump 生成整个数据库的脚本在终端显示.output stdout 将输出打印到屏幕默认.output filename 将输出打印到文件(.dump .output 结合可将数据库以sql 语句的形式导出到文件中).nullvalue STRING 查询时用指定的串代替输出的NULL串默认为.nullvalue ''字段类型:数据库中存储的每个值都有一个类型,都属于下面所列类型中的一种,(被数据库引擎所控制)NULL: 这个值为空值INTEGER: 值被标识为整数,依据值的大小可以依次被存储为1,2,3,4,5,6,7,8个字节REAL: 所有值都是浮动的数值,被存储为8字节的IEEE浮动标记序号.TEXT: 文本. 值为文本字符串,使用数据库编码存储(TUTF-8, UTF-16BE or UTF-16-LE).BLOB: 值是BLOB数据,如何输入就如何存储,不改变格式.值被定义为什么类型只和值自身有关,和列没有关系,和变量也没有关系.所以sqlite被称作弱类型数据库数据库引擎将在执行时检查、解析类型,并进行数字存储类型(整数和实数)和文本类型之间的转换.SQL语句中部分的带双引号或单引号的文字被定义为文本,如果文字没带引号并没有小数点或指数则被定义为整数,如果文字没带引号但有小数点或指数则被定义为实数,如果值是空则被定义为空值.BLOB数据使用符号X'ABCD'来标识.但实际上,sqlite3也接受如下的数据类型:smallint 16位的整数。

iOS开发数据库篇—SQLite常用的函数

iOS开发数据库篇—SQLite常用的函数

iOS开发数据库篇—SQLite常⽤的函数iOS开发数据库篇—SQLite常⽤的函数⼀、简单说明1.打开数据库int sqlite3_open(const char *filename, // 数据库的⽂件路径sqlite3 **ppDb // 数据库实例);2.执⾏任何SQL语句int sqlite3_exec(sqlite3*, // ⼀个打开的数据库实例const char *sql, // 需要执⾏的SQL语句int (*callback)(void*,int,char**,char**), // SQL语句执⾏完毕后的回调void *, // 回调函数的第1个参数char **errmsg // 错误信息);3.检查SQL语句的合法性(查询前的准备)int sqlite3_prepare_v2(sqlite3 *db, // 数据库实例const char *zSql, // 需要检查的SQL语句int nByte, // SQL语句的最⼤字节长度sqlite3_stmt **ppStmt, // sqlite3_stmt实例,⽤来获得数据库数据const char **pzTail);4.查询⼀⾏数据int sqlite3_step(sqlite3_stmt*); // 如果查询到⼀⾏数据,就会返回SQLITE_ROW5.利⽤stmt获得某⼀字段的值(字段的下标从0开始)double sqlite3_column_double(sqlite3_stmt*, int iCol); // 浮点数据int sqlite3_column_int(sqlite3_stmt*, int iCol); // 整型数据sqlite3_int64 sqlite3_column_int64(sqlite3_stmt*, int iCol); // 长整型数据const void *sqlite3_column_blob(sqlite3_stmt*, int iCol); // ⼆进制⽂本数据const unsigned char *sqlite3_column_text(sqlite3_stmt*, int iCol); // 字符串数据⼆、SQLite编码1.创建、打开、关闭数据库创建或打开数据库// path是数据库⽂件的存放路径sqlite3 *db = NULL;int result = sqlite3_open([path UTF8String], &db);代码解析:sqlite3_open()将根据⽂件路径打开数据库,如果不存在,则会创建⼀个新的数据库。

SQLite3简单使用的详解

SQLite3简单使用的详解

SQLite3简单使用的详解SQLite3返回值的意思:#define SQLITE_OK 0 /* Successful result *//* beginning-of-error-codes */#define SQLITE_ERROR 1 /* SQL error or missing database */ #define SQLITE_INTERNAL 2 /* Internal logic error in SQLite */#define SQLITE_PERM 3 /* Access permission denied */#define SQLITE_ABORT 4 /* Callback routine requested an abort */#define SQLITE_BUSY 5 /* The database file is locked */#define SQLITE_LOCKED 6 /* A table in the database is locked */#define SQLITE_NOMEM 7 /* A malloc() failed */#define SQLITE_READONLY 8 /* Attempt to write a readonly database */#define SQLITE_INTERRUPT 9 /* Operation terminated by sqlite3_interrupt()*/ #define SQLITE_IOERR 10 /* Some kind of disk I/O error occurred */#define SQLITE_CORRUPT 11 /* The database disk image is malformed */#define SQLITE_NOTFOUND 12 /* Unknown opcode in sqlite3_file_control() */ #define SQLITE_FULL 13 /* Insertion failed because database is full */#define SQLITE_CANTOPEN 14 /* Unable to open the database file */#define SQLITE_PROTOCOL 15 /* Database lock protocol error */#define SQLITE_EMPTY 16 /* Database is empty */#define SQLITE_SCHEMA 17 /* The database schema changed */#define SQLITE_TOOBIG 18 /* String or BLOB exceeds size limit */#define SQLITE_CONSTRAINT 19 /* Abort due to constraint violation */#define SQLITE_MISMATCH 20 /* Data type mismatch */#define SQLITE_MISUSE 21 /* Library used incorrectly */#define SQLITE_NOLFS 22 /* Uses OS features not supported on host */#define SQLITE_AUTH 23 /* Authorization denied */#define SQLITE_FORMAT 24 /* Auxiliary database format error */#define SQLITE_RANGE 25 /* 2nd parameter to sqlite3_bind out of range */ #define SQLITE_NOTADB 26 /* File opened that is not a database file */#define SQLITE_ROW 100 /* sqlite3_step() has another row ready */#define SQLITE_DONE 101 /* sqlite3_step() has finished executing *//* end-of-error-codes */关于事物int result;result = sqlite3_exec( db, "begin transaction", 0, 0, &zErrorMsg ); //开始一个事务result = sqlite3_exec( db, "commit transaction", 0, 0, &zErrorMsg ); //提交事务result = sqlite3_exec( db, "rollback transaction", 0, 0, &zErrorMsg ); //回滚事务关于SQLite3和标准sql之间的差异和用法(不全)1. sql语句中不能使用top关键字,比如:SELECT TOP x * FROM table_name WHERE .... ORDER BY .... DESC检索到的记录按降序排,取其前x条记录。

SQLite3 使用教学

SQLite3 使用教学

SQLite3 使用教学嵌入式数据库通常与操作系统和具体应用集成在一起,无须独立运行的数据库引擎,由程序直接调用相应的API去实现对数据的存取操作。

更直白地讲,嵌入式数据库是一种具备了基本数据库特性的数据文件。

嵌入式数据库与其它数据库产品的区别是,前者是程序驱动式,而后者是引擎响应式。

嵌入式数据库的一个很重要的特点是它们的体积非常小,编译后的产品也不过几十KB,在一些移动设备上极具竞争力。

SQLite有以下特性:支持ACID事务;零配置一无需安装和管理配置;储存在单一磁盘文件中的一个完整的数据库;数据库文件可以在不同字节顺序的机器间自由共享;支持数据库大小至2TB;足够小,全部源码大致3万行c代码,250KB;比目前流行的大多数数据库对数据的操作要快;提供了对事务功能和并发处理的支持,应用Transaction既保证了数据的完整性,也会提高运行速度,因为多条语句一起提交给数据库的速度会比一条一条的提交方式更快;独立,没有额外依赖。

OS X自从10.4后把SQLite这套相当出名的数据库软件,放进了作业系统工具集里。

OS X包装的是第三版的SQLite,又称SQLite3。

这套软件有几个特色:∙软件属于公共财(public domain),SQLite可说是某种「美德软件」(virtueware),作者本人放弃着作权,而给使用SQLite 的人以下的「祝福」(blessing):o May you do good and not evil. 愿你行善莫行恶o May you find forgiveness for yourself and forgive others. 愿你原谅自己宽恕他人o May you share freely, never taking more than you give. 愿你宽心与人分享,所取不多于你所施予∙支援大多数的SQL指令(下面会简单介绍)。

∙一个档案就是一个数据库。

sqlite3的语法

sqlite3的语法

SQLite数据类型:NULL 值为NULLINTEGER值为带符号的整型,根据类别用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) 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.每当你在该列上插入一NULL值时, NULL自动被转换为一个比该列中最大值大1的一个整数;2.如果表是空的,将会是1;SQLite语法:1、创建表:(1)假设我们要建一个名叫film的资料表,只要键入以下指令就可以了:create table film(sid,title, length, year, starring);(2)如果要sid自增,则可以如下创建表:create table film(sid INTEGER primany key autoincrement, title, length, year, starring);2、向表中插入数据:(1)则当插入的时候就可以省略sid了,如下:insert into film values ('Silence of the Lambs, The', 118, 1991, 'Jodie Foster');(2)例如我们可以加入:insert into film values (1,'Silence of the Lambs, The', 118, 1991, 'Jodie Foster');insert into film values (2,'Contact', 153, 1997, 'Jodie Foster');insert into film values (3,'Crouching Tiger, Hidden Dragon', 120, 2000, 'Yun-Fat Chow');insert into film values (4,'Hours, The', 114, 2002, 'Nicole Kidman');(3)或:insert into film(sid, title, length, year, starring) values(5,'Lid', 115, 1987, 'Hui'); 如果该字段没有资料,我们可以填NULL。

sqlite3用法

sqlite3用法

sqlite3用法SQLite3是一个轻量级的嵌入式数据库,它不需要独立的数据库服务器进程,而是将整个数据库放在一个单一的文件中。

SQLite3提供了一系列的命令行工具,用于管理SQLite3数据库。

以下是一些常用的SQLite3命令:1. 打开数据库文件:sqlite3 filename.db2. 查看数据库结构:.schema3. 查看表结构:.schema tablename4. 查询表数据:SELECT * FROM tablename;5. 插入数据:INSERT INTO tablename (col1, col2, ...) VALUES (val1, val2, ...);6. 更新数据:UPDATE tablename SET col1=val1, col2=val2, ... WHERE condition;7. 删除数据:DELETE FROM tablename WHERE condition;8. 查看表中的所有列名:PRAGMA table_info(tablename);9. 导出数据:.output filename.csv 或者 SELECT * FROM tablename INTO OUTFILE 'filename.csv' FIELDS TERMINATED BY ',' 10. 导入数据:.import filename.csv tablenameSQLite3还提供了一些高级功能,例如创建视图、索引、触发器等,可以通过SQLite3的语法来实现。

总之,SQLite3是一个小巧、方便的数据库,适用于小型应用程序的数据存储需求。

对于开发者来说,掌握SQLite3的用法是非常重要的。

osg 编译sqlite3

osg 编译sqlite3

osg 编译sqlite3SQLite3是一个轻量级的数据库管理系统,广泛用于移动设备和嵌入式系统中。

OSG(OpenSceneGraph)是一个开源的三维图形库,用于构建实时的交互式三维图形应用程序。

在某些情况下,需要将SQLite3整合到OSG中,以便实现更复杂的数据管理和存储功能。

为了在OSG中使用SQLite3,需要将SQLite3库编译成OSG可以调用的动态链接库。

以下是编译SQLite3库的步骤:第一步:准备工作环境在编译SQLite3之前,需要确保系统中已经安装了合适的编译工具和依赖项。

通常情况下,需要安装以下工具和库:- C/C++编译器(如GCC)- GNU Make工具- SQLite3源代码- OSG源代码第二步:下载SQLite3源代码首先需要从SQLite官方网站上下载最新的SQLite3源代码。

可以在SQLite的官方网站上找到最新的稳定版本的源代码,下载后解压到合适的目录中。

第三步:配置SQLite3源代码进入SQLite3源代码目录,运行configure脚本进行配置。

在配置过程中,可以指定SQLite3的编译选项和安装路径。

通常情况下,可以使用默认的配置选项,只需要指定安装路径即可。

第四步:编译SQLite3源代码配置完成后,运行make命令编译SQLite3源代码。

在编译过程中,将会生成SQLite3的动态链接库文件,以便在OSG中调用。

第五步:安装SQLite3动态链接库编译完成后,可以运行make install命令将SQLite3的动态链接库安装到系统中。

安装完成后,可以在指定的安装路径下找到SQLite3的库文件。

第六步:配置OSG项目在将SQLite3库编译完成并安装到系统中后,需要配置OSG项目,以便在项目中调用SQLite3库。

在OSG项目的配置文件中,需要指定SQLite3库的路径和链接选项,以便编译器可以正确链接SQLite3库。

第七步:编译OSG项目完成配置后,可以编译OSG项目。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SQL语法2014年7月27日20:52SQL是用来做什么的呢?一个最常用的方式是将资料从数据库中的表格内选出。

从这一句回答中,我们马上可以看到两个关键字:从(FROM)数据库中的表格内选出(SELECT)。

(表格是一个数据库内的结构,它的目的是储存资料。

在表格处理这一部分中,我们会提到如何使用SQL 来设定表格。

) 我们由这里可以看到最基本的SQL 架构:SELECT "栏位名" FROM "表格名";我们用以下的例子来看看实际上是怎么用的。

假设我们有以下这个表格:Store_Information表格若要选出所有的店名(Store_Name),我们就打入:SELECT Store_Name FROM Store_Information;结果:Store_NameLos AngelesSan DiegoLos AngelesBoston我们一次可以读取好几个栏位,也可以同时由好几个表格中选资料。

--------------------------------------------------------------------------SELECT指令让我们能够读取表格中一个或数个栏位的所有资料。

这将把所有的资料都抓出,无论资料值有无重复。

在资料处理中,我们会经常碰到需要找出表格内的不同资料值的情况。

换句话说,我们需要知道这个表格/栏位内有哪些不同的值,而每个值出现的次数并不重要。

这要如何达成呢?在SQL 中,这是很容易做到的。

我们只要在SELECT后加上一个DISTINCT就可以了。

DISTINCT的语法如下:SELECT DISTINCT "栏位名"FROM "表格名";举例来说,若要在以下的表格,Store_Information,找出所有不同的店名时,Store_Information表格我们就打入,SELECT DISTINCT Store_Name FROM Store_Information;结果:Store_NameLos AngelesSan DiegoBoston--------------------------------------------------------------------------我们并不一定每一次都要将表格内的资料都完全抓出。

在许多时候,我们会需要选择性地抓资料。

就我们的例子来说,我们可能只要抓出营业额超过$1,000 的资料。

要做到这一点,我们就需要用到WHERE这个指令。

这个指令的语法如下:SELECT "栏位名"FROM "表格名"WHERE "条件";若我们要由以下的表格抓出营业额超过$1,000 的资料,Store_Information表格我们就打入,SELECT Store_NameFROM Store_InformationWHERE Sales > 1000;结果:Store_NameLos Angeles----------------------------------------------------------------------------------------------------------------------------------------------------在上一页中,我们看到WHERE指令可以被用来由表格中有条件地选取资料。

这个条件可能是简单的(像上一页的例子),也可能是复杂的。

复杂条件是由二或多个简单条件透过AND或是OR的连接而成。

一个SQL 语句中可以有无限多个简单条件的存在。

复杂条件的语法如下:SELECT "栏位名"FROM "表格名"WHERE "简单条件"{[AND|OR] "简单条件"}+;{}+ 代表{}之内的情况会发生一或多次。

在这里的意思就是AND加简单条件及OR加简单条件的情况可以发生一或多次。

另外,我们可以用( ) 来代表条件的先后次序。

举例来说,我们若要在Store_Information表格中选出所有Sales 高于$1,000 或是Sales 在$500 及$275 之间的资料的话,Store_Information表格我们就打入,SELECT Store_NameFROM Store_InformationWHERE Sales > 1000OR (Sales < 500 AND Sales > 275);结果:Store_NameLos AngelesSan Francisco--------------------------------------------------------------------------在SQL 中,在两个情况下会用到IN这个指令;这一页将介绍其中之一--与WHERE有关的那一个情况。

在这个用法下,我们事先已知道至少一个我们需要的值,而我们将这些知道的值都放入IN这个子句。

IN指令的语法为下:SELECT "栏位名"FROM "表格名"WHERE "栏位名" IN ('值一', '值二', ...);在括弧内可以有一或多个值,而不同值之间由逗点分开。

值可以是数目或是文字。

若在括弧内只有一个值,那这个子句就等于WHERE "栏位名" = '值一'举例来说,若我们要在以下的Store_Information表格中找出所有含盖Los Angeles 或San Diego 的资料,Store_Information表格我们就打入,SELECT *FROM Store_InformationWHERE Store_Name IN ('Los Angeles', 'San Diego');结果:Store_Name Sales Txn_DateLos Angeles1500Jan-05-1999San Diego250Jan-07-1999--------------------------------------------------------------------------IN这个指令可以让我们依照一或数个不连续(discrete) 的值的限制之内抓出数据库中的值,而BETWEEN则是让我们可以运用一个范围(range) 内抓出数据库中的值。

BETWEEN这个子句的语法如下:SELECT "栏位名"FROM " 表格名"WHERE "栏位名" BETWEEN '值一' AND '值二';这将选出栏位值包含在值一及值二之间的每一笔资料。

举例来说,若我们要由Store_Information表格中找出所有介于January 6, 1999 及January 10, 1999 中的资料,Store_Information表格WHERE Txn_Date BETWEEN 'Jan-06-1999' AND 'Jan-10-1999';请读者注意:在不同的数据库中,日期的储存法可能会有所不同。

在这里我们选择了其中一种储存法。

结果:Store_Name Sales Txn_DateSan Diego25007-Jan-1999San Francisco30008-Jan-1999Boston70008-Jan-1999--------------------------------------------------------------------------LIKE是另一个在WHERE子句中会用到的指令。

基本上,LIKE能让我们依据一个套式(pattern) 来找出我们要的资料。

相对来说,在运用IN的时候,我们完全地知道我们需要的条件;在运用BETWEEN的时候,我们则是列出一个范围。

LIKE的语法如下:SELECT "栏位名"FROM "表格名"WHERE "栏位名" LIKE {套式};{套式} 经常包括野卡(wildcard). 以下是几个例子:'A_Z': 所有以'A' 起头,另一个任何值的字原,且以'Z' 为结尾的字串。

'ABZ' 和•'A2Z' 都符合这一个模式,而'AKKZ' 并不符合(因为在A 和Z 之间有两个字原,而不是一个字原)。

'ABC%': 所有以'ABC' 起头的字串。

举例来说,'ABCD' 和'ABCABC' 都符合这个•套式。

'%XYZ': 所有以'XYZ' 结尾的字串。

举例来说,'WXYZ' 和'ZZXYZ' 都符合这个套•式。

'%AN%': 所有含有'AN' 这个套式的字串。

举例来说,'LOS ANGELES' 和'SAN •FRANCISCO' 都符合这个套式。

我们将以上最后一个例子用在我们的Store_Information表格上:Store_Information表格WHERE Store_Name LIKE '%AN%';結果:Store_Name Sales Txn_DateLOS ANGELES1500Jan-05-1999 SAN FRANCISCO300Jan-08-1999 SAN DIEGO250Jan-07-1999FROM Store_InformationORDER BY Sales DESC;结果:Store_NameSales Txn_Date Los Angeles1500Jan-05-1999Boston700Jan-08-1999San Francisco300Jan-08-1999San Diego 250Jan-07-1999在以上的例子中,我们用栏位名来指定排列顺序的依据。

除了栏位名外,我们也可以用栏位的顺序(依据SQL 句中的顺序)。

在SELECT 后的第一个栏位为1,第二个栏位为2,以此类推。

在上面这个例子中,我们打以下这一句SQL可以达到完全一样的效果:SELECT Store_Name, Sales, Txn_DateFROM Store_InformationORDER BY 2 DESC;--------------------------------------------------------------------------既然数据库中有许多资料都是已数字的型态AVG (平均)•COUNT (计数)•MAX (最大值)•MIN (最小值)•SUM (总合)•,一个很重要的用途就是要能够对这些数字做一些运算,例如将它们总合起来,或是找出它们的平均值。

相关文档
最新文档