zoukankan      html  css  js  c++  java
  • 学习SQLite第一天.

     1 。从 www.sqlite.org 下载 SQLite 3.3.4 的版本

       为了方便,我把它解压了,就一个 SQLite3.exe ,放入 Windows 目录下。

       Cmd 进入命令行

       1)

       创建数据库文件 :

       >SQLite3 d:"test.db 回车

       就生成了一个 test.db 在 d 盘。

       这样同时也 SQLite3 挂上了这个 test.db

       2)

       用 .help 可以看看有什么命令

       >.help 回车即可

       3) 可以在这里直接输入 SQL 语句创建表格 用 ; 结束,然后回车就可以看到了

       4) 看看有创建了多少表

       >.tables

       5) 看表结构

       >.schema 表名

       6) 看看目前挂的数据库

       >.database

       7) 如果要把查询输出到文件

       >.output 文件名

       > 查询语句;

       查询结果就输出到了文件 c:"query.txt

       把查询结果用屏幕输出

       >.output stdout

       8) 把表结构输出,同时索引也会输出

         .dump 表名

       9) 退出

       >.exit 或者 .quit

    2 。从 http://sqlite.phxsoftware.com/ 下载 Ado.net 驱动。

       下载了安装,在安装目录中存在 System.Data.SQLite.dll

        我们只需要拷贝这个文件到引用目录,并添加引用即可对 SQLite 数据库操作了

       所有的 Ado.net 对象都是以 SQLite 开头的,比如 SQLiteConnection

       连接串只需要如下方式

       Data Source=d:"test.db 或者 DataSource=test.db-- 应用在和应用程序或者 .net 能够自动找到的目录

       剩下的就很简单了 ~~

    3 。 SQL 语法

       由于以前用 SQLServer 或者 ISeries ,所以 DDL 的语法很汗颜

       1) 创建一个单个 Primary Key 的 table

       CREATE TABLE  [Admin] (

     [UserName] [nvarchar] (20)   PRIMARY KEY NOT NULL ,

     [Password] [nvarchar] (50)   NOT NULL ,

     [Rank] [smallint] NOT NULL ,

     [MailServer] [nvarchar] (50)   NOT NULL ,

     [MailUser] [nvarchar] (50)   NOT NULL ,

     [MailPassword] [nvarchar] (50)   NOT NULL ,

     [Mail] [nvarchar] (50)   NOT NULL

       ) ;

       2) 创建一个多个 Primary Key 的 table

       CREATE TABLE  [CodeDetail] (

     [CdType] [nvarchar] (10)  NOT NULL ,

     [CdCode] [nvarchar] (20)  NOT NULL ,

     [CdString1] [ntext]   NOT NULL ,

     [CdString2] [ntext]   NOT NULL ,

     [CdString3] [ntext]   NOT NULL,

      PRIMARY KEY (CdType,CdCode)

            

       ) ;

       3) 创建索引

       CREATE  INDEX [IX_Account] ON  [Account]([IsCheck], [UserName]);

      

       还可以视图等等。

    4. 还有很有用的 SQL

      Select * from Sqlite_master

      Select datetime('now')

      Select date('now')

      Select time('now')

      以及很多函数,具体可以参考 SQLite 的 wiki.

    oh, 还有就是看到有人说,好像成批插入的时候,启动事务,比不启动事务快 n 倍

    还有就是尽量使用参数化的 SQL, 估计和商用 DB 一样能够自动 Prepare.

    ===========

    sqlite 可以在 shell/dos command 底下直接执行命令:

    sqlite3 film.db "select * from film;"

    输出 HTML 表格:

    sqlite3 -html film.db "select * from film;"

    将数据库「倒出来」:

    sqlite3 film.db ".dump" > output.sql

    利用输出的资料,建立一个一模一样的数据库(加上以上指令,就是标准的 SQL 数据库备份了):

    sqlite3 film.db < output.sql

    在大量插入资料时,你可能会需要先打这个指令:

    begin;

    插入完资料后要记得打这个指令,资料才会写进数据库中:

    commit;

    ;

  • 相关阅读:
    ps 命令
    wc 命令
    grep 命令
    date 命令
    cal 命令
    df 命令
    secureCrt 开启Linux上的oracle服务
    动态规划_01背包问题_Java实现
    贪心算法_01背包问题_Java实现
    贪心算法_01背包问题_Java实现
  • 原文地址:https://www.cnblogs.com/eastday/p/1809042.html
Copyright © 2011-2022 走看看