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

linux sqlite3创建视图命令,视图的字段是从两个表中选取的

发布网友 发布时间:2022-04-09 18:48

我来回答

2个回答

懂视网 时间:2022-04-09 23:09


备注:本文所有操作均在root用户下进行。

1、安装sqlite3
ubuntu下安装sqlite3直接在终端运行命令:
#apt-get install sqlite3
查看版本信息:
#sqlite3 -version
 
2 、sqlite3常用命令
当前目录下建立或打开test.db数据库文件,并进入sqlite命令终端,以sqlite>前缀标识:
#sqlite3 test.db
 
查看数据库文件信息命令(注意命令前带字符‘.‘):
sqlite>.database

查看所有表的创建语句:
sqlite>.schema
 
查看指定表的创建语句:
sqlite>.schema table_name
 
以sql语句的形式列出表内容:
sqlite>.dump table_name
 
设置显示信息的分隔符:
sqlite>.separator symble
Example:设置显示信息以‘:’分隔
sqlite>.separator :
 
设置显示模式:
sqlite>.mode mode_name
Example:默认为list,设置为column,其他模式可通过.help查看mode相关内容
sqlite>.mode column
 
输出帮助信息:
sqlite>.help
 
设置每一列的显示宽度:
sqlite>.width width_value
Example:设置宽度为2
sqlite>.width 2
 
列出当前显示格式的配置:
sqlite>.show
 
退出sqlite终端命令:
sqlite>.quit

sqlite>.exit
 
3、sqlite3指令
sql的指令格式:所有sql指令都是以分号(;)结尾,两个减号(--)则表示注释。
如:
sqlite>create studen_table(Stu_no interger PRIMARY KEY, Name text NOT NULL, Id interger UNIQUE, Age interger CHECK(Age>6), School text DEFAULT ‘xx小学);
该语句创建一个记录学生信息的数据表。
 
3.1 sqlite3存储数据的类型
NULL:标识一个NULL值
INTERGER:整数类型
REAL:浮点数
TEXT:字符串
BLOB:二进制数

3.2 sqlite3存储数据的约束条件
Sqlite常用约束条件如下:
PRIMARY KEY - 主键:
1)主键的值必须唯一,用于标识每一条记录,如学生的学号
2)主键同时也是一个索引,通过主键查找记录速度较快
3)主键如果是整数类型,该列的值可以自动增长
NOT NULL - 非空:
约束列记录不能为空,否则报错
UNIQUE - 唯一:
除主键外,约束其他列的数据的值唯一
CHECK - 条件检查:
约束该列的值必须符合条件才可存入
DEFAULT - 默认值:
列数据中的值基本都是一样的,这样的字段列可设为默认值

3.3 sqlite3常用指令
1)建立数据表
create table table_name(field1 type1, field2 type1, ...);
table_name是要创建数据表名称,fieldx是数据表内字段名称,typex则是字段类型。
例,建立一个简单的学生信息表,它包含学号与姓名等学生信息:
create table student_info(stu_no interger primary key, name text);
 
2)添加数据记录
insert into table_name(field1, field2, ...) values(val1, val2, ...);
valx为需要存入字段的值。
例,往学生信息表添加数据:
Insert into student_info(stu_no, name) values(0001, alex);
 
3)修改数据记录
update table_name set field1=val1, field2=val2 where expression;
where是sql语句中用于条件判断的命令,expression为判断表达式
例,修改学生信息表学号为0001的数据记录:
update student_info set stu_no=0001, name=hence where stu_no=0001;
 
4)删除数据记录
delete from table_name [where expression];
不加判断条件则清空表所有数据记录。
例,删除学生信息表学号为0001的数据记录:
delete from student_info where stu_no=0001;
 
5)查询数据记录
select指令基本格式:
select columns from table_name [where expression];
a查询输出所有数据记录
select * from table_name;
b限制输出数据记录数量
select * from table_name limit val;
c升序输出数据记录
select * from table_name order by field asc;
d降序输出数据记录
select * from table_name order by field desc;
e条件查询
select * from table_name where expression;
select * from table_name where field in (‘val1‘, ‘val2‘, ‘val3‘);
select * from table_name where field between val1 and val2;
f查询记录数目
select count (*) from table_name;
g区分列数据
select distinct field from table_name;
有一些字段的值可能会重复出现,distinct去掉重复项,将列中各字段值单个列出。
 
