当前位置: 首页 > news >正文

如何创作网站与众不同的网站

如何创作网站,与众不同的网站,检索类的网站建设,智汇团建网站登录平台数据库简介数据库是结构化数据的集合,用于高效存储、检索和管理数据。常见的数据库类型包括关系型(如MySQL、SQLite)和非关系型(如MongoDB)。关系型数据库使用表格形式存储数据,并通过SQL(结构化…

数据库简介

数据库是结构化数据的集合,用于高效存储、检索和管理数据。常见的数据库类型包括关系型(如MySQL、SQLite)和非关系型(如MongoDB)。关系型数据库使用表格形式存储数据,并通过SQL(结构化查询语言)操作。

SQLite3

SQLite3是轻量级、嵌入式的关系型数据库,无需服务器,以文件形式存储数据。适合嵌入式设备或小型应用。

C语言操作SQLite3示例

以下代码演示如何用C语言创建SQLite3数据库、表,并插入数据:

#include <sqlite3.h>
#include <stdio.h>int main() {sqlite3 *db;char *err_msg = 0;// 打开或创建数据库int rc = sqlite3_open("test.db", &db);if (rc != SQLITE_OK) {fprintf(stderr, "无法打开数据库: %s\n", sqlite3_errmsg(db));sqlite3_close(db);return 1;}// 创建表char *sql = "CREATE TABLE IF NOT EXISTS users(id INTEGER PRIMARY KEY, name TEXT);";rc = sqlite3_exec(db, sql, 0, 0, &err_msg);if (rc != SQLITE_OK) {fprintf(stderr, "SQL错误: %s\n", err_msg);sqlite3_free(err_msg);}// 插入数据sql = "INSERT INTO users(name) VALUES('Alice');""INSERT INTO users(name) VALUES('Bob');";rc = sqlite3_exec(db, sql, 0, 0, &err_msg);if (rc != SQLITE_OK) {fprintf(stderr, "SQL错误: %s\n", err_msg);sqlite3_free(err_msg);}sqlite3_close(db);return 0;
}

关键步骤说明

  • 使用sqlite3_open打开或创建数据库文件
  • 通过sqlite3_exec执行SQL语句(如建表、插入数据)
  • 错误信息通过sqlite3_errmsgerr_msg获取
  • 最后调用sqlite3_close关闭数据库连接

编译时需要链接SQLite3库:

gcc program.c -lsqlite3 -o program

SQLite3以简洁高效著称,适合资源受限的环境。通过C语言接口可直接操作数据库文件,无需额外服务进程。

作业:

1.数据库实现案例

