sqlite数据库学习

 

一、数据库(sqlite)

1.数据库简介

1)概念:数据库是指以一定方式存储在一起,且能为多个用户共享,具有尽可能小的冗余特性,是与应用程序彼此独立的数据集合。

2)常见数据库

Oracle,DB2,SqlServer,Myql等

2.sqlite数据库

1)安装

sudo apt-get install sqlite3 //在线安装

sudo dpkg -i sqlite3_xx-ubuntu_xx.deb //离线安装

2)测试:在终端输入"sqlite3",即可进入sqlite的命令行操作界面:


SQLite version 3.11.0 2016-02-15 17:29:24

Enter ".help" for usage hints.

sqlite> 

注:在“sqlite>”可以输入两种指令,一种是sqlite自身配置和显示格式相关指令,这些指令都是以“.”开头,输入“.help”可以查看这些指令的帮助信息;还一种指令是sql语句,实现对数据库增删改查操作。

3)sqlite常用指令

①.help:查看帮助信息
②.exit/.quit:退出
③.database:查看数据库名字
④.open:打开数据库文件
⑤.table:查看数据包含的数据表名字
⑥.schema:查看数据表的详细信息
⑦.header on:查看表头
⑧.mode MODE:设置显示模式
⑨.nullvalue:设置空白字段显示的字符串

4)配置文件

vi ~/.sqliterc

二、在命令行使用SQL语句操作数据库

1.创建数据表

语法:

CREATE TABLE 表名(
    列名1 类型[约束],列名2 类型[约束],......);

类型:INT(整形数),TEXT(文本字符串),REAL(浮点数)

约束:NOT NULL(非空),PRIMARY KEY(主键) //数据唯一,加快访问速度

注:SQL语句不区分大小写,每个语句都已“;”结束

参考代码:
 

sqlite> CREATE TABLE student ( 

   ...> id INT NOT NULL PRIMARY KEY,

   ...> name TEXT NOT NULL,

   ...> score REAL NOT NULL );

2.删除表

语法:

DROP TABLE 表名;

注:数据表一旦删除“”“”,里面的数据也将随之消失

3.向数据表中插入数据(增)

语法:

INSERT INTO 表名
    (列名1,列名2,...,列名n)
        VALUE(数值1,数值2,...,数值n);

参考代码:

INSERT INTO company
(id,name,age,address,salary)
VALUES(10018,'张三',22,'洛阳',13500.5);

4.从数据表中删除数据

语法:

DELETE FROM 表名 WHERE 条件表达式;
and ==>逻辑与
or  ==>逻辑或

参考代码:

sqlite>DELETE FROM company
sqlite>WHERE id=10029;
sqlite>DELETE FROM company
sqlite>WHERE salary>8500 and salary<9000;

5.修改数据表中的数据

语法:

UPDATE 表名 SET 列名=新数值,... WHERE 条件表达式;

参考代码:

sqlite>UPDATE company SET age=40
sqlite>WHERE id=10011;
sqlite>UPDATE company SET salary=salary+2000
sqlite>WHERE age>=30 and age<=35;

6.从数据表中查询数据

语法:

SELECT 列名,... FROM 表名;
SELECT 列名,... FROM 表名 WHERE 条件表达式;
SELECT 列名,... FROM 表名
WHERE 条件表达式 LIKE '匹配模式';
匹配模式:
    %(匹配任意多个字符)
    _(匹配一个字符)
SELECT 列名,... FROM 表名
        WHERE 条件表达式 LIKE '匹配模式'
            ORDER BY 列名 排序方式;
排序方式:
    ASC  升序
    DESC 降序
SELECT DISTINCT 列名,... FROM 表名 
		WHERE 条件表达式  LIKE '匹配模式'
			ORDER BY 列名 排序方式;
			
DISTINCT:去除重复的数据

参考代码:

sqlite>SELETE * FROM company
sqlite>WHERE salary LIKE '%8%'
sqlite>SELETE * FROM company
sqlite>WHERE name LIKE '关_'; //姓关,名字两个字符
sqlite>SELETE * FROM company
sqlite>WHERE salary>5000
sqlite>ORDER BY id ASC;

猜你喜欢

转载自blog.csdn.net/isco22/article/details/88787076