第5讲SQL语句.doc.doc
文本预览下载声明
第5讲 SQL语句
我们在以前采用如下工具,学习如何建立数据库、数据表、修改删除复制一行或多行数据,增加删除或修改数据表的结构即“数据列”,新建复制或删除数据表与数据库,根据数值型字段查询( = = = != between not between),根据字符型字段查询(=,!=, LIKE IN)等,这些方法直观,一看就会,但是效率并不高,统一修改deptname为某个值,或根据学号中的特征确定学院的名称等,这需要用到SQL语句。
正如WINDOW可以完成基本操作,但是要破解某些问题,如HACK,需要CMD中执行的DOS命令。
插入数据的SQL命令
点击“插入”有:
既然其后台是以上界面,我们能否直接在此界面中输入以上INSERT语句来插入数据呢?
先看句型:以上红框内的语句就是插入数据的SQL语句,从中可以看出来,其句型为:
INSERT INTO 表名(字段1,字段2,....,字段n) VALUES (值1,值2,...,值n)
字段名两边的符号可以不写
字符型值二边的单引号必须写
对于数值型字段的值,其单引号可以不写
例题:输入201527020102,王洁
根据以上句型得到如下语句:
INSERT INTO scoreorigin (STUDNO, studname, deptname, teachername, coursename, testscore1) VALUES (201527020102,王浩,新影, ysh, B,80)
再请跟我来,选择数据库“score2016”,再选择“scoreorigin”,再单击“SQL”:
上图所示的大红框中输入如下语句
先复制此条语句,
再点“SQL”,将以上内容“粘贴”到以下窗口中,修改学号与姓名
一步完成“复制”在“在新行插入”之操作,速度也非常快!
这比原来界面中的“复制”插入速度快多了!
这是SQL带来的乐趣!
二、修改数据
如下图所示,单击行前的“编辑”可对数据进行修改。
所在行的数据全部进行如下界面:
直接在界面上进行修改,再点击“执行”有:
从上图所知UPDATE的句型为:
UPDATE 表名 SET 字段1=值1,字段2=值2,....,字段n=值n WHERE id=流水号(或者其他条件)
再回忆下INSERT语句
INSERT INTO 表名(字段1,字段2,...,字段n) VALUES (值1,值2,...,值n)
字段名两边的符号可以不写
字符型值二边的单引号必须写
对于数值型字段的值,其单引号可以不写
UPDATE中的值要求与INSERT语句一样。
条件需要注意!
例题:修改杜晓雨的老师名称、课程名称、测试2、期中成绩
点击“SQL”在命令窗口中键入如下语句
UPDATE scoreorigin SET teachername=杨圣洪,coursename=计算机导论B,testscore2=64,middlescore=80 WHERE ID=3
例题2:所有学院名称中含有“艺”字的期中成绩涨10分
复制例1中的UPDATE语句,在此基础上进行修改
UPDATE scoreorigin SET middlescore=middlescore+10 WHERE deptname LIKE %艺%
将此行复制到SQL窗口中,再执行出现如下界面
为证明我们确实修改了,修改前查改一下新影院的数据
复制UPDATE语句中表名与WHERE的内容,得到如下语句
SELECT * FROM scoreorigin WHERE deptname LIKE %艺%
再执行UPDATE语句,以修改期中成绩
再执行以下语句,以查询新影院的期中成绩是否已经修改了。
SELECT * FROM scoreorigin WHERE deptname LIKE %艺%
这个办法好吧!一口气加了10分,比起一个一个的修改,又快又准!省时省力!
凡是涉及到批量修改,就要用到UPDATE语句。
UPDATE scoreorigin SET middlescore=middlescore+10 WHERE deptname LIKE %艺%
替换练习:
学院名称(deptname)中含有“播”的学生其测试1的成绩上浮5分。
老师名(teachername=杨圣洪)学生其测试2降低2分。
老师名为谷长龙的学生其期中考试成绩上浮10%。
C++的成绩下浮10%。
例3:总评分=0.10*测试1+0.10*测试2+0.10*测试3+0.30*期中+0.40*期末。
复制上面的UPDATE语句,
修改其SET部分,因为每个人都要修改,所以不需要条件
UPDATE scoreorigin SET totalscore=0.1*testscore1+ 0.1*testscore2+
显示全部