sqlite - Gakgu/Gakgu.github.io GitHub Wiki
내장형 sql database.
sqlite> .mode column
sqlite> .headers on
sqlite> .tables
sqlite> SELECT * FROM sqlite_master;
컴파일 할 때 sqlite3 라이브러리가 필요하다.
#include <sqlite3.h>
#include <stdio.h>
void CheckSqlError(char* sqlite_error_message)
{
if(sqlite_error_message != NULL)
{
printf("SQLITE3 ERROR : %s\n", sqlite_error_message);
sqlite3_free(sqlite_error_message);
}
}
int CallbackInteger(void* not_used, int argc, char **argv, char **col_name)
{
(void)(not_used); // Disable not used warrning message.
for(int i = 0; i < argc; i++)
{
printf("%d : %s : %s\n", i, col_name[i], argv[i]);
}
return 0;
}
int main()
{
sqlite3* db = nullptr;
sqlite3_open("test.db", &db);
char* sqlite_error_message = NULL;
sqlite3_exec(db, "CREATE TABLE member (name TEXT(20), age INTEGER)", NULL, 0, &sqlite_error_message);
CheckSqlError(sqlite_error_message);
sqlite3_exec(db, "INSERT INTO member (name, age) VALUES (\"gakgu\", 29)", NULL, 0, &sqlite_error_message);
CheckSqlError(sqlite_error_message);
sqlite3_exec(db, "SELECT * FROM member", CallbackInteger, 0, &sqlite_error_message);
CheckSqlError(sqlite_error_message);
sqlite3_close(db);
return 0;
}
import sqlite3
db = sqlite3.connect("mydata.db")
db.commit()
db.close()
cursor는 sqlite db를 핸들링하는 객체다.
cursor = db.cursor()
cursor.execute("select * from table") # sql 사용하기
cursor.execute("select ? from talbe", ("name")) # sql문 안에 변수로 넣기