当前位置: 首页 > wzjs >正文

帝国网站建设百度网站禁止访问怎么解除

帝国网站建设,百度网站禁止访问怎么解除,淘宝详情页psd模板免费,东莞高端商城网站制作一、数据库简介 1. 概念 数据库是一个软件,在所提供的功能上它类似于文件,可以把数据存储进去,但是和文件不一样的是,它可以对数据进行管理和操作(例如:增删改查等),一般数据库是配…

一、数据库简介

1. 概念

       数据库是一个软件,在所提供的功能上它类似于文件,可以把数据存储进去,但是和文件不一样的是,它可以对数据进行管理和操作(例如:增删改查等),一般数据库是配合服务器使用的。

2. 工具

      此处,我们使用的是sqlite3;

      在PC端,还有mysql,sqlsever等软件;

下面是一张表,一行数据就被称为一条记录,一条记录由若干列组成;

列在数据库中被称为——字段;

能够存储多张表的就称为库;

               

3. 类别

数据库被分为关系型数据库和非关系型数据库

关系型数据库:表和表之间是有关系的,可以认为数据是由行和列组成的

关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。

典型的——SQL   (struct query language  结构化查询语言)

SQL就类似于命令,更复杂一些,只要你是关系型数据库,就支持结构化查询语言。

SQL再细分:

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

非关系型数据库:可以认为是把数据传到onenet云上去使用的

非关系型数据库以键值对存储,且结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,不局限于固定的结构,可以减少一些时间和空间的开销。

 4. 相关术语

  • 分类

        大型    ORACLE

        中型     MYSQL/MSSQL

        小型     SQLITE   DBLL   powdb

  • 名词

         DB          数据库 select update database

         DBMS     数据库管理系统(对数据进行增删改查操作的控制台)

         MIS         管理信息系统  (与数据库搭配起来的一些相关的管理系统)

         OA           办公自动化

  • 嵌入式数据库

         sqlite3   

5. sqlite3

特点:

  • 开源  C语言开发(效率比较快)
  • 代码量少 1万行左右,总大小10M以内
  • 绿色软件无需安装
  • 文件型数据库,可以移动。
  • 数据容量最大 2T   

 sqlite3的安装:

  • 在线安装 :

             sudo apt-get install sqlite3 
             sudo apt-get install libsqlite3-dev
   

             gcc test.c -lsqlite3 -lpthread

  • 验证是否安装成功:

             sqlite3 --version
             sqlite3 --help

  • sqlite3的使用:

            启动sqlite3 
            sqlite3 xxx.db  ===> 用sqlite3 来打开一个名称为test.db的本地数据库。

           出现如下提示符:表明数据库管理系统启动。
           sqlite> 

           退出数据库: 
            .q 命令

注意:如果一直出现如下符号:
...>   
则写';'结束。

 

 6. 创建和删除数据库

  创建一个数据库:

  •  touch  xxx.db
  • sqlite3 xxx.db

系统维护命令:===> .help
    出现所有相关的系统维护命令,都是以 "."开头。
    .database  列出当前库和系统中那个文件在关联
    .tables    列出当期数据库中的所有表
    .schema xxx 列出当前指定的xxx表结构
    .dump user   ===>导出数据库
    重定向:
        sqlite3 test.db .dump > 123.sql
        sqlite3 xxx.db < test.sql ===>导入数据库

  标准SQL语句:===》通用语法在其他平台可以直接使用。struct query language;
  注意:所有的sql语句都以';'结尾。

创建一个表:ddl
    create table  表名(表字段1,表字段2,......);
    eg: create table user(id,name,age);         //默认是字符串类型
    注意:以上表的表字段,支持如下数据类型 ==>   int  text  real  blob
    默认是text类型。

    create table 表名 (表字段 类型,表字段 类型,......);
    eg:    create table user(id int  ,name char,age int);

删除一个表:
    drop table  表名;
    eg:drop table user;

 7. 基本操作——增删改查

向表中增加数据:
    insert into 表名 (字段名称 ) values (值名称);
    eg:   insert into user (id,age) values (1,10);
            insert into user values(3,"wang",11);
            insert into user (age) values (12);

