SQLite 常用语句 1.创建数据库: sqlite3 数据库名称.db; example: sqlite3 test.db 2.查询已经创建的数据库: .database; 3.附加数据库:ATTACH DATABASE ‘testDB.db’ as ‘TEST’; 4.分离数据库:DETACH DATABASE ‘currentDB’; 5,创建表: sqlite> CREATE TABLE DEPARTMENT( …> ID INT PRIMARY KEY NOT NULL,//主键 …> DEPT CHAR(50) NOT NULL, …> EMP_ID INT NOT NULL …> ); 6,查看数据库中所有表格名称:.tables; 7,查看数据库中某个表格的完整信息:.schema COMPANY(company 表示表格的名称); 删除表,DROP TABLE COMPANY;
8,插入数据: 第一种写法: INSERT INTO COMAPNY (colum1,colum2,colum3) VALUES(value1,value2,value3); 其中“COMAPNY”表示 “表名”; colum1,colum3 表示,键值; colum1,colum3 表示,各个键值对应的数据; 第二种写法: INSERT INTO COMPANY VALUES (value1,value3); 不用说明表格中的键值,而直接插入数据;
9.规范化表格输出样式; 在前面输入以下两句: .header on .mode column 然后再是查询输出语句 :select * from table_name;
10.查询语句: Example :tablename == “person”; (1),查询表格中的所有的数据: Select * from peroson ; (2),查询表格中某一个字段: Select name from person; (3),查询表格中某一个或多个字段符合相对应的条件: //从person表格中 查询年龄等于20的人的姓名;
Select name from person where age = 20;
//从person表格中 查询年龄在20和40之间的人的姓名; Select name from person where age between 20 and 40; //从person表格中 查询地址在北京的人的姓名; Select name from person where address == ‘beijing’; //从person表格中 查询id,name,age 并且年龄等于20或者40的; Select id,age person where age in(20,40);
//从person表格中 查询id,age 并且年龄等40,地址在北京,工资为10000的人; Select id,age person where age = 40 and address == ‘beijing’ and salary = 10000; //从person表格中查找地址在苏州或者北京的人; select id,address from person where address == ‘suzhou’ or address == ‘beijing’;
11,更新表格中数据: //更改表格中地址为北京的人的姓名为:dema; Update person set name = ‘dema’ where address == ‘beijing’; //更改表格中所有人的信息,比如姓名,地址,关键字 where就不需要了 Update person set name == ‘tom’,salary =8888; 12,删除表格中的数据: //删除person表格中 name == kangkang 的记录; Delete from person where name == ‘kangkang’; //删除表格中id为7的记录; Delete from person where id = 7;
//删除 person 表格中所有的数据; Detele from person; 13,SQLite 的like字句: SQLite 的 LIKE 运算符是用来匹配通配符指定模式的文本值。如果搜索表达式与模式表达式匹配,LIKE 运算符将返回真(true),也就是 1。这里有两个通配符与 LIKE 运算符一起使用: 百分号 (%)(表示占用任意多个) 下划线 (_)(一个符号仅表示一个位置) 百分号(%)代表零个、一个或多个数字或字符。下划线(_)代表一个单一的数字或字符。这些符号可以被组合使用。 //从person表格中查找年龄以4开头的记录; Select name from person where age like ‘4%’; //从person表格中查找年龄中第二个数字为4的人的记录; Select name from person where age like ‘_4’; 14,SQLite 的glob字句: SQLite 的 GLOB 运算符是用来匹配通配符指定模式的文本值。如果搜索表达式与模式表达式匹配,GLOB 运算符将返回真(true),也就是 1。与 LIKE 运算符不同的是,GLOB 是大小写敏感的,对于下面的通配符,它遵循 UNIX 的语法。 星号 (*) 问号 (?) 星号(*)代表零个、一个或多个数字或字符。问号(?)代表一个单一的数字或字符。这些符号可以被组合使用。 //可以把glob当成对大小写敏感的like用法 select * from person where address like ‘B%’; select * from person where address glob ‘B*’; 15,SQLite 的limit 子句: 用来限制返回的数据条数; //限制查询表格中返回的数据记录为6条 Select * from person limit 6; //限制查询表格的数据为两条,并且从第三位开始 Select * from person limit 2 offset 2; 16,SQLite Order By 的使用方法: SQLite 的 ORDER BY 子句是用来基于一个或多个列按升序或降序顺序排列数据; //按照年龄降序排列 select * from person order by age desc; //按照年龄升序排列 select * from person order by age asc; 17,SQLite group by 的使用方法: //执行后的结果,名字相同的人的薪资会相加在一起,形成一条数据 Select name,sum(salary) from person group by name;
//年龄相同的人的薪资相加在一起,形成一条数据 select name,sum(salary) from person group by age; //年龄相同的人的薪资相加在一起,然后再按照薪水排序 select name,sum(salary) from person group by age order by salary; //年龄相同的人的薪资相加在一起,然后再按照名称排序 select name,sum(salary) from person group by age order by name; 18 关键字DISTINCT的用法以及含义 SQLite 的 DISTINCT 关键字与 SELECT 语句一起使用,来消除所有重复的记录,并只获取唯一一次记录。 有可能出现一种情况,在一个表中有多个重复的记录。当提取这样的记录时,DISTINCT 关键字就显得特别有意义,它只获取唯一一次记录,而不是获取重复记录。 //如果name中有相同的记录,取且仅取一条记录(关键字修饰的”键值“,如果有重复的,仅保留其中一条数据) select distinct name from person; 19,SQLite的 Having 子句 如下图所示:
其中HAVING 子句允许指定条件来过滤将出现在最终结果中的分组结果。 WHERE 子句在所选列上设置条件,而 HAVING 子句则在由 GROUP BY 子句创建的分组上设置条件 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|