sqlite3创建数据库
之前学Android开发的数据库时候,用过sqlite3,这是项目里面的一段SQL代码,你参考一下
create table moban (_id integer primary key autoincrement,
moban_name varchar(40) not null,
moban_cost numeric(7,2) not null default 0.00,
moban_shou int default 0,
moban_delete int not null default 0
moban_beizhu varchar(40) )
㈡ win10 sqlite3创建的数据库文件在哪
在VS 中新建一个 UWP 应用项目。
在 解决方案资源管理器 窗口中的 引用 节点上右击,然后执行 管理NuGet程序包菜单。
查找并安装以下两个组件,如下图所示:
注:
-> SQLite.WUP.Native是必须安装的,它是封装sqlite操作函数的本地库,如果你用的是C++语言来开发,可以直接调用。如果不安装这个,在运行时会报找不到 sqlite3.dll 的错误。
-> SQLiteWrapperUWP-PCL也应该安装,它对sqlite的操作接口进行进一步封装,并且支持 LINQ 处理。
安装成功后,在引用列表会看到相关条目,如下图所示:
在代码中引入以下相关的命名空间,如下图所示:
要连接并创建表,要使用 SQLiteConnection 类,在构造实例时,用到两个必须的参数(其他参数可选):
sqlitePlatform:类型是 ISQLitePlatform 接口,它的实现类型是 SQLitePlatformWinRT ;
databasePath:数据库文件的路径,注意,由于UWP应用默认允许访问的路径不多,通常是本地目录。为了避免发生异常,可以通过 ApplicationData类来获取localFolder实例,然后从目录实例的 Path 属性得到本地目录的完整路径,再传递给该参数。
比如这样建立连接,如下图所示:
当连接完不再需要时, 可以调用Dispose方法释放掉,或者干脆把连接的实例化放到一个 using 语句块中。
定义数据表模型,比如,我定义了一个 Student 类,它表示一张表,如下图所示:
注:对于要用于建表的类,要加上 Table 特性,对于属性,其实是映射到列,要加上Column特性。AutoImcrement特性表示字段的数值是自增长列。
创建表。实例化数据库连接后,可以调用连接对象的 CreateTable 方法直接创建表,如下图所示:
CreateTable方法如果返回0,表明表创建无误。
插入数据。实例化连接对象后,访问 Insert 方法插入单条数据;InsertAll 方法插入多条数据;InsertOrReplace插入数据并替换已存在的记录;InsertOrReplaceAll 插入多条数据,并替换已存在项,如下图所示:
上面代码先用DeleteAll方法删除表中的所有记录,然后插入四条记录,插入方法返回已成功写入的记录数目,上面代码应返回 4 。
查询数据。可以用 LINQ 来查询,如下图所示:
Table 方法返回一个 TableQuery实例,然后可以用 LINQ语句来处理。本例中筛选所有数据,并接照Age属性升序排列。
㈢ 如何在android自带的sqlite3中创建一个数据库文件,请大虾门详细指导
Android中提供4种数据存储的方法:(1)SharedPreferences,用键值对的方式来存储数据,是一种轻量级的存储机制,可以存储一些属性等。(2)Files:文件输入输出流的方式存储数据,FileInputStream和FileOutputStream。在Android中,文件是一个应用程序私有的,一个应用程序无法读写其他应用程序的文件。写入SD卡除外。(3)SQLite(4)网络(这个不算吧~~~--!)。
SQLite:
(1)创建和打开数据库可以使用方法openOrCreateDatabase,它会自动去检测是否存在数据库,如果存在则打开,如果不存在则创建一个数据库;成功返回一个SQliteDatabase对象。(2)创建一张表通过SQL语句实现,调用sqliteDatabase对象的execSQL方法,执行创建表的SQL语句。
(3)向数据表中添加一条记录可以直接通过SQL语句实现,也可以使用ContentValue对象,ContentValue对象是一个Map,Key是字段名,Value是值。Cv.put(key,value);然后调用sqliteDatabase对象的
insert(tableName,null,cv)方法插入数据。
(4)删除数据可以直接执行SQL,也可以执行sqliteDatabase的delete方法。
(5)同理修改数据也是执行SQL或调用update方法,需要传入ContenValue的对象表示修改的内容。
(6)关闭数据库sqliteDatabase.close();
(7)删除指定表调用SQL语句即可。
(8)查询:在Android中查询数据是通过Cursor类来实现的,当我们使用SQLiteDatabase.query()方法时,会得到一个Cursor对象,Cursor对象指向的是每条数据。例如cur.moveToFirst();cur.moveToNext();等。在实际开发中,为了能够更好地管理和维护数据库,我们会封装一个继承自SQLiteOpenHelper类的数据库操作类。SQLiteOpenHelper的构造方法中分别需要传入Context、数据库名称、CursorFactory(一般默认null)、数据库版本号。在SQLiteOpenHelper中首先执行的是onCreate方法(当数据库第一次被创建时)。在构造函数中并没有真正创建数据库,而是调用getWriteableDatabase或者getReadableDatabase方法时才真正去创建数据库,并且返回一个SQLiteDatabase对象。
㈣ linux sqlite3用数据库命令怎么创建数据库
方法/步骤 首先下载 Navicat for SQLite,下载后解压缩。 运行navicat.exe 这个主程序,在左上角点击连接 在弹出窗口中输入连接名,选择类型,然后在下面选择数据库文件,或者数据库保存位置。 这样就在指定位置创建了一个Sqlite数据库文件了
㈤ 如何在Android开发中建立SQLite3数据库
创建一个类继承SQLiteOpenHelper
在构造方法中创建数据库,在onCreate()方法中创建表
java">{
DemoDbHelper(Contextcontext){
super(context,"user.db",null,1);//上下文,数据库名,默认cursor,版本号
}
@Override
publicvoidonCreate(SQLiteDatabasedb){
//TODOAuto-generatedmethodstub
db.execSQL("CREATETABLEIFNOTEXISTSinfo(idTEXTPRIMARYKEY,nameTEXTNOTNULL)");//创建表
}
@Override
publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){
//TODOAuto-generatedmethodstub
//后续版本升级用,可以不写
}
你还可以写个DemoDbManager方便使用
publicclassDemoDbManager{
privateDemoDbHelperhelper;
privateSQLiteDatabasedb;
publicDemoDbManager(Contextcontext){
helper=newDemoDBHelper(context);
db=helper.getWritableDatabase();
}
//之后你可封装增删改查的方法
//都可以用db.execSQL("SQL语句");
}
㈥ 如何用sqlite3
sqlite的安装
1. 首先是下载sqlite,可以该页面下载:http://www.sqlite.org/download.html
当前的最新版本为:sqlite-shell-win32-x86-3070701.zip这个是windows下sqlite的命令行管理工具,用它可以管理sqlite数据库文件
同时最好把文档也下载下来,里面包含了详细的sqlite的使用说明:sqlite-doc-3070701.zip
2.
sqlite无需任何配置和安装,只要将下载下来的shell文件解压到任何你觉得合适的地方,然后将其加入到path环境变量就可以了(加入path环
境变量是为了直接在命令行使用sqlite3,不加的话需要详细的指定sqlite3的路径,如d:/sqlite/sqlite3)。
3. 验证一下是否安装成功。
要想掌握一个软件的使用,最好的方式是使用软件自带的帮助和文档,而不是一直利用google。文档和帮助一般包含了该软件所有的用法,毕竟那是有软件的开发者所写的,他对软件是最了解的。
首先来看一下sqlite的帮助:
win + r输入cmd,进入命令行,并输入sqlite3,进入sqlite的命令行管理工具。
然后输入.help,则可以看到sqlite3的管理工具的所有用法了:
为了照顾e文不好的朋友,这里将所有的命令解释一遍,并给出相应的示例:
首先创建一个数据库test.db,并在该数据库中创建一张表user
1.因为之前进入了sqlite3了,先用.quit退出sqlite
2.再用sqlite3 test.db加载或创建指定数据库
3.然后用sql语句创建一个一张表user(关于sql语句,可以去看些sql入门的书籍,在sqlite文档中也有对应的sql的介绍,不过
感觉那个不适合入门,因为毕竟很多数据库的基本知识里面都没有讲到)(同时还需要注意的是sqlite是可以不指定列的类型的,这也是sqlite的一个
特色,它的列类型是动态的)
4.然后又用到了一个显示当前数据库中存在的数据表的命令.tables(.help中倒数第三个)
5.最后向数据表中插入了一条数据(sql语句,不是.help中的命令)
接下来从上到下介绍所有命令的使用:
.backup ?DB? FILE
将数据库文件备份到指定的文件中,默认(在不指定数据库名时)会备份main数据库)
备份生成的文件打开后
.l ON|OFF
设置在遇到错误时就停止sqlite工具的执行,默认时是OFF的。
.databases
列出(当前数据库文件中)附加的所有数据库的名字和文件
.mp ?TABLE1? ?TABLE2? ...
将数据库打印为sql文本格式。如果?TABLE1?指定了,就只打印出名字中包含了TABLE1的数据表。
.echo ON|OFF
在显示的结果前是否显示输入的命令
注意:这个是以column模式显示了,后面会讲到如何将显示方式设置为column
.exit
不解释,退出程序
.explain ?ON|OFF?
开启或关闭适合于的输出模式。不指定ON或OFF时,默认为ON。
.genfkey ?OPTIONS?
OPTIONS有如下几个值:
--no-drop:不删除旧的外键触发器
--ignore-error:忽略表的外键错误
--exec:立即执行生成的sql语句
这个应该是设置在违反外键约束时,sqlite如何做。具体的没尝试。
.headers ON|OFF
是否显示表头
.mode MODE ?TABLE?
设置输出模式,当?TABLE?指定时,就是该输出模式只应该在该表的输出上
.header on时的各输出模式
.header off时的各输出模式
.help
显示帮助
.import FILE TABLE
读取文件中的数据插入到指定表中
注意这里的分隔符.separator是\t,所以data.txt中是以tab分隔的,默认的是,(此时就是2,yuan2,2)
indices ?TABLE?
显示指定表的所有索引。表没指定时,显示所有索引。
.load FILE ?ENTRY?
加载一个外部库文件
.log FILE|off
开启或关闭日志功能。
关闭:.log off
开启,并将日志输出到标准输出流:.log stdout
开启,并将日志输出到标准错误六:.log stderr
开启,并将日志输出到指定文件:.log d:/sqlite3/log.txt
nullvalue STRING
值为NULL时,显示的字符串。默认为""
.output FILENAME
将所有的输出都输出到指定文件
.output stdout
将所有的输出都输出到标准输出流(默认就是),就是输出到控制台上
.prompt MAIN CONTINUE
替换标准的提示。未尝试
.quit
不解释,同.exit,退出程序。
.read FILENAME
执行指定文件中的sql语句
.restore ?DB? FILE
从备份文件中还原数据库。默认是还原main数据库。
1. 首先我们先备份的main数据库
2. 然后将数据删除
3. 然后在还原main数据库,看数据是否还原成功
.schema ?TABLE?
显示指定表的创建语句。表未指定时,显示所有表的创建语句。
因为之前创建了索引,所以包含索引创建语句。
.separator STRING
设置输出模式.mode和导入数据.import的分隔符。
.show
显示当前的设置。
.tables ?TABLE?
列出所有表名。
.timeout MS
只在指定的毫秒内尝试打开锁定的表,而不是一直尝试打开。
.width NUM1 NUM2 ...
设置.mode column中每个列的宽度。每个列默认的宽度是10个字符,过长时会被截断。
第一列设为1个字符,第二列设为0表示保持不变,第三类不设置也是保持不变
.timer ON|OFF
是否开启cpu耗时度量。
㈦ 如何创建sqlite数据库
上次刚接触SqlLite,不知道怎么创建数据库,现在做下总结:
界面和MYSQL一样,都是CMD界面,但不是在SQLite.exe中创建数据库:
首先还是说一下cmd下sqlite的使用网上已经很多了、不做过多的赘述。大致说一下相应的命令就行了、作为学习sqlite的一个记录
1:选择下载对应自己系统的sqlite.3exe文件
2:解压后使用cmd命令进入sqlite3.exe文件所在的路径执行命令就可以操作做相应的操作。
在进入数据库之后如果需要退出的话windows下摁ctrl+c就能退出
例如:
创建数据库命令:sqlite3.exe【数据库名字.后缀名】
这里比较牛一点的感觉就是创建的数据库后缀名是任意的、不过注意一点就是:在命令框下执行创建数据库的时候。
如果没有为数据库创建表格、则看不见数据库文件,所以必须创建表格。
例如:在CMD命令提示符下输入sqlite3.exetest.db(test.db是数据库名)回车,执行完后,命令提示符自动跳转
到"SQLITE>"状态。这时还是看不到这个数据库!等表格创建或关闭sqlite3
例如:createtableuser(’用户名‘);这时可以看到sqlite3.exe所在文件夹下的这个数据库文件了
如果下次还要使用此数据库时仍然使用sqlite3.exetest.db即可进入此数据库
创建表格命令:createtabletablename(字段,字段)
这里从命令上可以清楚的看到、在sqlite数据库中创建表格字段的时候、允许不为字段申明数据类型。
这是区别于其它关系型数据库的。
执行插入命令:insertintotablenamevalues(value,values)在、前面我们可以看出、sqlite的操作上和
sqlserver没什么太大区别、值得注意的是、insert时区别于sqlserver中、因为sqlserver中允许使用
"inserttablenamevalues(value,value)"这样的省略式擦入。但是sqlite中是不允许使用省略式插入语句的。
执行删除语句:deletefromtablenamewhere<条件>
删除数据语法和sqlserver相同、
删除表则命令为:droptabletablename
数据更新命令:updatetablenameset字段=值如果需要条件的话、添加上where语句。
执行查询语句:select*fromtablename可跟随where语句
以上就是基础的sqlite的增删查改语法和命令。