<br>
<br>
<br>update 学生 set 奖学金=
<br>(select 姓名 from 学生
<br>where 奖学金 is null and 分数=100
<br>)
<br>
<br>这样的是被允许的
<br>
<br>mysql对子查询的支持是比较薄弱的
就是说 update的where语句中不能子查询
而在 where之前是可以有子查询的
mysql自带有mysqldump命令,可以把数据库做备份用。MySQL有很多可以导入数据的方法,然而这些只是数据传输中的一半,另外的一般是从MySQL数据库中导出数据。有许多的原因我们需要导出数据。一个重要的原因是用于备份数据库。数据的造价常常是昂贵的,需要谨慎处理它们。经常地备份可以帮助防止宝贵数据地丢失;另外一个原因是,也许您希望导出数据来共享。
在这个信息技术不断成长的世界中,共享数据变得越来越常见。
比方说Macmillan
USA维护护着一个将要出版的书籍的大型数据库。这个数据库在许多书店之间共享,这样他们就知道哪些书将会很快出版。医院越来越走向采用无纸病历记录,这样这些病历可以随时跟着你。世界变得越来越小,信息也被共享得越来越多。有很多中导出数据得方法,它们都跟导入数据很相似。因为,毕竟,这些都只是一种透视得方式。从数据库导出的数据就是从另一端导入的数据。这里我们并不讨论其他的数据库各种各样的导出数据的方法,您将学会如何用MySQL来实现数据导出。
注意:mysqldump比直接拷贝数据库文件夹速度要慢
但,直接复制文件夹不能100%转移到其它机子上用使用mysqldump工具,基本用法是:shell>
mysqldump
[OPTIONS]
database
[tables]如果你不给定任何表,整个数据库将被导出。通过执行mysqldump
--help,你能得到你mysqldump的版本支持的选项表。
1:
update 成绩 set 分数=105 where 学生.学号='10001'
2:
delete 成绩 where 学号
in
(select gra.学号 as sno from 成绩 gra, 学生 stu
where gra.学号 = stu.学号
and stu.姓名 like '张%')
3:
create index field_index on 学生(专业)
4:
create view courseView
as
select course.课程号,course.名称,course.学分
from 课程 course,成绩 grade
where course.课程号 = grade.课程号
group by course.课程号
having max(grade.分数)>95
5:
select course.名称,avg(grade.分数)
from 课程 course,成绩 grade
where course.课程号 = grade.课程号
group by course.课程号
6:
select course.课程号, course.名称,course.学分
from 课程 course,成绩 grade
where course.课程号 = grade.课程号
and grade.分数=100
7:
select 学号,姓名
from 学生
where 专业='计算机应用'
and 奖学金>0
8:
select student.学号, student.姓名,student.专业
from 学生 stu
where stu.学号
not in
(select student.学号
from 学生 student,成绩 grade
where student.学号 = grade.学号
and grade.分数<60)
//存储过程
create procedure calculate ( in inputN int,out result int)
begin
declare
i int default 1
set result=0
while i<=inputN do
set result=result+i
set i=i+1
end while
end
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)