问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

SQL数据库某个表中的PSSWORD设置数字密码 为什么不能用 还要翻译吗

发布网友 发布时间:2022-04-30 08:03

我来回答

2个回答

懂视网 时间:2022-04-30 12:24

      sqlite是一个开源的嵌入式文件数据库,sqlite以动态链接库的方式供应用程序调用,所有的数据库对象都存储在同一个文件中。 sqlite动态库非常小,最新的3.8.11版本也只有500k左右。sqlite虽然小,但功能并不弱,它支持sql-92标准中大部分SQL规范, 支持表,索引,视图,触发器等对象,同时它还支持事务,满足ACID特性,因此非常适合嵌入式设备存储数据,尤其是手机,君不见微信,支付宝其实都在用哦。鉴于sqlite在嵌入式 领域非常流行,本人最近也在学习这个数据库,后面在学习的过程中,会整理些笔记,希望对大家有帮助。

下载源代码

      在sqlite官网上http://www.sqlite.com/download.html下载最新的源代码,目前最新的版本是3.8.11。sqlite的源码包有两类,一类是sqlite-amalgamation-3081101.zip,这个包里面的 的源码只有一个源码文件sqlite3.c,包含了sqlite各个模块的所有代码;另外一类是sqlite-src-3081101.zip,这个包按sqlite模块拆分成了很多小文件。如果你想学习源代码,建议使用sqlite-src-3081101.zip,而如果用来熟悉sqlite功能,则建议使用sqlite-amalgamation-3081101.zip,因为就一个文件,方便将代码整合到自己的工程。下文,都假设采用只有一个文件的包。

编译&安装

拿到源码后,我们看到除了sqlite3.c源文件,还有shell.c文件。因为sqlite3.c只是一个动态库的源文件,因此通过整合shell.c可以生成sqlite执行码,简单来说就是sqlite3的客户端。

1)  编译命令行管理工具

gcc shell.c sqlite3.c -lpthread -ldl -o sqlite3

2)  编译动态链接库

gcc sqlite3.c -lpthread -ldl -fPIC -shared -o libsqlite3.so 

备注:

-fPIC:表示编译为位置独立的代码,不用此选项的话编译后的代码是位置相关的,动态载入时是通过代码拷贝的方式来满足不同进程的需要, 这样,N个进程就就需要N个动态库的拷贝,不能达到真正代码段共享的目的。

-shared:表示生成一个共享目标文件,即我们所说的动态链接库。它可以和其他目标文件连接产生可执行文件。

-lpthread系统库用于支持线程操作。

-dl系统库用于支持动态装载。

3)  编译静态库

gcc -c sqlite3.c -lpthread -ldl -o sqlite3.o

ar -r libsqlite3.a sqlite3.o

将列出的各个目标文件一起打包成一个静态库libsqlite3.a

sqlite3基本操作

经过第一步和第二步,我们已经有了动态库和可执行码,这一节主要讲讲sqlite客户端的基本操作。由于sqlite支持sql-92标准,因此,在sqlite中使用sql语句与其他关系型数据库并没有太多差别。

1)  创建名为test.db的数据库

sqlite3  test.db

2)  创建表t,并添加索引idx_c1

create table t1(id int primary key,  c1 varchar(100));

create index idx_c1 on t1(c1);

3)  创建视图 

create view view_t1 as select * from t1;

4)  元数据查询命令

    a)  .databaes  显示数据库对象

    b)  .tables   显示表对象

    c)  .schema  显示表对象创建语句

    d)  .indices  显示索引对象

5)  sqlite_master元数据表

sqlite中所有数据都存储在一个db文件中,其中sqlite_master用于存储元数据信息。第4节讲到的命令输出的数据,实质都是来源于sqlite_master表。Sqlite_master表结构如下

type

name

tbl_name

rootpage

sql

对象类型

对象名

表名

对象B树存储的根页

创建对象语句

比如,查询当前数据库的所有对象

 技术分享

6) .show 显示格式

默认查询输出结果可能不太容易看,可以通过设置以下参数来调整输出。.show命令显示了当前各种输出参数的设置,比如我们输出结果时,需要输出列名,可以使用.headers on即可。其他参数,大家可以逐个试试。

sqlite> .show     

echo: off  

explain: off  

headers: on     

mode: column

nullvalue: ""   

output: stdout

separator: "|"    

width:

7)  导入&导出

sqlite备份恢复相当容易,直接拷贝db文件就完事了。同样sqlite也支持导入导出功能,相对于拷贝物理文件方式,导出的对象更灵活,可以只导出数据库中的指定对象,另外导出文件存储的是SQL语句,物理文件存储的是二进制数据。

   a) 导出

   .dump  默认导出数据库所有对象到屏幕

 技术分享

   b) 导出 t1和t2表到文件,需要设置.output参数

   .output filename

   .dump  t1 t2 

   .output stdout

   c) 导入

   .read  filename

 

 

 

 

 

 

 

Sqlite学习笔记(一)

标签:

热心网友 时间:2022-04-30 09:32