6)建立索引
当说数据表存在大量记录,索引有助于加快查找数据表速度。
create index index_name on table_name(field);
例,针对学生表stu_no字段,建立一个索引:
create index student_index on student_table(stu_no);
建立完成后,sqlite3在对该字段查询时,会自动使用该索引。
 
7)删除数据表或索引
drop table table_name;
drop index index_name;

Android简单的 将sqlite中两个表进行关联

(2012-07-24 15:16:10)

技术分享转载

标签:

字段

指令

sql数据库

年份

索引



SQLiteDatabase db1 =tracks.getWritableDatabase(); 

   ContentValues tracksvalues = newContentValues(); 

   tracksvalues.put(COL1,‘1‘); 

   tracksvalues.put(COL2,‘2‘); 

   Long insertid=db1.insertOrThrow(TABLE_NAME1,null, tracksvalues); 

 

   if (insertid!=-1){ 

 

      SQLiteDatabase db2 =waypoints.getWritableDatabase(); 

      ContentValues waypointvalues = newContentValues(); 

      waypointvalues.put(LONGITUDE,loc.getLongitude()); 

      waypointvalues.put(LATITUDE,loc.getLatitude()); 

      waypointvalues.put(TIME,System.currentTimeMillis()); 

      waypointvalues.put(TRACK_ID_FK,insertid); 

      db2.insertOrThrow(TABLE_NAME2, null,waypointvalues); 

 

   } 

将TABLE_NAME1中插入tracksvalues,并返回一个vid Long insertid

然后将这个id放入另一个表中存储



下面是sqlite3的一些用法:


 

假设我们要建一个名叫film的资料表,只要键入以下指令就可以了: 


create table film(title,length, year, starring); 


这样我们就建立了一个名叫film的资料表,里面有name、length、year、starring四个字段。 


这个createtable指令的语法为: 


create tabletable_name(field1, field2, field3, ...); 


table_name是资料表的名称,fieldx则是字段的名字。sqlite3与许多SQL数据库软件不同的

热心网友 时间:2022-04-09 20:17

是不是这样啊

sqlite> create view empdept as select empid, e.name, title, d.name, location from employee e, dept d where e.deptid = d.deptid;追问我现在想在sqlite3的一个表上建一个触发器,插入时根据一个字段判断该条记录是否已经存在,如果存在就不插入,否则插入。。不是用主键判断

追答不好意思,因为你题目里没有提触发器的事情,所以答错了。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
谁告诉我一下,韩语中,“遵命”怎么说 想开个甜品店,不知道哪里可以学习呢 如何取消微信新号绑定的手机号? 翼支付-翼建钟情活动内容是什么? 怎么参加翼支付“翼建钟情”活动? 翼支付--翼建钟情立减10元-建行这次活动有具体名额限制吗? 西凤酒是哪里的 货车总重量不超过二十吨就不算超载吗? 自卸货车上装有二十多吨货已经有四五天了对货车能伤害哪个部位? 如何回复别人的"忙里偷闲"? 27寸显示器4K好还是2k 点龟头里白色东西是什么啊 《山海巍巍》歌词悟我 男人的龟头里有白色的东西是怎么回事 给刚出生的女孩起名 名字大全小孩叫白程什么好听 四个字的微信呢称 2009年7月2日16:25生,老公姓程,我姓霍,男孩,请帮忙取几个好名字 龟头中白色的是什么 徽信名字什么最好 我要编小说,各位帮帮忙,帮我给小说的男女猪脚起个名字吧。 天安门是位于北京哪个区的 《夜曲》洛小花电子书txt全集下载 龟头里那层白色的东西是什么? 龟头包皮内有白色的东西是什么? 金陵春 第九十五章 是谁 龟头上有一些白色东西是什么 放弃一个不爱你的人,是什么感觉? 天安门在北京市的什么区, 天安门北京在哪个区 福可以组什么词 福可以组什么词语 福能组什么四字词语 福字可以组成什么词语 如何看一个男人虚伪不虚伪? 中国现在十大武术高手 中国武术十大高手是谁? 中国武术界最厉害有谁? 请问中国功夫第一人是谁? 21世纪至今谁是中国功夫高手? 真实的中国功夫高手到底有多厉害? 谁是中国功夫第一人 中国功夫历史悠久,为什么没有真正的中国功夫大师出来一战? 中国功夫最高的是谁 怎么在linux环境下,使用java执行sqlite3的.import命令? 手机屏幕的具体形状和尺寸,最好有图纸 手机屏幕控制图纸 我的手机屏幕中心碎了,求一些适合这样的牛逼图纸。(苹果4) 对联1.3米宽高是多少 3井对联实际多长?