关闭

sqlite3

165人阅读 评论(0) 收藏 举报
分类:
  •   SQLite将数据划分为以下几种存储类型:
  • ●  integer :整型值
  • ●  real :浮点值
  • ●  text :文本字符串
  • ●  blob :二进制数据(比如文件) 

1.创表 

●  格式

  • ●  create table表名 (字段名1字段类型1,字段名2字段类型2, ...) ;

  • ●  create table if not exists表名 (字段名1字段类型1,字段名2字段类型2, ...) ;

  • ●  示例

  • ●  create tablet_student (id integer, nametext, ageinetger, scorereal) ; 

    ●   create table if not exists  t_student (id integer, name text, age inetger, score real) ; 

    2.删表 

    ●  格式

    ●  drop table表名 ;

    ●  drop table if exists表名 ;

    ●  示例

    ●  drop tablet_student ; 

    ●  drop table if exists t_student ;


    2.插入数据

    ●  格式

    ●  insert into表名 (字段1,字段2, ...)values (字段1的值,字段2的值, ...) ;

    ●  示例 

    ●  insert intot_student (name, age)values (‘mj’, 10) ;

    ●  注意

    ●  数据库中的字符串内容应该用单引号’ 括住 


    3.更新数据(update)

    ●  格式

    ●  update表名 set字段1字段1的值,字段2字段2的值, ... ;

    ●  示例

    ●  updatet_student setname =‘jack’, age =20 ;

    ●  注意

    ●  上面的示例会将t_student表中所有记录的name都改为jack,age都改为20 


    4.删除数据(delete)

    ●  格式

    ●  delete from表名 ;

    ●  示例

    ●  delete fromt_student ;

    ●  注意

    ●  上面的示例会将t_student表中所有记录都删掉 

    5.条件语句

    ●  如果只想更新或者删除某些固定的记录,那就必须在DML语句后加上一些条件

    ●  条件语句的常见格式

    ●  where字段=某个值;//不能用两个=

    ●  where字段is某个值;//is相当于=

    ●  where字段 !=某个值 ;

    ●  where字段isnot某个值;//isnot相当于!=

    ●  where字段>某个值;

    ●  where字段1某个值and 字段2某个值// and相当于C语言中的&&

    ●  where字段1=某个值or字段2=某个值;// or相当于C语言中的|| 

    示例

    t_student表中年龄大于10并且 姓名不等于jack的记录,年龄都改为5

    updatet_student setage =whereage >10 andname !=‘jack’ ;

    删除t_student表中年龄小于等于10或者 年龄大于30的记录

    delete fromt_student whereage <=10 orage >30 ; 

    6.查询

      格式

    ●  select字段1,字段2, ...from 表名;

    ●  selectfrom表名;// 查询所有的字段

    ●  示例

    ●  selectname, age fromt_student ;

    ●  selectfromt_student ;

    ●  selectfromt_student whereage >10 ; // 条件查询 


    7.起别名

  • ●  格式(字段和表都可以起别名)
  • ●  select字段1别名,字段2别名,...from表名别名;
  • ●  select字段1别名,字段2as别名,...from表名as别名;
  • ●  select 别名.字段1, 别名.字段2, ... from 表名 别名 ;
  • ●  示例

    ●  select name myname, age myage from t_student ;
     name起个叫做myname的别名,给age起个叫做myage的别名

    ● select s.name, s.age from t_student s ;

     t_student表起个别名叫做s,利用s来引用表中的字段 


    8.计算记录的数量

    ●  格式
    ●  select count (字段from 表名 ;
    ●  selectcount(*)from表名;
    ●  示例
    ●  select count (age) from t_student ;
    ●  select count ( * ) from t_student where score >= 60; 

    9.排序 

     先按照年龄排序(升序),年龄相等就按照身高排序(降序) 

    ●  查询出来的结果可以用order by进行排序

    ●  select from t_student order by 字段 ;

     select from t_student order by age ;

    ●  默认是按照升序排序(由小到大),也可以变为降序(由大到小)
    ●  select from t_student order by age desc //降序
    ●  select from t_student order by age asc // 升序(默认)
    ●  也可以用多个字段进行排序
    ●  select from t_student order by age asc, height desc ;



    10.limit

    ●  使用limit可以精确地控制查询结果的数量,比如每次只查询10条数据

    ●  格式

    ●  select*from表名limit数值1,数值2 ;

    ●  示例

    ●  select*fromt_studentlimit4, 8 ;

    可以理解为:跳过最前面4条语句,然后取8条记录 


    10. 约束

     ●  建表时可以给特定的字段设置一些约束条件,常见的约束有
     ●  not null:规定字段的值不能为null
     ●  unique:规定字段的值必须唯一

     ●  default:指定字段的默认值(建议:尽量给字段设定严格的约束,以保证数据的规范性)

    示例
    create table t_student (idinteger, nametext not null unique, ageinteger not null
    default1) ;
    ●     name字段不能为null,并且唯一
    ●   age字段不能为null,并且默认为




  • 0
    0
    查看评论

    sqlite3数据库优化处理

    sqlite删除数据或者表后,文件大小不变 原因分析: sqlite采用的是变长纪录存储,当你从Sqlite删除数据后,未使用的磁盘空间被添加到一个内在的”空闲列表”中用于存储你下次插入的数据,用于提高效率,磁盘空间并没有丢失,但也不向操作系统返回磁盘空间,这就导致删除数据乃至清空整个数据库后,数据...
    • miaodichiyou
    • miaodichiyou
    • 2016-04-05 14:52
    • 1423

    访问安卓手机的SQLite数据库,缺少sqlite3文件的解决方法。

    首先需要准备好sqlite3源文件(有人说在PC端模拟器目录下有该文件,但我没找到), 这里提供资源地址: http://download.csdn.net/detail/ygc87/4219518 注意,要区别开PC上的SQLite3.exe文件,这是在dos下访问SQLite数据库的命...
    • Leonard888888
    • Leonard888888
    • 2016-11-13 00:43
    • 1213

    sqlite3数据的导入和导出

    数据导入的来源可以是其他应用程序的输出,也可以是指定的文本文件,这里采用指定的文本文件。    1. 首先,确定导入的数据源,这里是待导入的,按固定格式的文本文件。    2. 然后,依照导入的文件格式,确定想导入的目标数据表,这个数据表如果没有,可以...
    • smart_seed
    • smart_seed
    • 2014-08-25 15:23
    • 3094

    python3提示sqlite3模块不存在解决方法

    首先 yum install sqlite-devel -y 然后重装下python3(一定要重装) # cd Python-3.4.2 # ./configure --prefix=/usr/local/python3 # make && make install 测试sql...
    • nuli888
    • nuli888
    • 2016-07-20 22:38
    • 2399

    Python标准库之sqlite3使用入门(一)

    在这个世界上,只有摆脱自卑和抑郁,正确认识自己的价值,对自己充满自信,就能轻松的面对一切。创建表 和 数据import sqlite3 conn = sqlite3.connect('example.db')c = conn.cursor() c.execute(''...
    • WuLex
    • WuLex
    • 2016-09-18 16:52
    • 1241

    sqlite3数据存储与读取

    SQLite3是嵌入在iOS中的关系型数据库,对于存储大规模的数据很有效。SQLite3使得不必将每个对象都加到内存中。 基本操作: (1)打开或者创建数据库 sqlite3 *database; int result = sqlite3_open("/path/databaseFi...
    • szcarewell
    • szcarewell
    • 2016-04-20 21:57
    • 2003

    sqlite3 命令

    1:创建数据库 $sqlite3 testDB.db SQLite version 3.7.15.2 2013-01-09 11:53:05 Enter ".help" for instructions Enter SQL statements terminated with ...
    • Listron
    • Listron
    • 2017-03-28 15:08
    • 372

    SQLite3支持的数据类型

    <br />SQLite支持的数据类型(日期函数)<br />数据库技术2010-06-29 11:17:30阅读73评论0  字号:大中小 订阅<br />SQLite驱动支持的SQL 列类型 <br />类型描述<...
    • shen8686
    • shen8686
    • 2011-02-24 14:46
    • 17694

    sqlite3数据库和表的相关命令

    1、创建一个新的数据库:sqlite3     文件名 先建立一个 Db 目录,并在 Db 目录中创建一个 test.db 数据库文件,打开控制台窗口,命令如下: mkdir Db cd Db sqlite3 test.db   ...
    • yanxiaoqing
    • yanxiaoqing
    • 2011-12-01 08:54
    • 9908

    Sqlite3 时间类型及操作

    SQLite包含了如下时间/日期函数: datetime().......................产生日期和时间 date()...........................产生日期 time()...........................产生时间 strftime(...
    • qingyoucan
    • qingyoucan
    • 2012-08-17 15:13
    • 3921
      个人资料
      • 访问:114231次
      • 积分:3137
      • 等级:
      • 排名:第13091名
      • 原创:209篇
      • 转载:3篇
      • 译文:0篇
      • 评论:0条