SQLite is a popular open-source and free small embeddable RDBMS (relational database). It is implemented in C and has a small memory usage. It supports a large number of sql92 standards, some situations that are not supported are described here
The support for various languages is also good, and there are many wrapper.
Google gears, Mozilla, and Adobe AIR are all using SQLite. It should be noted that it is still quite good.
List of SQLite keywords.
Supported SQL syntax, here
In. net uses SQLite. the wrapper I use here is system. data. SQLite, it only needs one DLL, the interface conforms to ADO. NET 2.0 definition, performance is good, nhib.pdf is also used, currently supports ADO. net 3.5, which can be integrated into vs2005 and vs2008, and supports wince, which is a highlight
Because it complies with the ADO. Net specifications, the usage is basically the same as that of native such as sqlclient and oledb.
Using System. Data; Using System. Data. SQLite; //... Using (Sqliteconnection Cn = New Sqliteconnection ( "Data Source = test. db3; pooling = true; failifmissing = false" )){ // When you open the database, it determines whether the database exists. If not, create CN. open (); Using (Sqlitecommand cmd = New Sqlitecommand () {cmd. Connection = cn; // Create a table. If the table already exists, an error is returned. Cmd. commandtext = "Create table [test] (ID int, name nvarchar (20 ))" ; Cmd. executenonquery (); // Insert Test Data For ( Int I = 2; I <5; I ++) {cmd. commandtext = String . Format ( "Insert into [test] values ({0}, 'Chinese test ')" , I); cmd. executenonquery ();} For ( Int I = 5; I <10; I ++) {cmd. commandtext = String . Format ( "Insert into [test] values ({0}, 'English test ')" , I); cmd. executenonquery ();} // Read data Cmd. commandtext ="Select * from [test]" ; Using (Sqlitedatareader DR = cmd. executereader (commandbehavior. closeconnection )){ While (Dr. Read () {console. writeline ( "Article {0}: {1 }" , Dr. getvalue (0), dr. getstring (1 ));}}}}