设为首页 加入收藏

TOP

SQLite入门之四表的增删?查 (一)
2015-07-24 11:58:01 来源: 作者: 【 】 浏览:29
Tags:SQLite 入门 增删

4.1 SQLite 存储类型

SQLite 存储类型

存储类型 描述
NULL 值是一个 NULL 值。
INTEGER 值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。
REAL 值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。
TEXT 值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。
BLOB 值是一个 blob 数据,完全根据它的输入存储。

4.2 创建数据库和创建表

创建了一个 COMPANY 表,ID 作为主键,NOT NULL 的约束表示在表中创建纪录时这些字段不能为 NULL

bixiaopeng@bixiaopeng db$ sqlite3 wireless.db
SQLite version 3.7.13 2012-07-17 17:46:21
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> CREATE TABLE COMPANY(ID INT PRIMARY KEY NOT NULL,NAME TEXT NOT NULL,AGE INT NOT NULL,ADDRESS CHAR(50),SALARY REAL);

CREATE TABLE 是告诉数据库系统创建一个新表的关键字。CREATE TABLE 语句后跟着表的唯一的名称或标识。您也可以选择指定带有 table_name 的 database_name。

查看表是否创建成功

sqlite> .tables
COMPANY

查看表的完整信息

sqlite> .schema COMPANY
CREATE TABLE COMPANY(ID INT PRIMARY KEY NOT NULL,NAME TEXT NOT NULL,AGE INT NOT NULL,ADDRESS CHAR(50),SALARY REAL);

4.3 插入数据

插入数据,方法一:插入对应的列的值

sqlite> INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
   ...> VALUES (1, 'Paul', 32, 'California', 20000.00 );

查询是否插入成功

sqlite> SELECT * FROM COMPANY;
1|Paul|32|California|20000.0

 插入数据,方法二:给所有列插入值

sqlite> INSERT INTO COMPANY VALUES (7, 'James', 24, 'Houston', 10000.00 );
sqlite> SELECT * FROM COMPANY;
1|Paul|32|California|20000.0
7|James|24|Houston|10000.0

用第二种方法多插入几个数据:

sqlite> INSERT INTO COMPANY VALUES (2, 'Allen', 25, 'Texas', 15000.00 );
sqlite> INSERT INTO COMPANY VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );
sqlite> INSERT INTO COMPANY VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );
sqlite> INSERT INTO COMPANY VALUES (5, 'David', 27, 'Texas', 85000.00 );
sqlite> INSERT INTO COMPANY VALUES (6, 'Kim', 22, 'South-Hall', 45000.00 );
sqlite> SELECT * FROM COMPANY;
1|Paul|32|California|20000.0
7|James|24|Houston|10000.0
2|Allen|25|Texas|15000.0
3|Teddy|23|Norway|20000.0
4|Mark|25|Rich-Mond |65000.0
5|David|27|Texas|85000.0
6|Kim|22|South-Hall|45000.0

4.4 更新数据

//先插入一条数据
sqlite> INSERT INTO COMPANY VALUES (8, 'wirelessqa', 28, 'HZ', 20000.00 );
sqlite> SELECT * FROM COMPANY;
ID  NAME    AGE ADDRESS SALARY
1   Paul    32  California  20000.0
7   James   24  Houston 10000.0
2   Allen   25  Texas   15000.0
3   Teddy   23  Norway  20000.0
4   Mark    25  Rich-Mond   65000.0
5   David   27  Texas   85000.0
6   Kim 22  South-Hall  45000.0
8   wirelessqa  28  HZ  20000.0

//更新NAME为wirelessqa的地址为NanJing
sqlite> UPDATE COMPANY SET ADDRESS = 'NanJing' WHERE NAME = 'wirelessqa';
8   wirelessqa  28  NanJing 20000.0

//查看更新后的数据
sqlite> SELECT * FROM COMPANY WHERE NAME = 'wirelessqa';
ID  NAME    AGE ADDRESS SALARY
8   wirelessqa  28  NanJing 20000.0

4.5 删除数据

//删除ADDRESS为NanJing的这条数据
sqlite> DELETE FROM COMPANY WHERE ADDRESS = 'NanJing';
sqlite> SELECT * FROM COMPANY WHERE ADDRESS = 'NanJing';
sqlite>

4.6 数据查询

4.6.1. SQLite 算术运算符

运算符: + - * / %

sqlite> select 4 + 2;
6
sqlite> select 4 - 2;
2
sqlite> select 4 * 2;
8
sqlite> select 4 / 2;
2
sqlite> select 4 % 2;
0

4.6.2. SQLite 算术运算符

运算符 描述 实例
== 检查两个操作数的值是否相等,如果相等则条件为真。 (a == b) 不为真。
= 检查两个操作数的值是否相等,如果相等则条件为真 (a = b) 不为真。
!= 检查两个操作数的值是否相等,如果不相等则条件为真 (a != b) 为真。
<> 检查两个操作数的值是否相等,如果不相等则条件为真 (a <> b) 为真。
> 检查左操作数的值是否大于右操作数的值,如果是则条件为真。 (a > b) 不为真。
< 检查左操作数的值是否小于右操作数的值,如果是则条件为真 (a < b) 为真。
>= 检查左操作数的值是否大于等于右操作数的值,如果是则条件为真 (a >= b) 不为真。
<= 检查左操作数的值是否小于等于右操作数的值,如果是则条件为真 (a <= b) 为真。

看一下表里现有的数据:

sqlite> .
首页 上一页 1 2 3 4 下一页 尾页 1/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇alittleriakbook 下一篇lscpu,lspci,lsblk,lsscsi命令

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·如何理解智能指针? (2025-12-24 12:48:26)
·c++是否应避免使用普 (2025-12-24 12:48:23)
·如何通俗易懂学会 C+ (2025-12-24 12:48:21)
·在 C 语言函数中,如 (2025-12-24 12:19:41)
·C盘里面的AppData文 (2025-12-24 12:19:38)