查询表中的数据:
   select 列名 from 表名  条件;
   eg: select * from user ;     //* 表示打印出表中所有的内容
            select id from user;

            

不仅可以查询单纯的列,还能进一步去运算,添加条件 :

  • 数字类型,c语言里的所有运算方式都适用

            

            

  • 模糊查找——查找其中个别的字符

        会列出含有这个字的内容

  • where name   like '三一'      条件子句
  • like 针对字符串
  • %通配符(可以放在任意位置,表示0~任意多个字符)

       

  • 如果只想张字后面接一个字符的话,使用通配符_

      

  • 如果想把两个条件结合在一起,用and  or 连接,相当于&&和||
  • order  by  排序
  • desc   默认升序
  • 如果两个条件都要出现  先where再order by    语法规定

      

      

  • limit 比如说数据比较海量 我想限制前多少条

      

注意三个语法的顺序 (如果它们要出现在同一个语句里),先where再order by 再 limit

修改表中数据:
   update 表名 set 表字段 = 值  满足条件:
   eg: update user set id = 1 where name = 'li';
            update user set id = 1 where name = "li" and passwd = "123";
            update user set id = 2 where name = "li" or  name = "zhao";
            

 删除表中数据:
   delete from 表名  满足条件:
   eg: delete from user ;         ///删除表中所有数据
            delete from user where id  = 1;          ///删除id=1 的数据;
            delete from user where id =1 and name = "zhang";
            delete from user where id = 1 or id  = 2;

自动增长列:

    sqlite> CREATE TABLE user3(id INTEGER PRIMARY KEY ASC,name char,age int,dt datetime);                                                          主键 

        

数据库里的NULL啥都没有 与c语言的还有一些区别

会报错 唯一性失败 与主键的特性违背了——唯一性

所以yao

  插入时间列  int int;
    unicode
    CREATE TABLE user1(id int,name char,age int,dt datetime);'2022-07-01 19:00:00'
    insert into user1 values (2,'张三',23,datetime('now','+8 hours'));

    

    

    

 8. 维护命令

  • 数据的导出

       sqlite3 xxx.db .dump > xxx.sql    //将数据库名称为xxx的数据库整体导出到脚本(文件)中。

       eg:sqlite3 test.b .dump > 1.sql

  • 数据的导入

       sqlite3 xxx.db < xxx.sql     // < 输入重定向

       eg:sqlite3 1.db < 1.sql       //1.sql导入到1.db中

  • 可视化工具

     

二、数据库手册查询

  • 头文件:#include <sqlite3.h>
  • 编译: gcc -lsqlite3
  • 编译框架:打开数据库 ==》读写数据库(增,删,改,查) ==》关闭数据库
  • sqlite3_open函数(打开数据库)

            函数原型:int sqlite3_open(char * path,sqlite3 ** db);
            功能:打开指定path路径+文件名称的数据库,并将
                       打开的地址指向db变量的句柄。
            参数:path 要打开的数据库路径+名称
                       db  要打开的数据库地址指针
            返回值:成功  0;失败  -1

  • sqlite3_close函数(关闭数据库)

            函数原型:int sqlite3_close(sqlite3 *db);
            功能:关闭指定的数据库
            参数:要关闭的数据库地址
            返回值:成功  0;失败  -1

  • sqlite3_exec函数(增删改查操作)

           函数原型:int sqlite3_exec(sqlite3 *db,char *sql,callback fun,void * arg,char ** errmsg);
           功能:在db数据库上执行sql 非查询语句,并将结果返回;
           参数:db 要执行sql的数据库
                      sql  要执行的非查询sql语句。
                      fun  如果该函数要执行查询语句,则该回调函数用来回收查询的结果。
                      arg  回调函数的参数,如果没有回调函数则该参数为NULL;
                      errmsg  执行过程中的错误信息。
            返回值:执行成功  0;失败  非0 

  • fun函数

            函数原型:int fun(void *arg ,int f_num,char ** f_value,char ** f_name)
            功能:该函数用于sqlite3_exec执行select语句的结果集返回数据。
            参数:arg 由sqlite3_exec传入的参数
                       f_num 执行该命令所返回测结果集的字段个数。
                       f_value 查询结果集中的字段的值。
                       f_name  查询结果集中的字段的名称。
             返回值:成功 0;失败 非0
             注意:该回调函数必须有返回值,否则可能导致查询异常。

  • show函数+sqlite3_exec函数(查找操作)

             show函数为回调函数,调用次数与结果集有关;

             在sqlite3_exec函数内部调用show函数;

  • 插入操作 

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sqlite3.h>
int main(int argc,char **argv)
{
    sqlite3* db = NULL;
    int ret  = sqlite3_open("./test.db", &db);
    if(SQLITE_OK != ret)
    {
        fprintf(stderr,"open %s\n",sqlite3_errmsg(db));
        sqlite3_close(db);
        return 1;
    }
    char * errmsg;//指针接返回结果
    char sql_cmd[] = "insert into user values(6,'lisi',20);";
    ret = sqlite3_exec(db,sql_cmd,NULL,NULL,&errmsg);
    if(SQLITE_OK != ret)
    {
        fprintf(stderr,"exec sql:[%s]  errmsg:%s\n",sql_cmd,errmsg);
        sqlite3_free(errmsg);
        sqlite3_close(db);
        return 1;
    }
    sqlite3_close(db);
    return 0;
}
 

  • 查找操作

 

