creación de tablas, inserción de datos en la base de datos SQLite usando el lenguaje C.

SQLite con C (crear la tabla y de inserción de datos) : Aquí, vamos a aprender cómo crear una tabla e insertar datos en la tabla de la base de datos SQLite utilizando la programación C ¿idioma? programas

C para crear datos de la tabla y de inserción en la base de datos SQLite

En este caso, se creará una “SCHOOL.db” base de datos, crear una tabla “estudiante” e insertar datos utilizando el programa c.

#include <sqlite3.h>
#include <stdio.h>
int main(void)
{
sqlite3 * dbPtr;
char *errMsg = 0;
int rec = sqlite3_open("SCHOOL.db", & dbPtr);
if (rec != SQLITE_OK)
{
printf("Database cannot Opened: %sn", sqlite3_errmsg(dbPtr));
sqlite3_close(dbPtr);
return 1;
}
char *sql = "DROP TABLE IF EXISTS STUDENT;"
"CREATE TABLE STUDENT(rollNum INT, Name TEXT, Section varchar );"
"INSERT INTO STUDENTS VALUES(1, 'Arvind', 'A');"
"INSERT INTO STUDENT VALUES(2, 'Amit', 'C');"
"INSERT INTO STUDENT VALUES(3, 'Shivang', 'A');"
"INSERT INTO STUDENT VALUES(4, 'RAGHU', 'A');"
"INSERT INTO STUDENT VALUES(5, 'SACHIN', 'C');"
"INSERT INTO STUDENT VALUES(6, 'HITEN', 'B');";
rec = sqlite3_exec(dbPtr, sql, 0, 0, & errMsg);
if (rec != SQLITE_OK ) {
printf("SQL error: %sn", errMsg);
sqlite3_free(errMsg);
sqlite3_close(dbPtr);
return 1;
}
sqlite3_close(dbPtr);
return 0;
}

En el ejemplo anterior, nos estamos conectando a la base de datos “SCHOOL.db” base de datos, if la base de datos está ya creado en la base de datos, if la base de datos no se crea en la base de datos sqlite3 a continuación un mensaje de error será pronta en la pantalla de visualización.

If nos conectado correctamente a la base de datos entonces tabla de alumnos se creará de forma automática, que ya se ha creado la tabla en la base de datos entonces se elimina la tabla y crea la mesa de nuevo.

char *sql = 
"DROP TABLE IF EXISTS STUDENT;"
"CREATE TABLE STUDENT(rollNum INT, Name TEXT, Section varchar );"
"INSERT INTO STUDENTS VALUES(1, 'Arvind', 'A');"
"INSERT INTO STUDENT VALUES(2, 'Amit', 'C');"
"INSERT INTO STUDENT VALUES(3, 'Shivang', 'A');"
"INSERT INTO STUDENT VALUES(4, 'RAGHU', 'A');"
"INSERT INTO STUDENT VALUES(5, 'SACHIN', 'C');"
"INSERT INTO STUDENT VALUES(6, 'HITEN', 'B');";

En el código anterior, hicimos una cadena que contiene CREAR y instrucciones de inserción y DROP. Aquí estamos insertando 6 filas en la tabla de los estudiantes. Aquí todas las declaraciones están separados por un punto y coma.

    rec = sqlite3_exec(dbPtr, sql, 0, 0, & errMsg);

En la declaración anterior, estamos utilizando sqlite3_exec () función para ejecutar consultas SQL en la base de datos SQLite.

If la sentencia SQL dada no es un formato incorrecto. Entonces se produce un mensaje de error.

    sqlite3_free(errMsg);

A continuación, por encima de la función va a liberar , Mensaje de error .

Ahora vamos a la terminal para comprobar los datos se inserta en la base de datos o no? En primer lugar, nos propusimos modo de consola y en la cabecera para ver los encabezados de la tabla.

sqlite> .mode column  
sqlite> .headers on
sqlite> SELECT * FROM STUDENT;
rollNum Name Section
---------- ---------- ----------
1 Arvind A
2 Amit C
3 Shivang A
4 RAGHU A
5 SACHIN C
6 HITEN B

Los datos anteriores se escribe en la tabla estudiante de la base de datos de “SCHOOL.db” .

¿Cómo saber Identificación del último registro insertado fila?

veces requiere lo que es la última fila Identificación insertar en la tabla de base de datos? Aquí, en el siguiente código, obtendremos última fila insertada Identificación mediante el programa c.

#include <sqlite3.h>
#include <stdio.h>
int main(void)
{
sqlite3 * dbPtr;
char *errMsg = 0;
int rec = sqlite3_open("SCHOOL.db", & dbPtr);
if (rec != SQLITE_OK)
{
printf("Database cannot Opened: %sn", sqlite3_errmsg(dbPtr));
sqlite3_close(dbPtr);
return 1;
}
char *sql = "DROP TABLE IF EXISTS STUDENT;"
"CREATE TABLE STUDENT(id INT PRIMARY KEY, Name TEXT, Section varchar );"
"INSERT INTO STUDENTS VALUES('Arvind', 'A');"
"INSERT INTO STUDENT VALUES('Amit', 'C');"
"INSERT INTO STUDENT VALUES('Shivang', 'A');"
"INSERT INTO STUDENT VALUES('RAGHU', 'A');"
"INSERT INTO STUDENT VALUES('SACHIN', 'C');"
"INSERT INTO STUDENT VALUES('HITEN', 'B');";
rec = sqlite3_exec(dbPtr, sql, 0, 0, & errMsg);
if (rec != SQLITE_OK )
{
printf("SQL error: %sn", errMsg);
sqlite3_free(errMsg);
}
else
{
printf("Table STUDENT created successfullyn");
}
int lastId = sqlite3_last_insert_rowid(dbPtr);
printf("Last inserted row id is %dn", lastId);
sqlite3_close(dbPtr);
return 0;
}

Aquí, se crea “estudiante” tabla y la columna ID se incrementa automáticamente.

    int lastId = sqlite3_last_insert_rowid(dbPtr);

En declaración anterior, sqlite3_last_insert_rowid () función se utiliza para acceder al último insertado fila Identificación , devuelve el valor entero.

Referencia: http://zetcode.com/db/sqlitec/


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *