数据库3
数据库的导入及导出
若想将sqlite3里的数据导入及导出sqlserver
数据库导出:
linux@ubuntu:~/sqlite3$ sqlite3 kaka.db .dump > yuanyuan.sql
linux@ubuntu:~/sqlite3$ vi yuanyuan.sql
数据库导入:
linux@ubuntu:~/sqlite3$ sqlite3 oo.db < yuanyuan.sql
linux@ubuntu:~/sqlite3$ sqlite3 oo.db
sqlite> .table
student time zizeng
sqlite> select * from time;
1|王源|19|2020-03-08 12:19:31
2|王俊凯|20|2020-03-08 20:19:45
3|王俊凯|23|2019-03-08 20:20:52
1|王源|19|2020-03-08 12:29:18
|王俊凯|20|2020-03-08 12:30:02
为方便观看表格:
网络配置:
网络配置:
linux ->虚拟机设置 -> 网络配置 ->NAT(地址转换)
sudo vim/etc/network/interfaces
保留如下两句
auto eth0
ifface etho inet dhcp
sudo reboot 重启虚拟机
或者
sudo.etc/init.d/networking restart 重启网络
ping www,baidu.com
看是否可以上网
可视化工具sqliteman安装:
sudo apt-get install sqliteman
打开工具:
linux@ubuntu:~/sqlite3$ sqliteman
vim编译器左上角选择file -> open 选择要打开的文件
选择一张表打开:
从左到右
1:写入一行记录
2:删除记录
4:保存
5:取消
查找在上方框中输入命令按第一个绿色右箭头执行即可。
sqlite3_exec 函数执行查询功能并显示
只有命令执行后有表中有可选择的记录才会触发调用get_result函数,出现几条记录调用几次,回调一次指显示一条记录,第二次回调会显示下一条记录,依次类推,直至显示完。
#include <stdio.h> #include <sqlite3.h> //返回命令结果col,列,result 正文,title,标题 int get_result(void *arg,int col ,char **result ,char **title) { int i = 0 ; static int flag = 0; //添加标志为保证只打印一个表头 if(0 == flag) { for(i = 0 ;i < col ;i++) { printf("%s\t",title[i]); } printf("\n"); flag = 1; } //插入每一列信息 for(i = 0 ;i < col ; i++) { printf("%s\t",result[i]); } printf("\n"); return 0; } int main(void) { sqlite3 *db; int ret; ret = sqlite3_open("/home/linux/sqlite3/kaka.db",&db); if(SQLITE_OK != ret) { fprintf(stderr,"open db error:%s\n",sqlite3_errmsg(db)); sqlite3_close(db); return 1; } char *errmsg = NULL; char sql_cmd[] = "select * from time;"; ret = sqlite3_exec(db,sql_cmd,get_result,NULL,&errmsg); if(SQLITE_OK!=ret) { fprintf(stderr,"sql cmd error:%s\n",errmsg); sqlite3_free(errmsg); return 1; } sqlite3_close(db); printf("Hello World!\n"); return 0; }
yongsqlite3_exec();验证登录用户名是否正确
include <stdio.h> #include <sqlite3.h> int get_result(void * arg,int col ,char**result ,char**title) { /* demo1 not use arg int i = 0 ; static int flag = 0; if(0 == flag) { for(i = 0 ;i < col ;i++) { printf("%s\t",title[i]); } printf("\n"); flag = 1; } for(i = 0 ;i < col ; i++) { printf("%s\t",result[i]); } printf("\n"); */ //我们是要给内容复制为1,所以对其取* *(int*)arg = 1; return 0; } int main(void) { sqlite3 *db; int ret; ret = sqlite3_open("/home/linux/sqlite3/kaka.db",&db); if(SQLITE_OK!=ret) { fprintf(stderr,"open db error:%s\n",sqlite3_errmsg(db)); sqlite3_close(db); return 1; } char * errmsg=NULL; char sql_cmd[] = "select * from student where name ='王一博' and age ='23';"; //定义标志为,验证用户名及密码是否存在 //flag_exists标志位传递给get_result()的第一个参数即arg,若用户名和密码匹配,则会调用get_result函数 //标志位传过来之前是整形,接回去为指针型变量*arg int flag_exists = 0 ; ret = sqlite3_exec(db,sql_cmd,get_result,&flag_exists,&errmsg); if(SQLITE_OK!=ret) { fprintf(stderr,"sql cmd error:%s\n",errmsg); sqlite3_free(errmsg); return 1; } if(0 == flag_exists) { printf("user and passwd error\n"); } else { printf("user and passwd correct\n"); } sqlite3_close(db); printf("Hello World!\n"); return 0; }
- 点赞
- 收藏
- 分享
- 文章举报
- SqlServer--用代码创建和删除数据库和表
- Android LitePal让数据库使用so easy(译)
- es实现类似于关系型数据库中的 like '%xx%'
- powerDesigner建表时选择不同数据库类型
- [数据库与SQL] - No.1 in、exists、all、any用法与区别
- mysql- sql-mode 数据库大小查询
- SQL Server 数据库设计和实现(二)
- 用虚拟机Redhat Linux安装oracle 11G 并在winows上用PLSQL Developer使用数据库 总结
- OAF数据库动态图片的实现
- 数据库技术基础之关系数据库
- 修复FIREBIRD数据库
- 数据库同步程序如何保证事务装载高效又完整
- EF基础知识小记四(数据库=>模型设计器)
- Springboot中使用数据库配置Quartz定时任务
- pymysql 操作mysql和数据库同步
- Java数据库第一章
- Java插入中文到数据库中文变成问号解决
- Django数据库类库MySQLdb使用详解
- 多种数据库的比较,程序员最常用的数据库竟然是它
- 【MySQL】:利用DDL操作数据库、表