[代码实例][C语言][sqlite3]用SQL语句查询数据库的实例

前端之家收集整理的这篇文章主要介绍了[代码实例][C语言][sqlite3]用SQL语句查询数据库的实例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

下载sqlite3源代码


https://www.sqlite.org/

编译安装sqlite3的Makefile


      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
      • 26
      • 27
      • 28
      • 29
      • 30
      • 31
      • 32
      • 33
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
        • 15
        • 16
        • 17
        • 18
        • 19
        • 20
        • 21
        • 22
        • 23
        • 24
        • 25
        • 26
        • 27
        • 28
        • 29
        • 30
        • 31
        • 32
        • 33
        INSTALL_PATH =/usr/local
      •  
      • all: install
      •  
      • libsqlite3.so: sqlite3.c sqlite3.h
      • gcc -shared -fPIC $< -o $@
      •  
      • install_lib: libsqlite3.so install_headers
      • cp libsqlite3.so $(INSTALL_PATH)/lib
      • ldconfig $(INSTALL_PATH)/lib
      •  
      • install_headers: sqlite3.h sqlite3ext.h
      • cp $^ $(INSTALL_PATH)/include/
      •  
      • sqlite3: install_lib shell.c
      • $(CC) shell.c -o $@ -lsqlite3 -lpthread -ldl
      •  
      • install_shell: sqlite3
      • cp $^ $(INSTALL_PATH)/bin
      •  
      • install: install_lib install_shell
      •  
      • uninstall:
      • rm -f \
      • $(INSTALL_PATH)/lib/libsqlite3.so \
      • $(INSTALL_PATH)/include/sqlite3.h \
      • $(INSTALL_PATH)/include/sqlite3ext.h \
      • $(INSTALL_PATH)/bin/sqlite3
      •  
      • clean:
      • rm -f *.so sqlite3
      •  
      • .PHONY: install install_lib install_headers install_shell clean

      客户端程序


      1. 1
      2. 2
      3. 3
      4. 4
      5. 5
      6. 6
      7. 7
      8. 8
      9. 9
      10. 10
      11. 11
      12. 12
      13. 13
      14. 14
      15. 15
      16. 16
      17. 17
      18. 18
      19. 19
      20. 20
      21. 21
      22. 22
      23. 23
      24. 24
      25. 25
      26. 26
      27. 27
      28. 28
      29. 29
      30. 30
      31. 31
      32. 32
      33. 33
      34. 34
      35. 35
      36. 36
      37. 37
      38. 38
      39. 39
      40. 40
      41. 41
      42. 42
      43. 43
      44. 44
      45. 45
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21
          • 22
          • 23
          • 24
          • 25
          • 26
          • 27
          • 28
          • 29
          • 30
          • 31
          • 32
          • 33
          • 34
          • 35
          • 36
          • 37
          • 38
          • 39
          • 40
          • 41
          • 42
          • 43
          • 44
          • 45
          /* * main.c */
        • #include <stdio.h>
        • #include <stdlib.h>
        • #include <sqlite3.h>
        •  
        • static int callback(void * not_used,int argc,136); Box-sizing: border-Box;">char * argv[],136); Box-sizing: border-Box;">char * col_names[]);
        •  
        • int main(char * argv[])
        • {
        • sqlite3 * db = NULL;
        • char * zErrMsg = NULL;
        •  
        • if(argc != 3)
        • {
        • fprintf(stderr,"Usage: %s DATABASE sql-STATEMENT\n",argv[0]);
        • return EXIT_FAILURE;
        • }
        •  
        • if(sqlite3_open(argv[1],&db) != sqlITE_OK)
        • {
        • "Can't open database: %s\n",sqlite3_errmsg(db));
        • sqlite3_close(db);
        • if(sqlite3_exec(db,102); Box-sizing: border-Box;">2],callback,NULL,&zErrMsg) != sqlITE_OK)
        • {
        • "sql error: %s\n",zErrMsg);
        • sqlite3_free(zErrMsg);
        • }
        •  
        • sqlite3_close(db);
        •  
        • return EXIT_SUCCESS;
        • }
        •  
        • char * col_names[])
        • {
        • for(int i; i < argc; i++)
        • printf("%s = %s\n",col_names[i],argv[i] ? argv[i] : "NULL");
        • "\n");
        • return 0;
        • }

        编译客户端程序的Makefile


        1. 1
        2. 2
        3. 3
        4. 4
        5. 5
        6. 6
        7. 7
        8. 8
        9. 9
            • 1
            • 2
            • 3
            • 4
            • 5
            • 6
            • 7
            • 8
            • 9
            all: main
          •  
          • main: main.c gcc main.c -o main -lsqlite3 -lpthread -ldl clean: rm -r main .PHONY: clean

          数据库脚本文件


          1. /* * test.sql */
          2.  
          3. DROP TABLE main.user;
          4. CREATE user( Name TEXT,Age INTEGER );
          5.  
          6. INSERT INTO user VALUES('Huo Yun',27);
          7. 'Gao Jingzhuo',102); Box-sizing: border-Box;">30);

          猜你在找的Sqlite相关文章