SQL struct query language 关系型数据库    非关系 芒果db
 ddl  data defination language 建表
 dml 新增 修改 删除一行 data modifty 
 dql 查询 data query language    查询  select 
数据库
         sun
         solaris  gnu
 1、分类: 大型    中型            小型
          ORACLE   MYSQL/MSSQL   SQLITE  DBII powdb
         关系型数据库        
 2、名词:
         DB        数据库 select update database
         DBMS    数据库管理系统
         MIS     管理信息系统
         OA      办公自动化
 3、嵌入式数据库:
         sqlite3    www.sqlite.org  www.kernal.org   debian .deb  .rpm   word.exe 红旗
     GNU   
     特点:
           1、开源  C语言开发  c/c++  asm
           2、代码量少 1万行左右,总大小10M以内
           3、绿色软件无需安装
           4、文件型数据库,可以移动。
           5、数据容量最大 2T 
一、系统维护命令
         ===>.help出现所有相关的系统维护命令,都是以 "."开头。
         .database  列出当前库和系统中那个文件在关联
        .tables    列出当期数据库中的所有表
        .schema xxx 列出当前指定的xxx表结构
        .dump user   ===>导出数据库
         重定向
         sqlite3 test.db .dump > 123.sql
         sqlite3 xxx.db < test.sql ===>导入数据库
二、 标准SQL语句
        ===》通用语法在其他平台可以直接使用。struct query language;
         注意:所有的sql语句都以';'结尾。
1.创建一个表:ddl
        create table  表名(表字段1,表字段2,...);
         eg: create table user(id,name,age);                       char(短文本、有长度限制)     
         注意:以上表的表字段,支持如下数据类型:int   text(长文本、无长度限制)    real(小数) blob(二进制)
                  默认是text类型。char
        create table 表名 (表字段 类型,表字段 类型,。。。。);
         eg:
         create table user(id int  ,name char,age int);
2.删除一个表
drop table 表名;
三、数据库常规操作:增加 删除 修改 查询
1.增加
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);
2.查询
select 列名 from 表名  条件;
 eg:select *(代表所有的列) from user;
         select id from user;
         select id,name from user where not  age <30
字符串->where name like  '三一'  //通配符: %(0到多个任意字符)   _(1个任意字符)

                                                                    asc
            select *from user where age>20 or age<50 order by age desc limit 2 ;
            &&  ||
3. 修改表中数据
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";

4. 删除表中数据
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;

5. 时间列
插入时间列 int int;
     unicode
     CREATE TABLE user1(id int,name char,age int,dt datetime);
insert into user1 values (2,'张三',23,datetime('now','+8 hours'));

6. 自动增长列
 sqlite> CREATE TABLE user3(id INTEGER PRIMARY KEY ASC,name char,age int,dt datetime);  主键(给某一个列设计属性,唯一的、不可重复的)
 sqlite> insert into user3 (NULL,'李四',23,datetime('now'));   (void*)0
            where (group by having) order by [desc] limit;
select * from user where id<10 order by id limit 2;

四、维护命令(bash里输入)
1. 数据的导出
sqlite3 xxx.db .dump > xxx.sql (输出重定向)
     //将数据库名称为xxx的数据库整体导出到脚本中。
2. 数据的导入
sqlite3 xxx.db < xxx.sql (输出重定向)
3. 可视化工具安装
sudo apt-get install sqlitebrowser