您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > SQLITE-学习笔记
(1)创建数据库在命令行中切换到sqlite.exe所在的文件夹在命令中键入sqlite3test.db;即可创建了一个名为test.db的数据库由于此时的数据库中没有任何表及数据存在,这时候是看不到test.db的,必须往里面插入一张表即可看到数据库(2)创建表createtableTest(IdIntegerprimarykey,valuetext);此时即可完成表的创建,当把主键设为Integer时,则该主键为自动增长,插入数据时,可直接使用如下语句:insertintoTestvalues(null,'Acuzio');(3)获取最后一次插入的主键:selectlast_insert_rowid();(4)sqlite.modecolsqlite.headerson在数据库查询的时候,显示行数和头!(5)在DOS中,键入Ctrl+C,退出数据库,Unix中,使用Ctrl+D(6)SQLiteMasterTableSchema-----------------------------------------------------------------NameDescription-----------------------------------------------------------------typeTheobject’stype(table,index,view,trigger)nameTheobject’snametbl_nameThetabletheobjectisassociatedwithrootpageTheobject’srootpageindexinthedatabase(whereitbegins)sqlTheobject’sSQLdefinition(DDL)eg.sqlite.modecolsqlite.headersonsqliteselecttype,name,tbl_name,sqlfromsqlite_masterorderbytype;这样就能看到所有数据库中的信息,表、索引、视图等等(7)导出数据.output[filename],导出到文件中,如果该文件不存在,则自动创建.dump导出数据命令.outputstdout返回输出到屏幕(进行其他操作)eg.sqlite.outputAcuzio.sqlsqlite.dumpsqlite.outputstdout这样就可以把数据导入到Acuzio.sql中(8)导入数据导入数据使用.read命令eg.如导入(7)中的数据sqlite.readAcuio.sql(9)备份数据库在切换到Sqlite文件夹sqlite3test.db.dumptest.sql如果在数据库中sqlite.outputfile.sqlsqlite.dumpsqlite.exit(10)导入数据库在切换到Sqlite文件夹sqlite3test.dbtest.sql(11)备份二进制格式数据库,vacuum:释放掉已经被删除的空间(数据和表等被删除,不会被清空空间)sqlite3test.dbVACUUMcptest.dbtest.backup(12)获取数据库信息如果想获得物理数据库结构的信息,可以去SQLite网站上下载SQLiteAnalyzer工具使用:sqlite3_analyzertest.db(13)其他的SQLite工具SQLiteDatabaseBrowser()SQLiteControlCenter()SQLiteManager()(13)SQLite与其他数据库不同,它是以(;)来执行语句,而不是(go).(14)SQLite注释(--)或(/**/)eg.--Thisisacommentononeline/*Thisisacommentspanningtwolines*/(15)创建表结构CREATE[TEMP|TEMPORARY]TABLEtable_name(column_definitions[,constraints]);关键字TEMP、TEMPORARY表示创建的是临时表(16)在SQLite中有5种基本类型:Integer/Real/Text/Blob/Null(17)确保唯一性可以用关键字UNIQUEeg.CREATETABLEcontacts(idINTEGERPRIMARYKEY,nameTEXTNOTNULLCOLLATENOCASE,phoneTEXTNOTNULLDEFAULT'UNKNOWN',UNIQUE(name,phone));(18)修改表ALTERTABLEtable{RENAMETOname|ADDCOLUMNcolumn_def}eg.sqliteALTERTABLEcontactsADDCOLUMNemailTEXTNOTNULLDEFAULT''COLLATENOCASE;sqlite.schemacontactsCREATETABLEcontacts(idINTEGERPRIMARYKEY,nameTEXTNOTNULLCOLLATENOCASE,phoneTEXTNOTNULLDEFAULT'UNKNOWN',emailTEXTNOTNULLDEFAULT''COLLATENOCASE,UNIQUE(name,phone));(19)查询SELECTDISTINCTheadingFROMtablesWHEREpredicateGROUPBYcolumnsHAVINGpredicateORDERBYcolumnsLIMITcount,offset;(20)Limit和Offset关键字Limit指返回记录的最大行数Offset指跳过多少行数据
本文标题:SQLITE-学习笔记
链接地址:https://www.777doc.com/doc-4770691 .html