#include <sqlite3.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>

int show(void* arg, int col, char** result, char** title)
{
  int i = 0;
  static int flag = 0;
  if (0 == flag)
    {
        flag =1;
      for (i = 0; i < col; i++)
        {
          printf("%s\t", title[i]);
        }
      printf("\n");
    }

  for (i = 0; i < col; i++)
    {
      printf("%s\t", result[i]);
    }
  printf("\n");
  return 0;
}

int main(int argc, char** argv)
{
  sqlite3* db = NULL;
  int ret = sqlite3_open("./test.db", &db);
  if (SQLITE_OK != ret)
    {
      fprintf(stderr, "open %s\n", sqlite3_errmsg(db));
      sqlite3_close(db);
      return 1;
    }

  char* errmsg;
  char sql_cmd[] = " select * from user;";
  ret = sqlite3_exec(db, sql_cmd, show, NULL, &errmsg);
  if (SQLITE_OK != ret)
    {
      fprintf(stderr, "exec sql:[%s]  errmsg:%s\n", sql_cmd, errmsg);
      sqlite3_free(errmsg);
      sqlite3_close(db);
      return 1;
    }

  sqlite3_close(db);

  // system("pause");
  return 0;
}

http://www.dtcms.com/wzjs/424083.html

相关文章:

  • 上海做网站公司推荐十大经典案例
  • 专业的网页设计和网站建设公司百度关键词搜索怎么做
  • 有关做详情页的参考网站企业网站cms
  • 网站建设所需硬件独立站推广
  • 深圳公司网站开发北京谷歌seo公司
  • 巩义网站建设哪家专业pageadmin建站系统
  • wordpress主题森林 终身合肥优化营商环境
  • 香河做网站公司电子商务营销策略
  • 代做网站推广的公司哪家好江门关键词排名优化
  • 网站建设公司应该怎么做推广网站seo搜索引擎优化教程
  • 浙江省职业能力建设处网站营销的三个基本概念是什么
  • wordpress加上特效常州seo
  • 哪些项目适合开工作室sem优化技巧
  • 注册公司注册资金要实缴吗长春网站优化指导
  • 丰都网站建设联系电话烟台seo
  • 石家庄网站建设是什么意思谷歌商店官网下载
  • 用c 做毕业设计的音乐网站百度站长电脑版
  • 深圳龙华网站建设公司免费私人网站建设平台
  • 做网站准备厨师培训机构
  • 无锡 电子商务网站建设网站如何优化排名软件
  • 如何推广企业网站免费站推广网站不用下载
  • 网站开发先学什么百度账号免费注册
  • 做网站海口网页设计成品源代码
  • 做印刷在哪个网站接单好好做广告的怎么找客户
  • 网页制作新建站点步骤推广营销企业
  • 一手货源批发网站上海何鹏seo
  • 上海seo及网络推广网络营销优化培训
  • 网站关键词如何做优化杭州网站建设书生商友
  • wordpress制作热门文章东莞seo关键词排名优化排名
  • 广州公司网站建设设计顾站长工具备案查询