历经两个月时间的学习也是终于迎来了尾声,从开学到现在的教学内容是“中国东方航空电子客票系统”(以下简称FJDPXT),其中涉及到的开发工具有“Visual Studio(简称VS)”、“SQL Server(简称SQL)”。
这张图所展示的就是整个FJDPXT的主要模块,主要学习点就是增删查改,所谓的增删查改就是 新增insert 删除delete 查询select 修改update 四个功能,查询功能是整个之中最复杂的
新增
在SQL增删改查当中的新增算是最简单的一种了,我解释一下其含义
使用insert插入单行的数据:
语法:insert into (表名)(列名)values(相对列的值)
举例:insert into (姓名、性别、出生日期)values(’小明’,’男’,’2000/01/01’)
注意:
1.如果省略表名则会将数据依次插入所有列
2. 列的数据类型是“数字型”,不可以加任何引号
3. 插入的值,所有的指令符号都是英文状态
4. 插入的值的个数和数据类型必须和表结构定义的列的个数和数据类型保持一致
5. 一条新增指令只能操作一个表
上面说的是在SQL中的新增,接下来的是在VS中将数据新增到SQL
举例:
如图所示这就是一段将数据新增到SQL中的代码,其中最主要的是myModel.S_Airport.Add(modAirport);和myModel.SaveChanges();这两句,这种新增方式可以新增任何数据但是新增的数据可能与项目里的格式不一致,所以也可以将其省略从而改用判断语句方式进行新增
删除
在SQL中有两种删除方法:
1. 使用delete删除某些数据:
语法:delete from(表名)【where(删除条件)】
举例:delete from A where name=‘小明’(删除表A中列值为小明的行)
要注意删除整行不是删除单个字段,所以delete后面不能出现字段名
2.使用truncate table 删除整个表的数据
语法:truncate table (表名)
举例:truncate table A
虽然删除了表中的所有数据,但表的结构、列、约束、索引等并不会被删除
在VS中要写删除语句就必须学会查询语句
上图就是一个简单的删除语句,先确定要删除什么数据再查询表最后删除,删除成功后就会将页面刷新,成功则会弹出“删除旅客成功”的弹窗,失败则会弹出“数据异常,删除失败!”。
查询
在SQL中有很多查询方法:
-
查询所有数据行和列:
举例:select * from a
说明:查询表a中所有的数据 -
查询部分行列—条件查询
举例:select i,j,k from a where f=5
说明:查询表a中f=5的所有行,并显示i,j,k3列 -
查询空行
举例:select name from a where email is null
说明:查询表a中email为空的所有行,并显示name列;SQL语句中用is null或者is not null来判断是否为空行 -
模糊查询
-
使用like进行模糊查询
举例:select * from a where name like ‘李%’
说明:查询显示表a中,name字段第一个字为李的记录
注意:like运算符只用于字符串 -
使用between在某个范围内进行查询使用between在某个范围内进行查询
举例:select * from a where age between 18 and 20
说明:查询显示表a中年龄在18到20之间的记录
在VS中的查询语句:
如图所示,重点是var airport = myModel.S_Airport.Single(m => m.airportID == AirportID);
这张图中的代码也是一段查询代码
语法:List<表名> xx = (from xx in
join in on equals
where
select new 表名).Tolist();
同一引用下,第一查询语段以 .Single() 结尾,开头可以不用 List
修改
SQL:
语法:update <表名> set <列名=更新值> [where <更新条件>]
举例:update addressList set 年龄=18 where 姓名=‘小明’
注意:set后面可以紧随多个数据列的更新值(非数字要引号);where子句是可选的(非数字要引号),用来限制条件,如果不选则整个表的所有行都被更新
1.一条新增指令只能操作一个表
2.一定要注意是否启用where; 建议启用 “键值ID”精确定位数据
VS:
这是VS当中一段关于修改信息的代码并带有完整的判断语句,首先要先确定修改什么数据,再确认其数据在什么表内,最后编写修改的代码
关于我个人对在SQL和VS的增删查改总结就这些了