当前位置:   article > 正文

数据库之SQLite(一)_sqlite 排序

sqlite 排序

一、什么是SQL

  1. SQL(structured query language):结构化查询语言
  2. SQL是一种对关系型数据库中的数据进行定义和操作的语言
  3. SQL语言简洁,语法简单,好学好用

二、常用的关系型数据库

PC端:Oracle、MySQL、SQL Server、Access、DB2、Sybase
嵌入式\移动客户端:SQLite(轻量级)

三、简述SQLite

SQLite 在存储时,本质上并不区分准确的数据类型,数据库主要的目的是做数据的检索,通常不会把无法检索的二进制数据保存在数据库中

1、主键:Primary Key,唯一标示一条记录的字段

  • 如:xxx_id(学号、身份证号)
  • 特点:可进行自动增长

2、外键:Foreign Key,对应其他关系表的标识,可以和其他表建立关系

  • 如:学生表中的【宿舍id】作为外键,对应宿舍表中的主键【宿舍id】
  • 特点:方便数据维护,节约存储空间

3、字段类型

  • 空(NULL):该值为空
  • 整型(INTEGEER):有符号整数,按大小被存储成1,2,3,4,6或8字节。
  • 实数(REAL):浮点数,以8字节指数形式存储。
  • 文本(TEXT):字符串,以数据库编码方式存储(如UTF-8)。
  • BLOB:BLOB数据不做任何转换,以输入形式存储。(二进制数据,比如文件)

1、在关系数据库中,CLOB和BLOB类型被用来存放大对象。BOLB表示二进制大对象,这种数据类型通过用来保存视频,图片,图象等。CLOB表示字符大对象,能够存放大量基于字符的数据。

4、SQL中的常用关键字

  • select、insert、update、delete、from、create、where、desc、order、by、group、alter等

5、SQL语句的特点

  • 不区分大小写每条sql语句都必须以分号 ; 结束

6、SQL语句的种类

①数据定义语句(DDL:Data Definition Language)

  • 包括create(创建新表)和drop(删除表)等操作

②数据操作语句(DML:Data Manipulation Language)

  • 包括insert、update、delete等操作

③数据查询语句(DQL:Data Query Language)

  • 用于查询获得表中的数据(select最常用),此外还有where,order by,group by和having

7、常用SQL语句

①、创建表(create)

  • 表如果不存在: create table if not exists 表名 (字段名1 字段类型1,字段名2 字段类型2, …);
  • 创建表:create table t_student (id integer, name text, age inetger, score real);

注:实际上SQLite是无类型的,所以可以简写create table t_student(name, age);但为了保持良好的编程规范、方便程序员之间的交流,最好加上每个字段的具体类型

②、删除表(drop)

  • 如果删除的表存在的话:drop table if exists t_student
  • 删除:drop table t_student;

③、插入数据(insert)

  • insert into 表名 (字段1, 字段2, …) values (字段1的值, 字段2的值, …) ;
  • 插入:insert into  t_student(name,age) values ("hml", "18") ;

④、更新数据(update)

  • update 表名 set 字段1 = 字段1的值, 字段2 = 字段2的值, … ; 
  • 更新:update t_student set name = ‘zqw’, age = 18; (都改为zqw跟18)

⑤、删除数据(delete)

  • 删除表内容:delete from 表名 ;
  •  如:delete from t_student ;

delete和drop的区别:

delete删除表里的内容,保留表的结构,而drop删除整个表(不保留结构)。

 ⑥查询语句(select)

  • select 字段1, 字段2, … from 表名 ;
  • select * from t_student ; // 查询所有
  • select name, sex from t_student ;//
  • select * from t_student where name="hml" ;  //  按条件查

⑦、条件语句(where)
如果只想更新或删除某条固定的记录,就要加上一些条件进行约束

  • where 字段名 is 某个值 ; // is 相当于 =
  • where 字段名 = 某个值 ; // 不能用两个 =
  • where 字段名 is not 某个值 ; // is not 相当于 !=
  • where 字段名 != 某个值 ;
  • where 字段名 > 某个值 ;
  • where 字段1 = 某个值 and 字段2 > 某个值 ; // and相当于C语言中的 &&
  • where 字段1 = 某个值 or 字段2 = 某个值 ; // or 相当于C语言中的 ||

//将t_student表中年龄小于20 并且 姓名不等于zqw的记录,年龄都改为 30
update t_student set age = 30 where age < 20 and name != ‘zqw’ ;
//删除t_student表中年龄小于等于5 或者 年龄大于30的记录
delete from t_student where age <= 5 or age > 30 ;

⑧、别名(as)

select 字段1 别名 , 字段2 别名 , … from 表名 别名 ;
select 字段1 别名, 字段2 as 别名, … from 表名 as 别名 ;
select 别名.字段1, 别名.字段2, … from 表名 别名 ;

//给name起个叫做n的别名
 select name n from t_student ; 
//给t_student表起个别名叫做stu ,利用stu 来引用表中的字段
select s.name from t_student stu ;

⑨、常用复合语句 

  • 计算记录的数量(count )

select count (字段或 * ) from 表名 ;
//计算年龄大于等于20的学生数量
select count ( * ) from t_student where age>= 20;

  • 查询后排序(order by) 

select * from t_student order by 字段 ;
默认是按照升序排序(由小到大),也可以变为降序(由大到小)
select * from t_student order by age asc ; // 升序(默认)
select * from t_student order by age desc ; //降序
也可以用多个字段进行排序
select * from t_student order by age asc, score desc ;
//先按照年龄升序,再按照成绩降序

  • 限制搜索范围 (limit)

limit可以精确地控制查询结果的数量,比如每次只查询5条数据
select * from 表名 limit 数值1, 数值2 ;
select * from t_student limit 3, 6 ;//跳过最前面3条语句,然后取6条记录
limit常用来做分页查询,比如每页固定显示3条数据
第1页:limit 0, 3
第2页:limit 3, 3
第3页:limit 6, 3…
第n页:limit 3*(n-1), 3
select * from t_student limit 16 ;//表示取最前面的16条记录(等价于 limit 0, 16 ;)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/490832
推荐阅读
相关标签
  

闽ICP备14008679号