sqlite3数据库命令

SQL:结构化查询语言 Structrue Query Language
是所有关系型数据库管理系统的标准语言  
非过程化语言
只需要去定义期望结果,将产生结果的过程交给外部代理(数据库引擎)来定义
根据SQL语言的功能可以这样分类:
数据定义语言:DDL

创建表:
CREATE TABLE IF NOT EXISTS 表名(列名 数据类型 约束,...);
示例:
create table IF NOT EXISTS tb_student(id integer primary key,name text not null,age integer check(age > 5));
存储类型:
integer 整型(int)
real 实型
text 文本类型
null 空类型
blob 二进制类型
常用约束条件:
primary key  主键--用于在关系表中唯一的标识一条记录
unique 唯一
not null  不为空 
check 检查
default 默认
修改表:
修改表名:
alter table 表名 rename to 新的表名;
添加一列:
alter table 表名 add column 列名 类型 约束;
alter table tb_stu add  column addr text default "CHINA";
删除表:
drop table 表名;
数据操纵语言:DML
插入
insert into 表名(列名,...)values(列值,...);
                                        示例:
insert into tb_student(id,name,age)values(1001,"zhangfei",20);
删除
delete from 表名 where 条件;
修改
update 表名 set 列名=新值 where 条件;
条件:
列名 运算符 值; 
运算符:=   !=  >   <     <=   >=
注:可以用 and 和 or 连接多个条件
          示例:
update tb_student set age=29 where name="liubei";
查询
select 列名1,... from 表名 where 条件;
select id,name,age from tb_student;
          示例:
select * from 表名; //  通配符* :表示所有列
多表查询:
tb_stu(id,name,age);
                                        1001 zhangfei  20 
tb_score(id,cid,score);
1001 A001  59
tb_curse(cid,cname,cscore);
A001 math 10 
-------------------------------
id  name  socre
1001 zhangfei           59

select 列名1,... from 表1,表2,... where 条件;
                              示例:
 select id,name,score 
from tb_student,tb_score 
where name="zhangfei" and cname="A001";

-------------------- -------------------- -------------------- -------------------- -------------------- -------------------- --------------------
练习:
删除zhangfei的数学成绩

/*第一步*/
create table stu_tb(sid integer primary key,sname text not null,age integer check(age>16));


insert into stu_tb(sid,sname,age)values(001,"zhangfei",24);
insert into stu_tb(sid,sname,age)values(002,"liubei",30);
insert into stu_tb(sid,sname,age)values(003,"guanyu",28);
insert into stu_tb(sid,sname,age)values(004,"zilong",21);

select * from stu_tb;


/*第二步*/
create table course_tb(cid integer primary key,cname test not null);

insert into course_tb(cid,cname)values(101,"语文");
insert into course_tb(cid,cname)values(102,"英语");
insert into course_tb(cid,cname)values(103,"数学");
select * from stu_tb;


/*第三步*/
create table sc_tb(sid integer,cid integer,score real);

insert into sc_tb(sid,cid,score)values(001,101,91);
insert into sc_tb(sid,cid,score)values(001,103,84);
insert into sc_tb(sid,cid,score)values(002,101,58);
insert into sc_tb(sid,cid,score)values(002,102,96);
insert into sc_tb(sid,cid,score)values(003,102,71);
insert into sc_tb(sid,cid,score)values(003,103,50);

select * from  sc_tb ;

// 删除zhangfei的数学成绩
drop from sc_tb where (select stu_tb.sid from stu_tb where sname="zhangfei")=sc_tb.sid and(select course_tb.cid from course_tb where cname="数学")=sc_tb.cid ;



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLite是一种嵌入式数据库引擎,可以通过使用SQLite提供的API来执行数据库操作命令。其中,sqlite3_exec是一个常用的函数,用于执行SQL命令。它的原型如下:sqlite3_exec(sqlite3* db, const char *sql, sqlite_callback, void *data, char **errmsg)。\[1\] 要创建一个SQLite数据库文件,可以使用以下命令sqlite3 testDB.db。这将在当前目录下创建一个名为testDB.db的数据库文件,该文件将被SQLite引擎用作数据库。创建成功后,您将看到一个sqlite>提示符。\[2\] 以下是一个使用SQLite API进行数据库操作的示例代码: #include <stdio.h> #include <sqlite3.h> int main(int argc, char* argv\[\]) { sqlite3 *db; char *zErrMsg = 0; int rc; rc = sqlite3_open("test.db", &db); if( rc ){ fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db)); exit(0); }else{ fprintf(stderr, "Opened database successfully\n"); } // 在这里可以执行其他数据库操作命令 sqlite3_close(db); } 在上述示例代码中,sqlite3_open函数用于打开名为test.db的数据库文件。如果打开失败,将打印错误信息。如果打开成功,将打印"Opened database successfully"。在打开数据库后,您可以在注释部分执行其他数据库操作命令。最后,使用sqlite3_close函数关闭数据库连接。\[3\] 请注意,上述示例代码只是一个简单的示例,您可以根据具体需求使用SQLite提供的其他API函数来执行更复杂的数据库操作。 #### 引用[.reference_title] - *1* *2* *3* [sqlite3 常用命令](https://blog.csdn.net/yuezhilangniao/article/details/124898271)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值