酱紫滴:
selectcSpare_name,sum(num) as sum_num
from
(select aDepartment_name,aDepartment_ID,bSpare_name,bsum
from
department a
left join
spare b
on aDepartment_ID = bDepartment_ID) c
group by Spare_name
期待您的采纳哦
建议再装个MYSQL 的图形化管理工具,这样有利于更形象地了解数据库的存在。
你可以用show database 来查看数据库列表。
再用 use XXX 来选择数据库。
然后 用 show tables 来查看表的单。
示例数据库也是当作一个普通的数据库, 只不过过默认就有的,然后存一点点数据供测试或示范的。 删掉也无所谓。
Mysql 有一个数据接口驱动(比如ODBC驱动)。其它软件可以通过该接口来访问mysql
当然除了官方自带的图形化管理软件和命令行外, 还可以用phpmyadmin这个“软件”来管理mysql。
php里面有array_rand函数,你要是一道题一道题的读出来,或许也可以尝试一下。但是要是一下子都读出来,即便这个函数效率可以的话,随机取出id数组,查询 “where id in 数组” 就不如直接在数据库里随机抽取记录。\x0d\如何从数据表里随机抽取记录呢,想想办法还是有一些,就是不知道效率如何。有的是说用max_idrand(),那一条一条抽取还是可以的。怎么批量随机抽取呢,可以试着排序,然后选取前500题,排序可以想办法用一些函数(选取一些执行效率高的),如何md5,sha1,这种。如果为了使结果更具有随机性,可以把字段值再与一个随机数运算一下。仅供参考。\x0d\========================\x0d\我想你还是用array_rand随机抽500个id存到数组,然后遍历数组吧。这样也避免了题目重复。在数据库里如果一次一条记录随机抽取,要考虑碰巧重复的问题。批量选取你就按上面我说的试试。
mysql数据库原理及应用 数据库原理与应用(第3版)答案《数据库原理与应用》(第三版)习题参考答案 第 1 章 数据库概述 1. 试说明数据、数据库、数据库管理系统和数据库系统的概念。答:数据是描述事物的符号记录。数据库是长期存储在计算机中的有组织的、可共享的大量数据的集合。数据库管理系统是一个专门用于实现对数据进行管理和维护的系统软件。数据库系统是指在计算机中引入数据库后的系统,一般由数据库、数据库管理系统(及相关的实用工具)、应用程序、数据库管理员组成。2. 数据管理技术的发展主要经历了哪几个阶段?答:文件管理和数据库管理。3. 与文件管理相比,数据库管理有哪些优点? 答:与文件系统管理数据相比,数据库系统管理数据带来了如下好处:将相互关联的数据集成在一起,较少的数据冗余,程序与数据相互独立,保证数据的安全可靠,最大限度地保证数据的正确性,数据可以共享并能保证数据的一致性。4. 在数据库管理方式中,应用程序是否需要关心数据的存储位置和存储结构?为什么? 答:不需要。因为数据库管理系统提供了逻辑独立性和物理独立性。5. 在数据库系统中,数据库的作用是什么? 答:数据库是数据的汇集,它以一定的组织形式保存在存储介质上。6. 在数据库系统中,应用程序可以不通过数据库管理系统而直接访问数据文件吗? 答:不能7. 数据独立性指的是什么?它能带来哪些好处? 答:数据独立性是指应用程序不会因数据的物理表示方式和访问技术的改变而改变,即应用程序不依赖于任何特定的物理表示方式和访问技术,它包含两个方面:逻辑独立性和物理独立性。物理独立性是指当数据的存储位置或存储结构发生变化时,不影响应用程序的特性;逻辑独立性是指当表达现实世界的信息内容发生变化时,不影响应用程序的特性。8. 数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么? 答:数据库系统一般包括数据库、数据库管理系统(及相应的实用工具)、应用程序和数据库管理员四个部分。数据库是数据的汇集,它以一定的组织形式保存在存储介质上;数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能;应用程序专指以数据库数据为基础的程序,数据库管理员负责整个数据库系统的正常运行。
第2章 数据模型与数据库结构 1. 解释数据模型的概念,为什么要将数据模型分成两个层次? 答:答:数据模型是对现实世界数据特征的抽象。数据模型一般要满足三个条件:第一是数据模型要能够比较真实地模拟现实世界;第二是数据模型要容易被人们理解;第三是数据模型要能够很方便地在计算机上实现。由于用一种模型来同时很好地满足这三方面的要求在目前是比较困难的,因此在数据库系统中就可以针对不同的使用对象和应用目的,采用不同的数据模型。根据模型应用的不同目的,将这些模型分为两大类:概念层数据模型和组织层数据模型,以方便对信息的描述。2. 概念层数据模型和组织层数据模型分别是针对什么进行的抽象? 答:概念层数据模型是对现实世界的抽象,形成信息世界模型,组织层数据模型是对信息世界进行抽象和转换,形成具体的DBMS支持的数据组织模型。3. 实体之间的联系有哪几种?请为每一种联系举出一个例子。答:实体之间的联系有一对一、一对多和多对多三种。例如:系和正系主任是一对一联系(假设一个系只有一个正系主任),系和教师是一对多联系(假设一个教师只在一个系工作),教师和课程是多对多联系(假设一个教师可以讲授多门课程,一门课程可由多个教师讲授)。4. 说明实体-联系模型中的实体、属性和联系的概念。5.指明下列实体间联系的种类:(1)教研室和教师(设一个教师只属于一个教研室,一个教研室可有多名教师)。(2)商品和顾客。(3)国家和首都(假设一个国家的首都可以变化)。(4)飞机和乘客。(5)银行和账户。(6)图书和借阅者。(设一个借阅者可同时借阅多本书,可在不同时间对同一本书借阅多次) 6.数据库系统包含哪三级模式?试分别说明每一级模式的作用? 答:数据库系统包含的三级模式为:内模式、模式和外模式。外模式是对现实系统中用户感兴趣的整体数据结构的局部描述,用于满足不同数据库用户需求的数据视图,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是对数据库整体数据结构的子集或局部重构。模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。内模式是对整个数据库的底层表示,它描述了数据的存储结构。
7. 数据库管理系统提供的两级映像的作用是什么?它带来了哪些功能? 答:数据库系统的两级映象是模式与内描述间的映象和外模式与模式间的映象。模式/内模式的映象带来了物理独立性,即如果数据库的存储结构改变了,可通过调整模式/内模式的映象,使模式能够保持不变。外模式/概念模式间的映象带来了逻辑独立性,当概念模式的结构可发生改变时,也可通过调整外模式/模式间的映象关系,使外模式可以保持不变。8.数据库三级模式划分的优点是什么?它能带来哪些数据独立性? 答:数据库的三级模式的划分实际上将用户、逻辑数据库与物理数据库进行了划分,使彼此之间的相互干扰减到最少。这三个模式的划分实际上带来了两个数据独立性:物理独立性和逻辑独立性。这使得底层的修改和变化尽量不影响到上层。第3章 关系数据库 1. 试述关系模型的三个组成部分。答:关系数据结构、关系 *** 作集合和关系完整性约束。2. 解释下列术语的含义:(1) 笛卡尔积:设D1,D2,…,Dn为任意集合,定义笛卡尔积D1,D2,…,Dn为:D1×D2× …×Dn ={(d1,d2,…,dn) | di ∈Di,i=1,2,…,n }(2) 主键:也称主码为或主关键字,是表中的属性或属性组,用于惟一地确定一个元组。(3) 候选键:如果一个属性或属性集的值能够惟一标识一个关系的元组而又不包含多余的属性,则称该属性或属性集为候选键。(4) 外键:设F是关系R的一个或一组属性,如果F与关系S的主键相对应,则称F是关系R的外键。(5) 关系:关系就是简单二维表。(6) 关系模式:二维表的结构称为关系模式。(7) 关系数据库:对应于一个关系模型的所有关系的集合称为关系数据库。3. 关系数据库的三个完整性约束是什么?各是什么含义? 答:实体完整性、参照完整性和用户定义的完整性。实体完整性是保证关系中的每个元组都是可识别的和惟一的。参照完整性也称为引用完整性,用于表达现实世界中的实体之间的关联关系。
用户定义的完整性也称为域完整性或语义完整性,用于保证数据库中存储的值与现实世界相符。4. 连接运算有哪些?等值连接和自然连接的区别是什么? 答:连接运算中最重要也是最常用的连接有两个,一个是等值连接,一个是自然连接。自然连接与等值连接的差别为:l 自然连接要求相等的分量必须有共同的属性名,等值连接则不要求;l 自然连接要求把重复的属性名去掉,等值连接却不这样做。5. 对参与并、交、差运算的两个关系R、S有什么要求? 答:必须结构相同,且相应的属性值取自同一个值域。6. 对参与除运算的两个关系(R÷S)有什么要求?除运算的结果关系中包含哪些属性? 答:R中必须包含S的全部或部分属性,除运算的结果包含的属性是只属于R不属于S的属性。7. 对参与自然连接和等值连接 *** 作的两个关系R、S有什么要求?答:有语义相同的属性。8. 投影 *** 作的结果关系中是否有可能存在重复的记录?为什么? 答:不可能,因为投影运算会自动去掉投影后重复的记录。9.利用表3-10至3-12所示的三个关系,写出实现如下查询要求的关系代数表达式。(1)查询“信息系”学生的选课情况,列出学号、姓名、课程号和成绩。∏Sno, Sname, Cno, Grade(σSdept=‘信息系’(SCStudent)) 或:∏Sno, Sname, Cno, Grade(SC σSdept=‘信息系’(Student))(2) 查询“VB”课程的考试情况,列出学生姓名、所在系和考试成绩。∏Sname, Sdept, Grade(σCname=‘VB’(CoureSCStudent)) 或:∏Sname, Sdept, Grade(σCname=‘VB’(Coure) SCStudent)(3) 查询考试成绩高于90分的学生的姓名、课程名和成绩。∏Sname, Cname, Grade(σGrade>90(CoureSCStudent)) 或:∏Sname, Cname, Grade(Coure
σGrade>90(SC)Student)(4) 查询至少选修了0512号学生所选的全部课程的学生的姓名和所在系。∏Sname, Sdept(Student (SC ÷ ∏Cno(σsno=’0512’(SC))))(5) 查询至少选了“C01”和“C02”两门课程的学生的姓名、所在系和所选的课程号。∏Sname, Sdept, Cno(Student (SC ÷ ∏Sno(σcno=’C01’ V Cno=’C02’(SC))))(6) 查询没有选修第1学期开设的全部课程的学生的学号、姓名和所选的课程号。∏Sno, Sname, Cno(Student SC (∏sno(SC) - ∏sno(σsemester=1(Course)SC)))(7) 查询计算机系和信息系选了VB课程的学生姓名。∏Sname(σsdept=’计算机系’V sdept=’信息系’)∧ cname=’vb’(StudentSC Course)) 或:∏Sname(σsdept=’计算机系’V sdept=’信息系’(Student)SC σcname=’vb’(Course)) 第4章 SQL Server 20__基础 1. 安装SQL Server 20__对硬盘及内存的要求分别是什么? 答:SQL Server 20__实际硬盘空间需求取决于系统配置和您决定安装的功能,一般应确保系统驱动器中是否有至少 60 GB 的可用磁盘空间。内存:E_press 版本:最少512 MB;其他版本:最少1 GB。2. SQL Server实例的含义是什么?实例名的作用是什么? 答:一个实例代表一个独立的数据库管理系统。实例名是实例的标识,用户通过“计算机名/实例名”的方式可访问指定的命令实例。3. SQL Server 20__的核心引擎是什么? 答:SQL Server(MSSQLSERVER)4. SQL Server 20__提供的设置服务启动方式的工具是哪个? 答:配置管理器
5. 在SQL Server 20__中,每个数据库至少包含几个文件? 答:2个文件,一个数据文件,一个日志文件 6. SQL Server 20__数据库文件分为几类?每个文件有哪些属性? 答:主要数据文件和次要数据文件,属性有:物理文件名及其位置、逻辑文件名、初始大小、增长方式、最大大小。第 5 章 数据类型及关系表创建 1. Tinyint数据类型定义的数据的取值范围是多少? 答:0-2552. SmallDatatime类型精确到哪个时间单位? 答:分钟3. 定点小数类型numeric中的p和q的含义分别是什么? 答:p代表整数位数+小数位数的和值,q代表小数位数。4. Char(n)、nchar(n)的区别是什么?它们各能存放多少个字符? 答:Char(n)中的n代表能存放n个字节的字符,如果是字母可以存放n个,如果是汉字可存放n/2个。Nchar(n)中的n代表能存放的字符个数。5. Char(n)和varchar(n)的区别是什么?答:Char(n)是定长存储,一定占n个字节的空间。Varchar(n)代表最多占n个字节的空间。6. 数据完整性约束的作用对象有哪些? 答:表和列7. CHECK约束的作用是什么? 答:限制列的取值范围。8. UNIQUE约束的作用是什么? 答:限制列取值不重。9. DEFAULT约束的作用是什么? 答:提供列的默认值。上机练习 1. 在第4章创建的Students数据库中,写出创建如下三张表的SQL语句,要求在定义表的同时定义数据的完整性约束:(1)“图书”表结构如下:书号:统一字符
数据库的作用是将各种数据有序的管理起来,并对其他应用提供统一的接口和服务。
数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等 *** 作。
数据库是存放数据的仓库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。
当今世界是一个充满着数据的互联网世界,充斥着大量的数据。即这个互联网世界就是数据世界。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。
扩展资料
发展现状
在数据库的发展历史上,数据库先后经历了层次数据库、网状数据库和关系数据库等各个阶段的发展,数据库技术在各个方面的快速的发展。特别是关系型数据库已经成为目前数据库产品中最重要的一员。
80年代以来,几乎所有的数据库厂商新出的数据库产品都支持关系型数据库,即使一些非关系数据库产品也几乎都有支持关系数据库的接口。这主要是传统的关系型数据库可以比较好的解决管理和存储关系型数据的问题。
随着云计算的发展和大数据时代的到来,关系型数据库越来越无法满足需要,这主要是由于越来越多的半关系型和非关系型数据需要用数据库进行存储管理,以此同时,分布式技术等新技术的出现也对数据库的技术提出了新的要求,于是越来越多的非关系型数据库就开始出现。
这类数据库与传统的关系型数据库在设计和数据结构有了很大的不同,它们更强调数据库数据的高并发读写和存储大数据,这类数据库一般被称为NoSQL(NotonlySQL)数据库。而传统的关系型数据库在一些传统领域依然保持了强大的生命力。
对于非计算机出身的我,大学只会hello word和跑马灯,期间过程确实非常曲折,分享下我的自学过程:
1、 自己在windows和linux上安装了mysql,自学linux的基础知识,学习mysql的最基础的知识,即怎么写sql,存储过程,表的设计等,从0到熟悉大概花了3个月 ,推荐《mysql入门很简单》。
2、系统地较为深入地学习mysql的sql优化,备份和恢复,参数优化,架构优化,硬件层面的优化,高可用方案,复制技术等等,这段时间你不一定能实际接触到这些,就像我当初那样,肯定没什么公司招一个小白。 我选择自己看书,推荐《高性能mysql》,里面所有的章节都需要看一遍,以现在的水平肯定看不懂,但需要知道大概怎么回事,为后续的找mysql初级dba的工作打一个铺垫,这个过程大概也需要3个月。
3、 纸上得来终觉浅,完成以上两步,我开始准备找一份mysql相关的工作,而不是天天用着excel表格做着select from table_sb这样的工作。 当然我这么猥琐的人肯定不会裸辞,该画的电路板也一样画,业余时间开始投初级mysql dba的工作,并且不间断地学习,网上各种找mysql面试的相关题目(实际上我当时完全没有任何实战经验),陆续收到一些面试,凭借之前自学的mysql知识,开始胡乱吹牛逼,先混进去再说。 你不做mysql实际相关的工作,永远也不知道自己之前认知的db知识有多幼稚。 友情提示一点,一般公司都没有专职dba的,所以面试的时候一定要自信,其实你学了这么多,虽然毫无实战经验,理论知识很大概率比面试你的人牛逼,所以各种吹,我就这样真正进入初级dba的圈子(由于这时对linux还处于cd ls的水平,所以之前也根本没做过运维),这个边工作边找工作的过程又持续了2个月。
4、真正进入互联网,接触生产环境后,这是我进步最大的时候。 第一步需要将之前所学真正地应用起来,并且应用的过程中,再回头看之前的书籍,这时候需要真正去理解,而不是似是而非,一知半解。 这时再推荐《高性能mysql 第三版》,全本再看一遍,这时需要全部看懂,另外还有《mysql技术内幕:innodb存储引擎》等等。 总之这段时间就需要开始关注mysql一些细节了,比如db故障处理,高可用,负载均衡等等的具体实现了。 另外,linux的知识同步也要深入去学习,至少会写shell脚本,常见的linux知识等,我在这花了1年多;
5、 dba的工作一般是非常轻闲的,毕竟不是大公司,技术能力有限,该学的也学得差不多了,接触不到海量数据,高并发等比较锻炼人的场合,于是我又准备跳了。 于是来了公有云,现在每天运维万多个db实例,平均每天处理5+个紧急db故障,几乎mysql会遇到的问题,感觉都遇到了,能感觉到技术实力和经验也在每天都在积累,在进步。 但是感觉还是欠缺了很多,下一步就看你选择了,是再去研究源代码,底层原理的东西多点,还是数据库运维和应用多一点,就比如业界姜承尧,何登成与叶金荣的区别。 由于我的历史原因,对c++等几乎不懂,平时也用不到,所以看代码等事实际太累,于是我再去学mongodb,接了公司mongodb运维的活,算是在广度上的一个扩展,万一哪天mysql不行了呢
6、 总之,对于db小白来说,最重要的一点就是,学习的过程不能断。 PS 上面的方法比较野路子,适合没什么基础的童鞋,如果本来就是DBA,比如从oracle转到mysql,那么建议直接看mysql官方文档,而官方文档是db达到一定水平后必看,出问题时必查的权威文档。
create table t_stu (name varchar(20),course varchar(20),score int);
insert into t_stu values ('aa','A','99');
insert into t_stu values ('aa','B','55');
insert into t_stu values ('bb','A','68');
insert into t_stu values ('bb','B','90');
insert into t_stu values ('cc','A','79');
insert into t_stu values ('cc','B','80');
select name as '姓名',sum(score) as '总分' from t_stu group by name desc limit 10;
以上就是关于Mysql数据库问题全部的内容,包括:Mysql数据库问题、mysql怎样入门啊、用php+mysql做一个题库系统,随机抽取五百题左右生成考试卷,最有效率的做法是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)