数据库学习part1!!

数据库:
列一般设计成最小的不可再分割的
最小单位是列中的字段  多个字段形成记录   多个记录形成表   多张表则构成库

关系型数据库  SQL(struct query language)                     //也有非关系型

ddl(data defination language)   建表
dml(data modifty)   新增 修改 删除一行
dql(data query language)   查询 


数据库:
分类 :  大型(ORACLE)   中型(MYSQL/MSSQL)  小型 (SQLITE  DBII powdb)
                                                    SQLITE--->移动式数据库
                                                    
                                                    
                                                    
                                                    
名词: DB      数据库  
       DBMS  数据库管理系统
       MIS   管理信息系统
       OA    办公自动化
     
嵌入式数据库:   www.sqlite.org
    
gcc test.c -sqlite3 -lpthread

sqlite3 aaa.db
    .help 显示指令
        .databases   显示关联的文件名
        .exit  退出
        .headers on|off  显示表头和关闭显示表头
        .quit 
        .schema     原理图    //显示这个表的建表语序,就是建表时的各个字段是什么的规则
        .tables     和shell的ls有点像 //显示当前这个库有哪些表
        
    
ctrl + d  退出

建表: create table user(表名)(id int , name char , age int);
删除表: drop table (表名);
eg:   drop table user;

向表中增加数据:
 insert into 表名(字段名称) values(值名称);
eg:  insert into user values(1,'关二爷',30);         //顺着表字段的顺序给
                                                       //存非数字的内容 要加上‘’ /“” 来引起来
                                                       //所有的符号都是英文的
对着给

查询表中的数据:
select 列名 from  表名  条件;
eg: 1、 select * from user;          //表示所有的列
     2、 select id from user;
     3、 select * from user where age!=25;   // 满足条件的显示不满足的不显示     
    
通配符  % _  这两个 
                eg: name like “张%”;
如果有两个要求 可以 在这样:  where id and age =34;

修改表中数据:
update 表名 set 表字段 = 值 满足条件;

删除表中数据:
delete  from  user  where id =1 ;

插入时间列:
datetime("now","+* hours")

自动增长列:
 INTEGER PRIMARY KEY ASC  
 插入的时候这个位置写入NULL就可以
 
 
 
 数据的导出:
  sqlite3 xxx.db .dump > xxx.sql  
                       // 这个 > 指输出重定向
                       
作用1 : 做备份
作用2 : 转换数据库时可以使用这个
导出之后可以rm掉aaa.db了

数据的导入:
 sqlite3 xxx.db < xxx.sql
                // 这个 < 指输入重定向

可视化工具安装: 
  sudo apt-get install sqlitebrowser
        
    使用方法: sqlitebrowser xxx.db     //打开这个图表
    
-----------------------------------------------------------------------
头文件: #include <sqlite3.h>


sqlite3* db;
int ret = sqlite3_open("aaa.db",&db);
if(SQLITE_OK != ret)
{
    fprintf(stderr,"open db error : %s\n".sqlite3_errmsg(db));
    sqlite3_close(db);
    return 1;
}
//执行非查询的语句
char * errmsg;
char sql_cmd[256] = "insert into user values(8,'zhaosi',12);";
sqlite3——exec(db,sql_cmd,NULL,NULL,&errmsg);
//注意在C语言中的双引号最好用单引号不然会匹配错误;
if(SQLITE_OK != ret)
{
    fprintf(stderr," exec sqlcmd error: %s\n",errmsg);
    sqlite3_free(errmsg);
    sqlite3_close(db);
    return 1;
}
//关闭db文件
sqlite3_close(db);

gcc 01sql.c -l sqlite3    //编译这个C程序 


数据库!!!找函数!!!
www.sqlite.org   www.sqlite.org  www.sqlite.org   www.sqlite.org


通过函数返回返回值;    //定义一个回调函数 接收


int show(void*arg,int col,char**,cahr**)    
                            char **result, char **title
            


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值