• 学习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;

    ;

  • 相关阅读:
    Gremlin基本使用
    SpringData JdbcTemplate Jdbc使用简介
    DOS命令行使用pscp实现远程文件和文件夹传输(转)
    vscode:让文件支持右键vscode打开
    vue-webpack项目本地开发环境设置代理解决跨域问题
    VueJS中学习使用Vuex详解
    Object.create()和new 创建对象的区别
    vue组件和插件的区别
    创建vue组件与自定义一个vue组件时的区别
    [Vue] : 自定义指令
  • 原文地址:https://www.cnblogs.com/eastday/p/1809042.html
Copyright © 2020-2023  润新知