//创建
#include <stdio.h>
#include <sqlite3.h>#include <stdlib.h>
int main()
{
int ret;
sqlite3 *db;
char *errmsg;
ret = sqlite3_open("info.db", &db);
if (SQLITE_OK != ret)
{
perror("open");
exit(1);
}
char *sql = "create table stu(id integer primary key, name text, age int);";
ret = sqlite3_exec(db, sql, NULL, NULL, &errmsg);
if (SQLITE_OK != ret)
{
perror("create");
printf("error : %s\n", errmsg);
exit(2);
}
ret = sqlite3_close(db);
if (SQLITE_OK != ret)
{
perror("close");
exit(3);
}
return 0;
}
//插入数据
#include <stdio.h>
#include <sqlite3.h>
#include <stdlib.h>
int main()
{
int ret;
sqlite3 *db;
char *errmsg;
ret = sqlite3_open("info.db", &db);
if (SQLITE_OK != ret)
{
exit(1);
}
int id, age;
char name[20];
scanf("%d %s %d", &id, name, &age);
char sql[1024] = {0};
sprintf(sql, "insert into stu values(%d, '%s', %d);", id, name, age);
ret = sqlite3_exec(db, sql, NULL, NULL, &errmsg);
if (SQLITE_OK != ret)
{
printf("error : %s\n", errmsg);
exit(2);
}
ret = sqlite3_close(db);
if (SQLITE_OK != ret)
{
exit(3);
}
return 0;
}
//替换
#include <stdio.h>
#include <sqlite3.h>
#include <stdlib.h>
int main()
{
int ret;
sqlite3 *db;
char *errmsg;
ret = sqlite3_open("info.db", &db);
if (SQLITE_OK != ret)
{
exit(1);
}
int id, age;
scanf("%d %d", &id, &age);
char sql[1024] = {0};
sprintf(sql, "update stu set age = %d where id = %d;", age, id);
ret = sqlite3_exec(db, sql, NULL, NULL, &errmsg);
if (SQLITE_OK != ret)
{
printf("error : %s\n", errmsg);
exit(2);
}
ret = sqlite3_close(db);
if (SQLITE_OK != ret)
{
exit(3);
}
return 0;
}
//删除
#include <stdio.h>
#include <sqlite3.h>
#include <stdlib.h>
int main()
{
int ret;
sqlite3 *db;
char *errmsg;
ret = sqlite3_open("info.db", &db);
if (SQLITE_OK != ret)
{
exit(1);
}
int id;
scanf("%d", &id);;
char sql[1024] = {0};
sprintf(sql, "delete from stu where id = %d;", id);
ret = sqlite3_exec(db, sql, NULL, NULL, &errmsg);
if (SQLITE_OK != ret)
{
printf("error : %s\n", errmsg);
exit(2);
}
ret = sqlite3_close(db);
if (SQLITE_OK != ret)
{
exit(3);
}
return 0;
}
//查找
#include <stdio.h>
#include <sqlite3.h>
#include <stdlib.h>
int main()
{
int ret;
sqlite3 *db;
char *errmsg;
char **result;
int row, column;
ret = sqlite3_open("info.db", &db);
if (SQLITE_OK != ret)
{
exit(1);
}
char sql[1024] = "select * from stu;";
ret = sqlite3_get_table(db, sql, &result, &row, &column, &errmsg);
if (SQLITE_OK != ret)
{
printf("%s\n", errmsg);
exit(1);
}
printf("row = %d column = %d\n", row, column);
int i, j;
for (i = 0; i < column; i++)
{
printf("%s\n", result[i]);
}
for (i = 0; i <= row; i++)
{
for (j = 0; j < column; j++)
{
printf("%s|", result[i * column + j]);
}
printf("\n");
}
sqlite3_free_table(result);
ret = sqlite3_close(db);
if (SQLITE_OK != ret)
{
exit(3);
}
return 0;
}