您的位置:首页 > 数据库 > MySQL

跟我一起学习MySQL技术内幕(第五版):(第一章学习日记7上)

2016-04-04 23:33 465 查看
1.4.9.10从多个表里检索信息

1.4.10删除或更新已有行

1.4.9.10还是再说两点 ,这里的确有很多东西,但是也涉及到了后边,后边还会有更具体的介绍,这里暂且提一下,可以当做对后边的预习。

inner jion( 内部联合)

select student_id,date,score,catogory
from grade_event inner join score
on grade_event.event_id=score.event_id
where date ='2012-09-23'


即在查询的时候按照两个表对应的某一列来联系两个表。inner join两边为两个表名,on语句后边的格式是

table1.column_name=table2.column2_name 两个表名对应join左右的两个表名,表名下的列名表示两个表中存在一致关系的两个列,从而做到了联合。

2.子查询

即把一条select语句插入到另一条select语句里(where后的条件)

select * from student
where student_idnoy in (select student_id from absence);


嵌套于内层的select语句会确定出absence表里的student_id值集合,而外层的那个select语句则会检索出student表里与该集合中的Id值都不匹配的那些行。子查询是MySQL里我觉得最有意思的东西之一(我是很喜欢范式啦,就是在创建表之前的构思工作),很多子查询都非常的漂亮值得人去学习。这里作者简单介绍,在后边还有更加具体的。

1.4.10删除或更新已有行

1.删除

delete from table_naem
where condition;

delete from table_name;


第一个式子大概就是delete语句的使用格式 ,其实有没有感觉跟select 很像,其实就是一个是选择输出,一个是选择删除。

第二个式子很有意思,在你刚刚创建好的表里试一试吧 ,一定会令你难忘的。(全删!)

书上给了一个建议 ,很有道理。

如果你不是特别确信你的删除正确,并且不会出现其他的错误,那么可以先选择把满足这些条件的输出来

select ......... from table_naem
where condition ;


接下来根据输出结果确定是不是你想要的结果。

2.修改

update  member
set expiration ='2013-7-9'
where last_name ='York' and first_name ='Jerome';'


第一行 update关键字 表示将要进行内容的修改 并指定表名。

第二行 set关键字 表示将要进行的修改

第三行 where关键字 定位将要进行修改的位置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: