1.数据库的安装移植
准备工作:
打开虚拟机,连接share
下载数据库压缩包、不要解压
压缩包网盘地址:
链接:https://pan.baidu.com/s/1ifWV_dPK4l_tbr12I3q5xw
提取码:a10c
1.1 在虚拟机share文件夹中新建一个文件夹专门用来放置sqlite3数据库
mkdir sqlite
1.2 将数据库压缩包复制进入share文件夹,放置在于sqlite文件夹同级的位置 ,并使用指令解压到sqlite文件中
tar zxvf sqlite-autoconf-3080100.tar.gz -C sqlite
![cec4a1eb2768a9d677358fbb29e5211d.png](https://i-blog.csdnimg.cn/blog_migrate/d0dba1b0ff88853b8745bdfb398ddfed.jpeg)
1.3进入sqlite文件,会发现有一个sqlite-autoconf-3080100文件,进入文件
cd sqlite cd sqlite-autoconf-3080100
![699ed2c681a2a1640804f775415b3fe3.png](https://i-blog.csdnimg.cn/blog_migrate/fc8ab4eeb896133b565e5bae7c79cd5b.jpeg)
1.4运行配置文件,将整个环境进行生成
./configure
![b4c27d8e0ad50b2164367a6cba133eb3.png](https://i-blog.csdnimg.cn/blog_migrate/dd18412ae213d4c79341b0fa9636d8e6.jpeg)
1.5使用Makefile 将环境中需求依赖的库进行放置
sudo make install
注意:输入密码,密码不会显示出来
![3845cf366754a8ba5fa60c06e37804e6.png](https://i-blog.csdnimg.cn/blog_migrate/a4f4d635faf83c004d796263934eab5d.jpeg)
1.6 进入你的lib库中 将最新生成的数据库lib拷贝到你的库中
cd /usr/local/lib
![a56e8c1dc4385294edd4bfd1109cb8b1.png](https://i-blog.csdnimg.cn/blog_migrate/1aedded95342f149caf365e4159108be.jpeg)
sudo cp libsqlite3.so.0.8.6 /usr/lib/i386-linux-gnu
到此,数据库移植完毕,可以使用
2.数据库的指令与操作
.db -- 数据库文件
打开数据库文件(如果数据库文件存在就直接打开,如果不存在就创建并打开)
sqlite3 xx.db
![9786e23f7321eb2792e45a8bc65a40ad.png](https://i-blog.csdnimg.cn/blog_migrate/e270d8719b4beb05ab5d71d456620758.jpeg)
sql指令
退出数据库
.quit .exit
![7878dcc436c187c6ccb3e3c6a29d6de7.png](https://i-blog.csdnimg.cn/blog_migrate/744aedcebd22b65ebd6bf2c942c0dcbe.jpeg)
查看数据库中有哪些数据表
.table .tables
查看表的结构
.schema
sql语句
对表的操作:
新建 删除 修改 查看
增 删 改 查
新建一张数据表
create table 表名(第一列列名 数据类型,第二列列名 数据类型,......);
create table person(id int,name text);
注意:创建成功没有提示信息,需要自行查看
.table
![c87113ef9c83a1938e7a567f14dd0107.png](https://i-blog.csdnimg.cn/blog_migrate/035a53046cad02532b85eb573c4c6cb8.jpeg)
![bb0f98f7b29b01e009c6252d8564a610.png](https://i-blog.csdnimg.cn/blog_migrate/8f1f484cc30cf4ef5a2388223f175901.png)
修改表:修改表名、修改表的结构
alter table 表名 rename to 新表名;
修改 表 原表名 重命名 为 新表名;
alter table person rename to haha;
![81d024c5ecc91ea02caca5d97b826956.png](https://i-blog.csdnimg.cn/blog_migrate/3b0e256a884ff4533ebb370846aaf67e.jpeg)
添加一列
alter table 表名 add 列名 数据类型;
修改 表 哪个表 添加 一列的列名与其数据类型
alter table haha add sex text;
![e7931c33347ebea807846fdcaaa9b869.png](https://i-blog.csdnimg.cn/blog_migrate/7fa4d84bcf4dd8880956fdc48d4bb66a.jpeg)
删除表:
drop table 表名;
drop table haha;
![0acefd22830f64e87225f5ba5fdcf3af.png](https://i-blog.csdnimg.cn/blog_migrate/dbc22b66d4c70615cdf586ef64703a12.png)
行的操作
新建 删除 修改 查看
增 删 改 查
添加一行数据
逐个赋值:需要写的数据个数与数据表的列数完全相同,并且顺序相同
insert into 表名 赋值(第一列的数据,第二列的数据,...);
insert into haha values(10,"xr");
![f4c4da267f29d5e1120a20df9a76d4cc.png](https://i-blog.csdnimg.cn/blog_migrate/91c3889b0addfbb0c51888560ef7235b.jpeg)
部分赋值
insert into 表名(列名,列名)values(对应的值);
insert into haha (id) values (20);
![f329aead05366e983ea57d9a085163ec.png](https://i-blog.csdnimg.cn/blog_migrate/c5180d4ea4b05c5aab751bb938fdd9cc.jpeg)
修改表中的内容
update 表名 set 列名 = 列值 where 匹配条件;
修改 哪个表 设置 哪一列 要填写的数据 根据条件锁定位置
update haha set name = "zz" where id =20;
![60da85382e0476b9fbbd7152bc512331.png](https://i-blog.csdnimg.cn/blog_migrate/09cad1a77a148c605207986eaf4edfd1.png)
删除一行或多行
delete from 表名 where 匹配条件;
注意:只要是满足匹配条件的语句都会删除
delete from haha where id =20;
![eae4088b221c9f79e507f27755a2873c.png](https://i-blog.csdnimg.cn/blog_migrate/803954345dc1a1cfb35cba56aa00642c.png)
查看
select 列名 from 表名 where 匹配条件;
例如:select name from haha where id >10;
查看显示结果 只看name这一列 在haha表中id大于10的
select * from 表名;
查看表内所有信息 ,*表示所有列
and or not in like
between and
and:
多个条件结合,且
select * from haha where id = hndx and passwd =123456;
in:
允许在where中规定多个值
select * from haha where id in(1,2,3,4);
or:
select * fromhaha where id =hndx or passwd =123456;
between and
会选取两个数字之间的数据(包括边界)
select * from haha where id between 1 and 3;
like
模糊查找,像 一般用于地址、名字
select * from haha where id like 3;
select * from haha where add like "%zhou%";
%zhou%表示你的地址中带有zhou
张% 姓张的人
%张% 名字带有张就行 表示通配
not:取补集
select* from haha where id not in(1,2,3,4);