C# Winform SQLite学习笔记(二):数据库的增删修改操作

目录

一、数据库的创建

二、添加数据表

三、删除数据表

四、更改表名

五、添加列


一、数据库的创建

SQLite 是文件型的数据库,创建很简单,直接指定一个数据库文件名,后缀名不一定非得是“.sqlite”,后缀随便命名为".db"也成。运行 SQLiteConnection.open 就会创建个空的指定名字的数据库文件。由于它是文件型的,我们也可以直接用 System.IO.File.Create() 来创建一个空的文件。

using System.Data.SQLite;

void CreateDB()//创建数据库
{
	string StartupPath = Application.StartupPath;
	StartupPath += "\\数据.db";
	string connectString = "data source = " + StartupPath;
	SQLiteConnection dbConnect = new SQLiteConnection(connectString);
	dbConnect.Open();
    dbConnect.Close();
}

这时在运行目录下看到创建的数据库文件了。
在这里插入图片描述
使用SQLiteConnection.CreateFile也可以创建数据表,但如果目标文件目录下存在同名文件,会对旧的文件进行覆盖,造成旧数据丢失。而使用SQLiteConnection.open创建数据表,如果目标文件夹下有同名文件会直接打开,如果没有,才会自动创建空白文件。

using System.Data.SQLite;

void CreateDB()//创建数据库
{
	string StartupPath = Application.StartupPath;
	StartupPath += "\\数据.db";
	SQLiteConnection.CreateFile(StartupPath);
}

二、添加数据表

使用Sqlite语句 CREATE TABLE,基本语法如下:

CREATE TABLE database_name.table_name(
column1 datatype PRIMARY KEY(one or more columns),
column2 datatype,

columnN datatype,
);

示例:

using System.Data.SQLite;

void CreateTB()//创建数据表
{
	string StartupPath = Application.StartupPath;
	StartupPath += "\\数据.db";
	string connectString = "data source = " + StartupPath;
	SQLiteConnection dbConnect = new SQLiteConnection(connectString);
	if (dbConnect.State != System.Data.ConnectionState.Open)
	{
		dbConnect.Open();
    	SQLiteCommand cmd = new SQLiteCommand();
    	cmd.Connection = dbConnect;
    	cmd.CommandText = "CREATE TABLE IF NOT EXISTS table1(Time TEXT,Temp INTEGER)";
   		cmd.ExecuteNonQuery();
   		MessageBox.Show("建表完成");
	}
	dbConnect.Close();
}

在CREATE TABLE后添加IF NOT EXISTS是为了防止数据库中存在同名数据表而报错。

三、删除数据表

使用Sqlite语句DROP TABLE ,和添加数据表相似,基本语法如下:

DROP TABLE database_name.table_name;

示例:

    cmd.CommandText = "DROP TABLE IF EXISTS table1";
   	cmd.ExecuteNonQuery();

同样的在DROP TABLE后使用IF EXISTS是确认table1数据表存在防止出错。

四、更改表名

使用Sqlite语句ALTER TABLE ,基本语法:

ALTER TABLE database_name.table_name RENAME TO new_table_name;

示例:

cmd.CommandText = "ALTER TABLE table1 RENAME TO table2";
cmd.ExecuteNonQuery();

为防止数据库中没有table1或者已经存在table2,可以使用SELECT while语句进行判断,
示例:

cmd.CommandText = "SELECT COUNT(*) FROM sqlite_master where type='table' and name='table1'";
if (0 == Convert.ToInt32(cmd.ExecuteScalar()))
{
	//table1 does not exist.
}
else
{
	//table1 does exist.
}

五、添加列

ALTER TABLE命令在Sqlite中只支持重命名表和在已有的表中添加列,添加新列语法:

ALTER TABLE database_name.table_name ADD COLUMN column_def…;

示例:

cmd.CommandText = "ALTER TABLE t1 ADD COLUMN Hum REAL";
cmd.ExecuteNonQuery();

 

 

    上一篇:SQLite基本介绍目录下一篇:    
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值