二.Windows下的SQLite的源代码是哪个软件压缩包?
sqlite-amalgamation-3_6_22.zip是SQLite的windows下源码文件
三.Window下的SQLite命令行工具
sqlite-3_6_22.zip
四.Window下的SQLite开发库,即动态链接库以及DEF文件
sqlitedll-3_6_22.zip
五.SQLite最新版本是:3.6.22
六.b<=a && a <= c 的SQL语句如何写
在SQLite中, 表达式"a BETWEEN b AND c"等于表达式 "a >= b AND a <= c",在比较表达式时,a可以是具有任何亲和性
七.a的值是x,y,z其中一个值,SQL语句如何写
SQLite把表达式 "a IN (x, y, z)" 和 "a = z OR a = y OR a = z"视为相等.
八.如何创建制定目录的数据库
sqlite3 D:/Project/SyncML/Lib/debug/atsync.db
九.创建数据的注意事项
如果不往数据库里面添加任何的表,这个数据库等于没有建立,不会在硬盘上产生任何文件,如果数据库已经存在,则会打开这个数据库。
十.如何添加一张数据表
create table student(name varchar(10), age smallint);
十一.如何往数据表中添加数据
insert into student values('张三', 20);
十二.如何通过sqlite3.dll与sqlite3.def生成sqlite3.lib文件
LIB /DEF:sqlite3.def /machine:IX86
十三.如何查询SQLite工具的软件版本
也就是sqlite3.exe应用程序小工具的版本号
方法一:进入sqlite3.exe所在目录,在命令行执行如下命令
sqlite3 –version
方法二:
select sqlite_version();
十四.如何在字符串中使用单引号(')?
SQL 标准规定,在字符串中,单引号需要使用逃逸字符,即在一行中使用两个单引号
十五.如果删除了大量数据,而又想缩小数据库文件占用的空间,执行 VACUUM 命令
vacuum;
十六.在SQLite中,如何在一个表上添加或删除一列?
SQLite 有有限地 ALTER TABLE 支持。你可以使用它来在表的末尾增加一列,可更改表的名称。 如果需要对表结构做更复杂的改变,则必须重新建表。 重建时可以先将已存在的数据放到一个临时表中,删除原表, 创建新表,然后将数据从临时表中复制回来。
如,假设有一个 t1 表,其中有 "a", "b", "c" 三列, 如果要删除列 c ,以下过程描述如何做:
开始事物处理
BEGIN TRANSACTION;
创建临时表格t1-backup
CREATE TEMPORARY TABLE t1_backup(a,b);
将数据库表t1中的所有数据拷贝到表t1-backup中
INSERT INTO t1_backup SELECT a,b FROM t1;
删除表格t1
DROP TABLE t1;
创建表格t1
CREATE TABLE t1(a,b);
将数据库表t1-backup中的所有数据拷贝到表t1中
INSERT INTO t1 SELECT a,b FROM t1_backup;
删除备份表格t1-backup
DROP TABLE t1_backup;
事物提交
COMMIT;
十七.如何查询当前的编码的编码格式
pragma encoding;
十八.SQLite支持哪些数据类型些?
NULL 值为NULL
INTEGER 值为带符号的整型,根据类别用1,2,3,4,6,8字节存储
REAL 值为浮点型,8字节存储
TEXT 值为text字符串,使用数据库编码(UTF-8, UTF-16BE or UTF-16-LE)存储
BLOB 值为二进制数据,具体看实际输入
但实际上,sqlite3也接受如下的数据类型:
smallint 16 位元的整数
interger 32 位元的整数
decimal(p,s) p 精确值和 s 大小的十进位整数,精确值p是指全部有几个数(digits)大小值 ,s是指小数点後有几位数。如果没有特别指定,则系统会设为 p=5; s=0 。
float 32位元的实数。
double 64位元的实数。
char(n) n 长度的字串,n不能超过 254。
varchar(n) 长度不固定且其最大长度为 n 的字串,n不能超过 4000。
graphic(n) 和 char(n) 一样,不过其单位是两个字元 double-bytes, n不能超过127。 这个形态是为了支援两个字元长度的字体,例如中文字。
vargraphic(n) 可变长度且其最大长度为 n 的双字元字串,n不能超过 2000。
date 包含了 年份、月份、日期。
time 包含了 小时、分钟、秒。
timestamp 包含了 年、月、日、时、分、秒、千分之一秒。
十九.如果将某个字段设置为INTEGER PRIMARY KEY属性,有什么特性?
如果将声明表的一列设置为 INTEGER PRIMARY KEY,则具有:
1.每当你在该列上插入一NULL值时, NULL自动被转换为一个比该列中最大值大1的一个整数;
2.如果表是空的, 将会是1;
注意该整数会比表中该列上的插入之前的最大值大1。 该键值在当前的表中是唯一的。但有可能与已从表中删除的值重叠。要想建立在整个表的生命周期中唯一的键值,需要在 INTEGER PRIMARY KEY 上增加AUTOINCREMENT声明。那么,新的键值将会比该表中曾能存在过的最大值大1。
二十.字段声明中有AUTOINCREMENT属性,有什么与众不同的含义?
要想建立在整个表的生命周期中唯一的键值,需要在 INTEGER PRIMARY KEY 上增加AUTOINCREMENT声明。那么,新的键值将会比该表中曾能存在过的最大值大1。
2010年SQLite学习笔记之二
一.建立数据库
SQL数据库某个表中的PSSWORD设置数字密码 为什么不能用 还要翻译吗

SQL 标准规定,在字符串中,单引号需要使用逃逸字符,即在一行中使用两个单引号 十五.如果删除了大量数据,而又想缩小数据库文件占用的空间,执行 VACUUM 命令 vacuum;十六.在SQLite中,如何在一个表上添加或删除一列?SQLite 有有限地 ALTER TABLE 支持。你可以使用它来在表的末尾增加一列,可更改表...

sql 数据库备份与还原命令时什么?怎么用?急!!!

3.恢复数据库 Restore Database db_name From device With Restricted_User File=恢复具有多个备份子集的备份介质中的那个备份子集 Pssword= MediaName= MediaPassword= Keep_Replication Move file to file Norecovery|Recovery|Standby=数据库恢复操作的UNDO文件(恢复数据库文件或文件组使用Norecovery选项)No...

如何把EXCEL的内容导入word指定的位置

打开word文档,点击“插入”栏目---对象---由文件创建---浏览excel表格文件的路径---插入---再勾上选显示为链接到文件:是指把excel里的文件直接在word里显示;而显示为图标就会在word文档里只显示excel的图标---确定即可。显示为链接到文件:显示为图标:...

在一个数据库表中最多可以设置 数据库表怎么设置约束为0或1 数据库表的外键怎么设置 设置数据库表时间为当前时间 数据库表怎么设置主键 数据库表必须设置主键吗 数据库给表设置主键 数据库建表设置默认值 ps设置快捷键怎么设置
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我做3D图时渲染提示VR内存不足,然后我再我的电脑属性里修改了/PAE, vr游戏需要电脑吗_玩vr游戏需要什么配置的电脑 VRay对显卡要求高吗 广州理工和广东理工学院哪个好 广州理工学院好不好怎么样 广州理工学院好还是广州工商学院好? 广东白云学院和广州理工哪个好 广州理工学院值得读吗 宿迁市尚呈医药咨询有限公司怎么样? 宿迁盛基医药科技有限公司怎么样? 野径云俱黑,江船火独明晓看红湿处,花重锦官城中的,野径是什么意思 野径云俱黑 野径是什么意思 野径云俱黑,江船火独明野径的意思 若两人乘坐飞机共用一个行李箱,行李箱重量超过20公斤?是免费托运吗? 飞机托运超过20公斤怎么收费的? 国内飞机航班托运行李超过20公斤,怎么办?是需要补钱吗?具体多少? 如果飞机上托运超过20公斤怎么办阿? _百度问一问 飞机托运的行李就一定要控制在20公斤吗?超出多少可以呢?如果超出的都拿在身上可以吗?_百度问一问 飞机托运超过20KG, 怎么收费长春到无锡? 乘飞机若行李超过20公斤怎么办?最大重量是多少?如何收费? 如果飞机托运的行李超过20KG限制,怎么办? 坐飞机时,所带物品超过免费托运物品重量时,应该怎么办? 托运行李,两个人一个大包,可能超过20公斤了 怎么办? 洪尧曹赢心分手了吗 网曝俩人参加电视节目前就认识 洪尧被曝出轨是怎么回事 洪尧出轨对象叫什么照片 求洪尧曹赢心照片 手机指纹解锁可以破解吗 手机的指纹解锁别人能解开吗? 我手机被偷,他能破解我的手机指纹锁吗? 野径云俱黑江船火独明的野径什么意思 “野径云俱黑,江船火独明”的意思是什么? 1随风潜入夜,润物细无声。野径云俱黑,江船火独明。2、润物、野径、独明什么意思?1问题什么意思 春夜喜雨中,“野径云俱黑”中“乃发生”、“野径云俱黑”中“径”、“晓看红湿处”中“晓”的意思 春夜喜雨中野径云俱黑江船火独明描摹了什么的景致 大家清楚iOS系统云游戏吗?求推荐。 新建的电子表格就是07版本的,可我不会用,怎么转换成03版的? Microsoft Excel 工作表的表格转换2003版本 hpm1005离合器和佳能2900离合器通用吗 云游戏平台可以安卓和iOS玩吗 求一款能玩光遇的云游戏平台(网易云除外) 和格来云很像的苹果软件 苹果xs max怎么连接空调 对口升学,什么时候报名考试 对口升学考试时间、和考试形式是怎样的? iPhone xs能开空调吗 黑龙江省对口升学考试时间是什么时候 对口升学需要读几年?有什么要求? 对口单招高考时间要提前是真的吗? 陕西省对口升学考试什么时间报名?