#include <myhead.h>int do_add(sqlite3 *dbfd)
{int id=0;char name[20]="";char sex[10]="";int age=0;printf("请输入家人编号:");scanf("%d",&id);printf("请输入姓名:");scanf("%s",name);printf("请输入性别:");scanf("%s",sex);printf("请输入年龄:");scanf("%d",&age);getchar();char sql[128]="";char *errmsg=NULL;sprintf(sql,"insert into family values(%d,\"%s\",\"%s\",%d);",id,name,sex,age);if(sqlite3_exec(dbfd,sql,NULL,NULL,&errmsg)!=SQLITE_OK){printf("sqlite3_exec insert error:%s\n",errmsg);sqlite3_free(errmsg);return -1;}printf("添加成功!!!\n");return 0;
}int do_delete(sqlite3 *dbfd)
{int id=0;printf("请输入想要删除的家人编号:");scanf("%d",&id);getchar();char sql[128]="";char *errmsg=NULL;sprintf(sql,"delete from family where id==%d;",id);if(sqlite3_exec(dbfd,sql,NULL,NULL,&errmsg)!=SQLITE_OK){printf("sqlite3_exec delete error:%s\n",errmsg);sqlite3_free(errmsg);return -1;}printf("删除成功!!!\n");return 0;
}int do_update(sqlite3 *dbfd)
{int id=0;printf("请输入想要删除的家人编号:");scanf("%d",&id);getchar();char name[20]="";char sex[10]="";int age=0;printf("请输入修改后的姓名:");scanf("%s",name);printf("请输入修改后的性别:");scanf("%s",sex);printf("请输入修改后的年龄:");scanf("%d",&age);getchar();char sql[128]="";char *errmsg=NULL;sprintf(sql,"update family set name=\"%s\",sex=\"%s\",age=%d where id==%d;",name,sex,age,id);if(sqlite3_exec(dbfd,sql,NULL,NULL,&errmsg)!=SQLITE_OK){printf("sqlite3_exec update error:%s\n",errmsg);sqlite3_free(errmsg);return -1;}printf("修改成功!!!\n");return 0;
}int show(void *flag,int num,char **data,char **head)
{if(*((int *)flag)==0){*((int *)flag)=1;for(int i=0;i<num;i++){printf("%s\t",head[i]);}putchar(10);}for(int i=0;i<num;i++){printf("%s\t",data[i]);}putchar(10);return 0;
}int do_show(sqlite3 *dbfd)
{int flag=0;char *sql="select * from family;";char *errmsg=NULL;if(sqlite3_exec(dbfd,sql,show,&flag,&errmsg)!=SQLITE_OK){printf("sqlite3_exec select error:%s\n",errmsg);sqlite3_free(errmsg);return -1;}printf("展示成功!!!\n");return 0;
}int do_select(sqlite3 *dbfd)
{int id=0;int flag=0;printf("请输入想要查询的家人编号:");scanf("%d",&id);getchar();char sql[128]="";char *errmsg=NULL;sprintf(sql,"select * from family where id==%d;",id);if(sqlite3_exec(dbfd,sql,show,&flag,&errmsg)!=SQLITE_OK){printf("sqlite3_exec select error:%s\n",errmsg);sqlite3_free(errmsg);return -1;}printf("查询成功!!!\n");return 0;
}int main(int argc, const char *argv[])
{//打开数据库文件sqlite3 * dbfd=NULL;if(sqlite3_open("./mydb.db",&dbfd)!=SQLITE_OK){printf("sqlite3_open error:errno:%d,errmsg:%s",sqlite3_errcode(dbfd),sqlite3_errmsg(dbfd));return -1;}//创建数据表char *sql="create table if not exists family(id int,name text,sex char,age int);";char *errmsg=NULL;if(sqlite3_exec(dbfd,sql,NULL,NULL,&errmsg)!=SQLITE_OK){printf("sqlite3_exec create error:%s\n",errmsg);sqlite3_free(errmsg);return -1;}while(1){system("clear");puts("***********************************");puts("***********家庭成员管理系统********");puts("***********1.添加家人信息**********");puts("***********2.删除家人信息**********");puts("***********3.更改家人信息**********");puts("***********4.展示家人信息**********");puts("***********5.查询家人信息**********");puts("***********0.退出程序**************");puts("***********************************");int a=0;scanf("%d",&a);getchar();switch(a){case 1:{do_add(dbfd);}break;case 2:{do_delete(dbfd);}break;case 3:{do_update(dbfd);}break;case 4:{do_show(dbfd);}break;case 5:{do_select(dbfd);}break;case 0:{sqlite3_close(dbfd);exit(EXIT_SUCCESS);}break;default:printf("错误输入,请重新输入\n");break;}printf("按下回车刷新界面\n");while(getchar()!='\n');}return 0;
}

运行结果:

2.牛客网:

http://www.dtcms.com/a/558508.html

相关文章:

  • 9.9网站怎么做怎样做企业营销网站
  • 任务计算和计算图优化
  • 郑州网站推广免费网站模版建设
  • gogs 被攻击,数据库 CPU 占用 100%
  • java企业OA自动化办公源码
  • 平凉网站建设redu做网站 图片格式
  • 龙元建设集团股份有限公司网站地址免费高清大图网站
  • 河北沧州泊头做网站的电话怎么做网站优化推广
  • 北京地下室地面砖缝有渗漏水现象应该怎样处理解决
  • 网站建设的宣传词万户信息 做网站怎么样
  • 城阳做网站公司php网站安装包制作
  • 32HAL——定时器总篇
  • 骑士人才网全系与phpyun人才网系统数据转移或互转的技术文档和要领,和大家一起共勉
  • 车载消息中间件FastDDS 源码解析(一)FastDDS 介绍和使用
  • 上街免费网站建设wordpress迁移后无法登录
  • 找人建站做网站需要注意什么问题广州seo优化费用
  • 做头像的网站有没有做京东客好的网站推荐
  • 上海家装设计网站网站内容的创新
  • 百度快照投诉seo优化推广工程师招聘
  • 看谁做的好舞蹈视频网站建设银行光明支行网站
  • 北京市建设投标网站公司官网优化
  • 合肥如何做百度的网站最专业的做网站公司有哪些
  • 网站域名分类做的网站不能放视频软件
  • 网站后台邮箱设置静态网站设计与制作书籍
  • 网站式的公司记录怎么做商城网站建设哪家公司好
  • 什么是软文文案深圳网站建设推广优化seo
  • aspnet网站开发实战易语言开发安卓app
  • 新手学做网站 pdf 网盘龙岗附近网站建设
  • KeepAlived高可用
  • 珠海网站建设方案报价做个网页需要多少钱