传智 韩忠康 mysql 课程笔记4(吐血整理)

合集下载

《数据库原理》第四章

《数据库原理》第四章
90-6 90-6 90-6
工号 超额
101 22% 102 17% 103 14% 104 20% 101 22%
102 21% 103 15% 104 12%
W21
W22
工种 车工
工号 101 102 103 104
姓名 丁一 王二 张三 李四
定额 80
工种 车间 车工 金工 车工 金工 钳工 工具 金工 金工
• 第1NF范式
• 关系R中的所有属性都是不可再分的(却原子的),称第一范式。
背景(2)
学号
0001 0002

姓名 年 龄 课程 号
成绩 课程名
李明 19 C01 数据库原 理
张小 20 C210 电子学基


…… …

得分 80 85 …
学号
0001 0002

姓名
李明 张小东

年龄
19 20 …
• 保持函数依赖且无损联接地分解成3NF • Input:关系模式R,R上成立的函数依赖集的规范复盖F。
• O Ruit(pFu)是t:3RN的F,一且个保分持解函=数{R依1,赖…和,无Rk损},联满接足分每解个。Ri相对于
• Step: 求R的候选键 ={ },i=0; for F中每个FD XY do if 中每个模式都不包含XY then begin i=i+1;Ri=XY;= {Ri};end if 中每个模式都不包含R的候选键then begin i=i+1;Ri=R的某个候选键;= {Ri};end return ;
李B
李B 王A 王A 王A
商品 商品M1 商品M2 商品M3 商品M4 商品M1 商品M2

MySQL数据库学习教程从入门到进阶全套笔记(完整版)

MySQL数据库学习教程从入门到进阶全套笔记(完整版)

MySQL数据库学习教程从⼊门到进阶全套笔记(完整版)【MySQL学习1】SQL语⾔简介及数据库简介本节⼤致介绍数据库。

【MySQL学习2】MySQL简介及安装和卸载熟练地掌握数据库的安装与卸载。

【MySQL学习3】MySQL常⽤的图形管理⼯具图形化管理⼯具是为了更好操作数据库。

【MySQL学习4】MySQL数据库基本操作(⼀)_DDLDDL(Data Definition Language),数据定义语⾔。

本节讲DDL-数据库操作。

- 对数据库的常⽤操作- 对表结构的常⽤操作- 修改表结构【MySQL学习5】MySQL数据库基本操作(⼆)_DMLDML(Data Manipulation Language),指数据操作语⾔,⽤来对数据库中表的数据记录进⾏更新。

插⼊insert、删除delete、更新update。

【MySQL学习6】MySQL约束之主键约束约束实际上就是表中数据的限制条件。

本节介绍添加单列主键、添加多列联合主键、删除主键。

表在设计的时候加⼊约束的⽬的就是为了保证表中的记录完整性和有效性,⽐如⽤户表有些列的值(⼿机号)不能为空,有些列的值(⾝份证号)不能重复。

【MySQL学习7】MySQL约束之⾃增长约束通过给字段添加 auto_increment 属性来实现主键⾃增长。

可以⾃定义起始值。

注意delete和truncate之后的⾃增长的区别。

【MySQL学习8】MySQL约束之⾮空约束与唯⼀约束⾮空约束就是必须有数据,不允许为空。

唯⼀约束就是指定的那个参数,它所在的⼀列⾥每个数据都不允许有重复。

【MySQL学习9】MySQL约束之默认约束和零填充约束默认值约束就是在不指定值的时候使⽤提前设定好的值。

零填充约束只是为了对齐,值的位数不长时在前⾯补0,了解即可。

【MySQL学习10】MySQL数据库DQL基本查询(⼀)数据库管理系统⼀个重要功能就是数据查询,数据查询不应只是简单返回数据库中存储的数据,还应该根据需要对数据进⾏筛选以及确定数据以什么样的格式显⽰。

数据库原理和应用基本知识点和习题

数据库原理和应用基本知识点和习题

数据库原理及应用基本知识点与习题目录第1章数据库系统概述 (1)1.1 基本知识点 (1)1.2 习题1 (1)第2章数据模型 (4)2.1 基本知识点 (4)2.2 习题2 (4)第3章数据库系统的体系结构 (7)3.1 基本知识点 (7)3.2 习题3 (7)第4章关系数据库方法 (10)4.1 基本知识点 (10)4.2 习题4 (10)第5章关系数据库的结构化查询语言SQL (16)5.1 基本知识点 (16)5.2 习题5 (17)第6章关系模式的规范化理论 (27)6.1 基本知识点 (27)6.2 习题6 (27)第7章数据库设计 (30)7.1 基本知识点 (30)7.2 习题7 (30)第8章数据库保护 (16)8.1 基本知识点 (38)8.2 习题8 (38)第9章 Microsoft SQL SERVER 2000 (41)9.1 基本知识点 (41)9.2 习题9 (41)第10章 和数据库开发技术 (43)10.1 基本知识点 (43)10.2 习题10 (43)第11章分布式数据库系统 (44)11.1 基本知识点 (44)11.2 习题11 (44)第12章数据仓库与数据挖掘 (46)12.1 基本知识点............................................... 错误!未定义书签。

12.2 习题12 (46)第13章XML数据库 (48)13.1 基本知识点 (48)13.2 习题13 (48)第1章数据库系统概述1.1 基本知识点本章先介绍数据库技术的产生与发展,然后介绍数据库的基本概念和数据库系统的特点。

本章的学习重点是数据库的基本概念和基本知识的把握,为后续各章节的学习打下扎实的基础。

(1)数据库技术的产生与发展人工管理阶段、文件系统阶段、数据库系统阶段和高级数据库技术阶段等各阶段的特点。

(2)数据库系统基本概念DB、DBMS和DBS的定义。

《丁奇-MySQL45讲-01》之归纳总结

《丁奇-MySQL45讲-01》之归纳总结

《丁奇-MySQL45讲-01》之归纳总结01 | 基础架构:⼀条SQL查询语句是如何执⾏的?MySQL架构图左侧图是丁奇⽼师原本的图,右侧是个⼈理解所画的,按照在⽂中的理论来说,个⼈认为应该是先查询缓存,如果查不到才会进⾏词法分析,⽐如有⼀条SQL:select * from T where ID = 10;,先去缓存中以该条SQL为key开始查询缓存,如果没查询到才会开始解析该SQL,通过select关键词分析可以知道该条SQL是要做查询,既然是做查询,就要遵循查询语句的相关语法(也会在这⼀层判断表是否存在、列是否存在),所以通常SQL语法校验错误应该就是这⼀层实现的,语法校验通过后,MySQL还会帮你优化下SQL,⽐如哪⾥去掉重复的内容或者是不必要的语句甚⾄有可能是条件语句,这么做的道理当然是为了更快更好地执⾏完⼀条SQL,安排好执⾏计划后就开始执⾏了。

总的来说,MySQL分为Server、存储引擎层两部分。

Server层包括连接器、查询缓存(MySQL移除了该功能)、分析器、优化器、执⾏器,涵盖MySQL的⼤多数核⼼服务,像经常使⽤的内置函数如时间,应该是去存储引擎获取完数据后在进⾏时间函数的执⾏;存储引擎负责数据的存储和读取,其架构模式是插件式的,也就是说MySQL可以有多种存储引擎,要是有可能,你⾃⼰也是可以开发的,最经常使⽤的便是InnoDB,InooDB在MySQL5.5.5版本后开始称为默认存储引擎。

连接器:负责跟客户端建⽴连接、获取权限、管理连接。

⽤户密码认证通过后,就会去权限表(er)查询对应⽤户的权限,之后,该会话的权限判断逻辑都将依赖此时读到的权限,说明权限信息属于会话级,即使有其他⽤户修改了你的权限,也不会影响到你,只有在开启新的会话后才会⽣效,MySQL应该是对权限信息对了缓存。

长连接:建⽴连接是耗时⼜耗⼒的操作,所以通常在建⽴完⼀个连接后最好是能够复⽤该连接,但同时复⽤⼀个连接有可能会造成内存过⼤,因为临时使⽤的内存是被当前连接所管理的,只有在当前连接断开的情况下,内存才会得到释放,那么可以在判断执⾏过⼀个占⽤内存⼤的查询后,断开连接(可以在提交事务后⼿动断开连接),或者如果使⽤的是MySQL5.7版本,那么可以执⾏mysql_reset_connection(属于C的API,不是命令,难怪我执⾏不了)来恢复到初始状态。

《快速念咒:MySQL入门指南与进阶实战》笔记

《快速念咒:MySQL入门指南与进阶实战》笔记

《快速念咒:MySQL入门指南与进阶实战》阅读记录1. 第一章数据库基础在开始学习MySQL之前,了解一些数据库的基础知识是非常重要的。

数据库是一个用于存储和管理数据的计算机软件系统,它允许用户通过关键字或特定的查询语言来检索、更新和管理数据。

在数据库中,数据是以表格的形式进行组织的,每个表格都包含了一组相关的数据项,这些数据项被称为记录。

表(Table):表是数据库中存储数据的基本单位。

每个表都有一个唯一的名称,并由行(Row)和列(Column)组成。

每一行代表一个数据记录,每一列代表一个特定的数据属性。

字段(Field):字段是表中的一列,代表了数据的一种属性。

每个字段都有一个唯一的名称和一个数据类型,用于定义该字段可以存储的数据种类。

主键(Primary Key):主键是表中的一个特殊字段,用于唯一标识表中的每一行记录。

主键的值必须是唯一的,且不能为NULL。

外键(Foreign Key):外键是一个表中的字段,它的值引用了另一个表的主键值。

外键用于建立两个表之间的联系,确保引用完整性。

索引(Index):索引是一种数据库优化技术,用于提高查询性能。

通过创建索引,数据库可以更快地定位到表中的特定记录,而不必扫描整个表。

SQL(Structured Query Language):SQL是用于与数据库进行交互的编程语言。

它包括用于数据查询、插入、更新和删除的操作符和语法结构。

理解这些基本概念是学习MySQL的前提。

通过掌握SQL语言的基本语法和操作,你将能够有效地管理和操作数据库中的数据。

在接下来的章节中,我们将深入探讨MySQL的具体应用,包括如何创建和管理数据库、表、以及如何执行复杂的查询操作。

2. 第二章数据库设计《快速念咒:MySQL入门指南与进阶实战》是一本全面介绍MySQL 数据库的书籍,其中第二章详细阐述了数据库设计的基础知识和实践技巧。

在这一章节中,作者首先介绍了数据库设计的基本概念和目标,包括数据模型、实体关系模型(ER模型)等,并解释了如何通过这些模型来描述现实世界中的数据和业务逻辑。

(完整word版)传智播客C经典入门课堂笔记-苏坤

(完整word版)传智播客C经典入门课堂笔记-苏坤

今天学习的第一句话:Console.WriteLine(“你想显示的内容。

”);第二句话:Console.ReadKey();当程序执行到Console.ReadKey();时,程序会停到这里,等待用户从键盘上键入一个键,用户键入这个键之后,程序才会继续执行。

在C#中,每一句话都必须以“分号”结束C#中的注释,什么是注释呢?对我程序进行的解释,注释是给人看的。

下面的一对指示可以折叠代码。

#region内容#endregionMSIL:微软中间语言Microsoft Inter mediate LanguageCLR:公共语言运行时Common Language RuntimeCLS公共语言规范Common Language SpecificationCTS:通用类型系统Common Type SystemJIT:即时编译器Just In Time第二天课程:复习--Console.WriteLine()可以用CW加Tab键。

这样就能直接打出Console.WriteLine();变量1:变量:变量代表着一块内存空间,我们可以通过变量名称向内存存\取数据。

有变量就不需要我们记忆复杂的内存地址。

向内存申请一块内存空间的语法:数据类型变量名;整数在我们C#中的数据类型叫intInt nuber;Double:小数Char:字符型只能存储一个字符,并且存储的这个字符要求用单引号引起来String 类型:字符串,就是把0个或1个或多个字符连接起来。

字符串要求用双引号引起来。

Decimal 类型:用来表示钱和货币,失精度不至于丢失。

注意:在C#开发环境中,直接写一个有小数点的数字,这个数字是double类型。

在一个小孩苏idan后面加个m\M,就告诉编译器这是个decimal类型应该写成:money = 100.34m;变量的命名规则:1.必须以“字母”_或@符号开头、2.后面可以跟任意“字母”,数字,下划线。

G4学习——精选推荐

G4学习——精选推荐

G4学习G4学习笔记ZhangJie1.数据库1.1.G4数据库表说明1)Code这个是代码对照表,将其他表中字段的可能取值以及取值表⽰的意义填写在这⾥,这样也算是⼀层分层设计吧,数据库开发⼈员可以将数据库中的信息提前设计好,程序开发⼈员则⽆需关⼼数据库的设计,如数据库中表中字段sex的值取0时表⽰什么意思,取1时表⽰什么意思,程序开发⼈员只需在查询数据库时,将sex和0在code表中进⾏⼀次查询就可以了。

这样做还有⼀个好处,就是,在不同的表中都有sex字段,不同的数据库设计⼈员可能设定的取值与取值的意义不同,如果将所有的sex提取到码表中进⾏定义,则使得数据库的设置更加像⼀个整体、有条理。

2)dept这个是部门信息表,其中定义了部门的id、名称、上级部门等信息,上级部门为0的部门表⽰是公司的最上级部门,也就是公司的总部,上下级部门的id⽣成遵循这样的关系,如果上级部门的id为001,则直接下级部门的id为001001~001999,也就是每次在后⾯追加3位数字。

如果部门有下级部门则该部门不是叶节点,如果没有下级部门,则是叶节点。

为什么要定义叶⼦节点leaf这个字段,这主要是考虑到,ext中树控件⾃动装载数据,⽣成所有的部门节点。

⽐如,001下有⼦节点001001,、001002,则展开001时,将请求001的直接下属节点,获得001001、001002节点信息将其作为001的⼦节点。

如果001001、001002不是叶节点,则当展开该节点时,将请求对应的直接下属节点;如果001001、001002是叶⼦节点,则不会展开该节点。

3)event这个是事件表,⽤来记录每⼀个登录⽤户的操作事件,这个表真的是⾮常的重要。

它可以记录每个员⼯在什么时间请求了什么路径,请求的action操作是什么,以及该操作耗费的时间等。

4)exception这个是系统异常监控表,可以记录异常类型、⽅法名、异常信息,它这⾥说监控系统异常,应该指的是G4Studio的异常信息,⽽不是对容器的监控,因为它可以记录⽅法名,应该是我们写的java类中的⽅法名。

MySQL基础知识总结

MySQL基础知识总结

MySQL基础知识总结本单元⽬标⼀、为什么要学习数据库⼆、数据库的相关概念DBMS、DB、SQL三、数据库存储数据的特点四、初始MySQLMySQL产品的介绍MySQL产品的安装★MySQL服务的启动和停⽌★MySQL服务的登录和退出★MySQL的常见命令和语法规范五、DQL语⾔的学习★基础查询★条件查询★排序查询★常见函数★分组函数★分组查询★连接查询★⼦查询 √分页查询★union联合查询 √六、DML语⾔的学习★插⼊语句修改语句删除语句七、DDL语⾔的学习库和表的管理 √常见数据类型介绍 √常见约束 √⼋、TCL语⾔的学习事务和事务处理九、视图的讲解 √⼗、变量⼗⼀、存储过程和函数⼗⼆、流程控制结构数据库的好处1.持久化数据到本地2.可以实现结构化查询,⽅便管理数据库相关概念1、DB:数据库,保存⼀组有组织的数据的容器2、DBMS:数据库管理系统,⼜称为数据库软件(产品),⽤于管理DB中的数据3、SQL:结构化查询语⾔,⽤于和DBMS通信的语⾔数据库存储数据的特点1、将数据放到表中,表再放到库中2、⼀个数据库中可以有多个表,每个表都有⼀个的名字,⽤来标识⾃⼰。

表名具有唯⼀性。

3、表具有⼀些特性,这些特性定义了数据在表中如何存储,类似java中 “类”的设计。

4、表由列组成,我们也称为字段。

所有表都是由⼀个或多个列组成的,每⼀列类似java 中的”属性”5、表中的数据是按⾏存储的,每⼀⾏类似于java中的“对象”。

MySQL产品的介绍和安装MySQL服务的启动和停⽌⽅式⼀:计算机——右击管理——服务⽅式⼆:通过管理员⾝份运⾏net start 服务名(启动服务)net stop 服务名(停⽌服务)MySQL服务的登录和退出⽅式⼀:通过mysql⾃带的客户端只限于root⽤户⽅式⼆:通过windows⾃带的客户端登录:mysql 【-h主机名 -P端⼝号】-u⽤户名 -p密码退出:exit或ctrl+CMySQL的常见命令1.查看当前所有的数据库show databases;2.打开指定的库use 库名3.查看当前库的所有表show tables;4.查看其它库的所有表show tables from 库名;5.创建表create table 表名(列名列类型,列名列类型,。

(完整版)数据库原理与应用重要知识点总结

(完整版)数据库原理与应用重要知识点总结

数据库原理与应用重要知识点总结三级模式模式:模式又称逻辑模式,是数据库中全体数据的整体逻辑结构和特征的描述。

是所有用户的公共数据视图。

外模式:外模式又称为子模式或用户模式,是数据库用户能看见和使用的局部数据的逻辑结构和特征的描述。

是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。

内模式:内模式又称存储模式,是数据物理结构和存储方式的描述。

是数据在数据库内部的表示方式。

两级映像外模式/模式映像:对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式的对应关系。

当模式改变时,由数据库管理员对各个外模式/模式映像做相应的修改,可以使外模式不变,保证了数据与程序的逻辑独立性——数据的逻辑独立性。

模式/内模式映像:一个数据库只有一个模式,也只有一个内模式。

这一映像是唯一的,用于定义数据全局逻辑结构与存储结构之间的对应关系。

当数据库存储结构改变时,由数据库管理员对模式/内模式映像做相应的修改即可,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性——数据的物理独立性。

存取控制机制:定义用户权限,并将用户权限存入数据字典中(这些定义被称为安全规则或授权规则)。

权限即用户对某一数据对象的操作权力。

合法性检查,当用户发出存取数据库操作的请求后,DBMS查找数据字典,根据安全规则进行合法性检查,若用户的请求超出了定义的权限/密级/角色,系统将拒绝执行此操作。

视图机制:视图--虚表--导出表为不同用户定义不同的视图,把数据对象限制在一定的范围。

通过视图机制把要保密的数据对无权操作的用户隐藏起来。

审计系统提供的一种事后检查的安全机制。

建立审计日志,用以记录用户对数据库的所有操作。

检查审计日志,找出非法存取数据的人、时间和内容。

审计很浪费时间和空间,主要用于安全性要求较高的部门。

RBAC(基于角色的存取控制)role-based access control特点:由于角色/权限之间的变化比角色/用户关系之间的变化相对要慢得多,减小了授权管理的复杂性,降低管理开销。

10分钟梳理MySQL核心知识点

10分钟梳理MySQL核心知识点

10分钟梳理MySQL核⼼知识点今天我们⽤10分钟,重点梳理⼀遍以下⼏⽅⾯:数据库知识点汇总;数据库事务特性和隔离级别;详解关系型数据库、索引与锁机制;数据库调优与最佳实践;⾯试考察点及加分项。

⼀、数据库的不同类型1.常⽤的关系型数据库Oracle:功能强⼤,主要缺点就是贵MySQL:互联⽹⾏业中最流⾏的数据库,这不仅仅是因为MySQL的免费。

可以说关系数据库场景中你需要的功能,MySQL都能很好的满⾜,后⾯详解部分会详细介绍MySQL的⼀些知识点MariaDB:是MySQL的分⽀,由开源社区维护,MariaDB虽然被看作MySQL的替代品,但它在扩展功能、存储引擎上都有⾮常好的改进PostgreSQL:也叫PGSQL,PGSQL类似于Oracle的多进程框架,可以⽀持⾼并发的应⽤场景,PG⼏乎⽀持所有的SQL标准,⽀持类型相当丰富。

PG更加适合严格的企业应⽤场景,⽽MySQL更适合业务逻辑相对简单、数据可靠性要求较低的互联⽹场景。

2.NoSQL数据库(⾮关系型数据库)Redis:提供了持久化能⼒,⽀持多种数据类型。

Redis适⽤于数据变化快且数据⼤⼩可预测的场景。

MongoDB:⼀个基于分布式⽂件存储的数据库,将数据存储为⼀个⽂档,数据结构由键值对组成。

MongoDB⽐较适合表结构不明确,且数据结构可能不断变化的场景,不适合有事务和复杂查询的场景。

HBase:建⽴在HDFS,也就是Hadoop⽂件系统之上的分布式⾯向列的数据库。

类似于⾕歌的⼤表设计,HBase可以提供快速随机访问海量结构化数据。

在表中它由⾏排序,⼀个表有多个列族以及每⼀个列族可以有任意数量的列。

HBase依赖HDFS可以实现海量数据的可靠存储,适⽤于数据量⼤,写多读少,不需要复杂查询的场景。

Cassandra:⼀个⾼可靠的⼤规模分布式存储系统。

⽀持分布式的结构化Key-value存储,以⾼可⽤性为主要⽬标。

适合写多的场景,适合做⼀些简单查询,不适合⽤来做数据分析统计。

第二版MYSQL视频教程-韩忠康

第二版MYSQL视频教程-韩忠康

SQL之操作创建表2013年9月10日22:43create table db_name.tbl_name(列名字符型定义,列名字符型)[表属性];设置默认数据库2013年9月10日22:46Use db_name;查看表2013年9月10日22:48有哪些表Show tables like 'pattern';例如show tables like ‘php_%’;%是mysql的通配符。

某个表的创建信息show create table tbl_name;查看表结构〔描述表结构〕2013年9月10日22:50Describe tbl_name; 简写是desc tbl_name;删除表2013年9月10日22:51drop table tbl_name; 〔如果表不存在,报错〕完整版:drop table if exists tbl_name; (如果表不存在,不报错)适用于database。

修改表名2013年9月10日22:51Rename table old tbl_name to new tbl_name;支持同时修改多个表名,中间用‘,’间隔。

支持夸数据库重命名。

Rename table exam_user to ‘1234’.user;可以利用跨数据库重命名,为数据库重命名创建一个新的数据库,旧的数据库的表,都rename到新的数据库,再删除旧的数据库。

修改列定义2013年9月10日22:54修改表结构alter table tbl_name[add/drop/change/modify]修改表选项Alter table tbl_name 新的表选项。

例如:alter table student character set utf8;1、增加一个新的列add新列定义2、修改一个列的定义Modify列定义3、删除一个列drop列定义4、重命名一个列ChangeCrud2013年9月10日22:43Create,read,update,delete.增删改查1.创建数据〔插入数据〕2.获得数据〔查询数据〕3.删除数据4.修改数据•创建数据•2013年9月10日•23:06•Insert into 表名〔字段列表〕values〔值列表〕•••如果需要在插入时•为所有的字段设置值,那么可以省略字段列表。

传智 韩顺平 linux 课程笔记1(吐血整理)

传智 韩顺平 linux 课程笔记1(吐血整理)

Linux视频教程(韩顺平)听课笔记1(RedHat)1、老师联系方式:hanshunping@2、linux for工作(1)linux系统管理员——linux系统的维护、配置等(2)linux程序员——需c/c++、java,php、jsp等①linux软件工程师(pc)②linux嵌入式开发(单片机、芯片)3、学习linux的步骤(1)第一阶段:linux平台上的开发,包括vi,gcc,gdb,make,jdk,tomcat,mysql...和linux基本操作(2)第二阶段:加厚c语言功底《c专家编程》或是java语言(3)第三阶段:学习unix环境高级编程《unix环境高级编程》(4)第四阶段:linux应用系统开发/linux嵌入式开发4、计算机学习的正确道路5、推荐书籍-《鸟哥的Linux的私房菜基础学习篇》鸟哥、许伟、林彩娥等编著-《Linux编程从入门到精通》宫虎波编著-《Linux内核完全剖析》赵炯编著6、关机命令shutdown -h now立即进行关机shutdown -r now现在重新启动计算机-t sec : -t后面加秒数,即”过几秒后关机”-k: 不是要真的关机,只是发送警告信息-r: 在将系统的服务停掉之后就重新启动-h: 将系统服务停掉后,立即关机-n: 不经过init程序,直接以shutdown关机-f: 关机并启动之后,强制略过fsck的磁盘检查-F: 系统重新启动之后,强制进行fsck的磁盘检查-c: 取消已经在进行的shutdown命令内容reboot 现在重新启动计算机7、用户登录登录时尽量少用root账户登录,因为它是系统管理员,最大的权限,难免操作失误。

可以利用普通用户登录,登录后再用“su -”命令来切换成系统管理员身份。

8、进入桌面(命令行界面进入图形界面)startx9、用户注销在提示符下输入logout即可。

10、vi进行开发java和c/c++程序-java程序-vi Hello.java-输入i,进入到插入模式,写好代码-输入Esc键,进入命令模式-输入冒号:[wq 表示退出保存,q!表示退出不保存]-编译javac Hello.java-运行java Hello-c程序-gcc o自定义文件名Hello.cpp[参数o表示可自定义生成的out文件名,否则默认为a. out]-./Hello[./是linux中的执行/运行命令]11、linux文件目录-/,根目录-root,存放root用户的相关文件-home,存放普通用户的相关文件-bin,存放常用命令的目录,如vi,su-sbin,要具有一定权限才可以使用命令-mnt,默认挂载光驱和软驱的目录-etc,存放配置的相关文件-var,存放经常变化的文件,如网络连接的sock文件-boot,存放引导系统启动的相关文件-usr,安装一个软件的默认目录,相当于windows下的program files注:pwd,显示当前工作目录pwd -p,显示出实际路径,而非使用link路径12、linux的用户管理-useradd用户名:添加用户-passwd用户名:为新用户设密码-userdel用户名:删除用户但保存其主目录userdel -r用户名,删除用户及其主目录注:logout,当前用户退出who am i,显示当前用户13、指定系统运行级别init [0123456],指定系统运行级别,类似windows的正常运行模式或安全模式。

mysql since用法 -回复

mysql since用法 -回复

mysql since用法-回复MySQL是一种开源的关系型数据库管理系统,广泛应用于各种规模的应用程序。

它具有强大的功能和良好的性能,能够支持大规模数据存储和高并发访问。

在MySQL中,"since"是一种用于筛选数据的条件语句,它可以帮助开发人员从数据库中获取特定范围的记录。

本文将以"mysql since用法"为主题,一步一步回答,并提供一些实际的示例。

第一部分:概述在开始之前,让我们先了解一下MySQL中"since"的基本概念和用法。

"since"是一种条件语句,用于在查询中筛选满足特定条件的记录。

它可以用于日期、时间和数字类型的字段,以及字符串类型的字段。

"since"可以与其他操作符(如等于、大于、小于等)结合使用,以实现数据的精确筛选。

接下来,我们将详细介绍"since"的用法。

第二部分:基本语法在MySQL中使用"since"条件语句时,需要使用SELECT语句。

SELECT 语句用于从数据库中返回满足条件的记录。

以下是基本的SELECT语句的语法:SELECT column1, column2, ...FROM table_nameWHERE condition;在上述语法中,"column1, column2, ..."表示要返回的列名,可以使用通配符(*)表示返回所有列。

"table_name"表示表名,"condition"表示筛选的条件。

下面是一个示例:SELECT *FROM usersWHERE created_at > '2022-01-01';上述示例中,我们从名为"users"的表中选择所有列,然后使用"since"条件语句筛选出创建时间在2022年1月1日之后的记录。

韩忠康第二版mysql视频教程笔记1-8课

韩忠康第二版mysql视频教程笔记1-8课

数据库系统DataBase System = 数据库管理系统(DBMS,DataBase Management System) + 数据库(DataBase) + 管理员DBS = DBMS + DB定义:对大量信息进行管理的高效解决方案,按照数据结构来组织、存储和管理数据的库是关系型数据库系统。

关系型数据库是建立在关系模型上的数据库系统。

数据库:Oracle,DB2,SQL ServerMySQL是由瑞典的 MySQL AB公司开发的,目前是Oracle(甲骨文)公司的一个关系型数据库产品(2008年MySQL AB 被Sun公司收购、2009年Sun公司又被Oracle收购)。

世界上最流行的开源数据库系统,功能足够强大,足以应付web应用。

他们都在用:百度,淘宝,校内网,腾讯,维基百科等!关系型数据(RDBS,RELATIONAL DBS)是建立在关系模型上的数据库系统。

关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据库系统,结构和实体关系。

非关系型数据库NoSQL。

Membase, MongoDB (类似与php的数组,通过下标标识,值任意格式)区别,通常关系数据库系统,要求具有相同的结构,而非关系型不一定要求。

关系模型:当将日常生活中的实体(学生),和实体的属性(学生的学号,姓名)保存到数据中时,应该如何处理该实体结构。

1,数据结构可以规定,同类数据,结构一致。

就是一个二维的表格。

2,数据之间的关系可以设置。

实体之间的联系。

Nosql Not only sql 是非关系型数据库系统,类型于数组。

mongoDB,MemBase是对象型数据库关系型数据库的典型概念:数据库databse:数据的仓库。

表table:数据是保存在表内,保存在一个表内的数据,应该具有相同的数据格式。

行&列:行用于记录数据,列用于规定数据格式。

记录:行内的数据字段:数据的某个列。

(完整word版)韩忠康第二版mysql视频教程笔记第三天

(完整word版)韩忠康第二版mysql视频教程笔记第三天

外键foreign key2013年4月17日星期三09:48概念:如果一个实体的(student)的某个字段(student:class_id),指向(引用)另个实体(class)的主键(class:class_id),就称 Student实体的class_id是外键。

被指向的实体,称之为主实体(主表),也叫父实体(父表)。

class负责指向的实体,称之为从实体(从表),也叫子实体(子表)。

Student作用:保证数据的完整性。

用于约束处于关系内的实体。

增加子表记录时,是否有与之对应的父表记录。

在删除或者更新主表记录时,从表应该如何处理相关的记录。

定义一个外键:在从表上,增加一个外键字段,指向主表的主键。

使用关键字foreign keyForeign Key (外键字段)references 主表名(关联字段) [主表记录删除时的动作] [主表记录更新时的动作]设置级联操作:在主表数据发生改变时,与之关联的从表数据应该如何处理:主表更新:主表删除:使用关键字:On updateOn delete 来标识。

允许的级联动作:Cascade:关联操作,如果主表被更新或删除,那么从表也会执行相应的操作。

Set null:设置为null,表示从表不指向任何主表记录。

Restrict:拒绝主表的相关操作。

修改这个外键:先删除,在新建。

通过修改表完成。

Alter table tbl_name drop foreign key 外键标识;删除外键需要通过指定外键名称达到目的:可以通过在创建外键时,制定名称,或者使用mysql默认生成的名称Alter table tbl_name add foreign key 外键定义Set null关联字段设置为空:测试删除:Cascade级联操作,执行对应的操作,删除后子数据也删除,更新后子数据也更新删除主表数据时,从表发生了删除:restrict测试On update指的是只有主表的主键发生变化,才会对从表反生影响restrict更新存在关联的主表数据的主键字段:存储引擎2013年4月17日星期三11:29表类型默认的服务器表类型,通过my.ini可以配置:default-storage-engine=INNODB在创建表,或者编辑表时,可以指定表的存储引擎:利用表属性:engine 引擎类型Engine myisamEngine innodb创建时,指定:Innodb & myisam区别保存的文件的方式不同:myisam,一个表,三个文件Tbl_name.frm 结构Tbl_name.myd 数据Tbl_name.myi 索引innodb:一个表一个文件:Tbl_name.frm 结构所有的innodb表,都使用相同的innodb存储表空间在保存数据和索引innoDB&myisam:数据和索引的保存的文件不同:MyISAM是分开保存,而innodb是保存到表空间MyIASM支持索引压缩,而Innodb索引和数据是绑定保存不压缩,体积大。

《MySQL必知必会》读书笔记

《MySQL必知必会》读书笔记

《MySQL必知必会》读书笔记⼀、了解MySQL1、什么是数据库?数据库是⼀种以某种有组织的⽅式存储的数据集合。

2、模式(schema):关于数据库和表的布局及特性的信息。

3、列:正确的将数据分解为多个列极为重要。

通过把它分解开,才有可能利⽤特定的列对数据进⾏排序和过滤。

4、主键(primary key):⼀列,其值能够唯⼀区分表中每个⾏,⽤来表⽰⼀个特定的⾏。

应该保证创建的每个表具有⼀个主键,以便于以后的数据操纵和管理。

5、外键:6、SQL语句不区分⼤⼩写,但是开发⼈员通常对所有SQL关键字⼤写,⽽对所有列和表名使⽤⼩写,这样做使代码更易于阅读和调试。

⼆、使⽤MySQL1、连接 mysql -h localhost -u root -p xxxx2、show命令:show databases;use databases;show tables;show columns from tablename; ==== describe tablename;show status; ⽤于显⽰⼴泛的服务器状态信息show create database databasename;show create table tablename; 分别⽤来显⽰创建特定数据库或表的MySQL语句。

show grants; ⽤来显⽰授予⽤户(所有⽤户或特定⽤户)的安全权限show errors; show warnings; ⽤来显⽰服务器错误或警告消息help show;显⽰允许的show语句MySQL 5⽀持⼀个新的Information_schema命令,可⽤它来获得和过滤模式信息。

三、检索数据1、select语句:为了检索数据,必须⾄少给出两条信息--想选择什么,从什么地⽅选。

select column from tablename; 检索单个列,如果未排序,返回的顺序可能是数据的添加顺序也可能不是。

select column1,column2 from tablename; 检索多个列select * from tablename; 检索所有列,除⾮你确实需要表中的每个列,否则最好别⽤*通配符。

数据库系统原理和应用教程第四版课后答案苗雪兰刘瑞新公开课获奖课件

数据库系统原理和应用教程第四版课后答案苗雪兰刘瑞新公开课获奖课件
18பைடு நூலகம்
第18页
3.24答案:C 3.25答案:C 3.26答案: C 3.27答案:C 3.28答案:B 3.29答案:B 3.30答案:B 3.31答案:D 3.32答案:B
3.33答案:B
3.34答案:B 3.35答案:C 3.36答案:B 3.37答案:A
19
第19页
20
第20页
3.10答:① E-R图是描述现实世界概念模型图形, E-R图也称为实体-联络图,提供了表达实体集、 属性和联络措施。 ② 构成E-R图基本要素是实体集、属性和联络。
9
第9页
3.11答:① 视图集成就是把设计好各子系统分E-R图综合成 一种系统总E-R图,同步消除属性冲突、命名冲突、构造冲 突,为关系数据库逻辑构造设计做准备。 ② 视图集成可以有两种措施:一种措施是多种分E-R图一 次集成;另一种措施是逐渐集成,用累加措施一次集成两 个分E-R图。
3.12答:① 逻辑构造设计是把概念模型构造转换成某个详 细DBMS所支持数据模型。 ② 逻辑构造设计环节为:把概念模型转换成一般数据模型; 将一般数据模型转换成特定DBMS所支持数据模型;通过 优化措施,将其转化为优化数据模型。
10
第10页
3.13答:① E-R图转换为网状模型措施为: 每个实体集转换成一种记录。 每个1:n二元联络转换成一种系,系方向由“1”方实体记录指向n方实体记录。 每个m:n二元联络,在转换时要引入一种连结记录,并形成两个系,系方向由实体记录
17
第17页
3.22答:概念模型如图12所示。
图中: 职工:职工号,姓名,住址 商品部:商品部号,名称 商品:商品代号,价格,型号,出厂价格 生产厂家:厂名,地址 关系模型为: 职工(职工号,姓名,住址,工作商品部); 商品部(商品部号,名称,经理职工号,经理名); 商品(商品代号,价格,型号,出厂价格); 生产厂家(厂名,地址); 销售(商品代号,商品部号); 生产(厂名,商品代号).

看韩顺平老师的视频自己写的mysql 笔记

看韩顺平老师的视频自己写的mysql 笔记

韩顺平mysqlMysql扩展库连接mysql数据库1 打开mysql2 show databases;显示数据库表 3.选表:use test;4,显示表的所有内容:select * from user2;5 删除指定表中的id:delete from user2 where id=4;今天出错的:单词:connect select 2,数字不用加引号‘’3注意,如果加双引号就成字符串了4,数据库和表需分清Mysql扩展库连接mysql数据库<?php//mysql扩展库操作mysql数据库步骤如下//获取连接php和数据库的连接$conn=mysql_connect("localhost:3306","root","nxiaowei");if(!$conn){die("连接失败".mysql_error());}//选择数据库mysql_select_db("test");//设置操作编码建议有mysql_query("set names utf8");//保证我们的程序是按照utf8码操作的//发送指令sql语句)(ddl语句数据定义语言dml语句数据操作语言dtl数据事物语句)$sql="select * from user2";//发送函数借助mysql_query函数$conn可有可无,如果有标明//我是用这个连接箱数据库发送这个$sql指令//$res表示结果集你可以简单的理解是一张表$res=mysql_query($sql,$conn);/接受结果并处理//mysql_fetch_row会依次取出$res结果集的数据赋值给$res//$res 是数组while($row=mysql_fetch_row($res)){//第一宗取法是通过$row[$i]//echo "$row[0]--$row[1]----$row[2]";//第二总取法foreach($row as $key=>$val){echo"$val";}echo "<br/>";}//关闭资源mysql_free_result($res);mysql_close($conn);?>Mysql创建表Create table user2( 创建一用户表user2id int primary key auto_increment, id让他自增长name varchar(32) not null, 名字可以给他放32字节不许为空passwordvarchar(64) not null, 密码可以给他放64字节不许为空email varchar(128) not null, email可以给他放128字节不许为空age tingint unsigned not null 年龄int型255最大无符号不许为空)加入数据insert into user2(name,password,email,age)values('yawei',md5('123456'),'sys@',20); insert into user2(name,password,email,age)values('北京‟,md5('123456'),'sys@',20); insert into user2(name,password,email,age)values('上海i',md5('123456'),'sys@',25); insert into user2(name,password,email,age)values('广州',md5('123456'),'sys@',245); insert into user2(name,password,email,age)values('纽约',md5('123456'),'sys@',24);通过mysql扩展库进行dml操作,,增删改查操作代码如下:<?php//演示对user2表进行增删除修改的操作$conn=mysql_connect("localhost:3306","root","nxiaowei");if(!$conn){die("操作错误".mysql_error());}mysql_select_db("test",$conn) or die (mysql_error());mysql_query("set names uft8");//添加数据//$sql="insert into user2(name,password,email,age)values('lisa',md5('123456'),'sdf@',30)"; //删除数据第4行//$sql="delete from user2 where id=4"//修改数据$sql="update user2 set age=100 where id=6";//如果是dml操作则返回bool$res=mysql_query($sql,$conn);if(!$res){die("添加失败".mysql_error());}//看看有几条数据if(mysql_affected_rows($conn)>0){echo "操作成功";}else{echo"没有影响到行数";}mysql_close($conn); ?>以上2个代码可以看出代码的复用性和可维护性不高,php编程中通常的作法是将对数据库的操作封装成一个工具类名字随意,主文件1:<?php//演示对user2表进行增删除修改的操作$conn=mysql_connect("localhost:3306","root","nxiaowei");if(!$conn){die("操作错误".mysql_error());}mysql_select_db("test",$conn) or die (mysql_error());mysql_query("set names uft8");$sql="update user2 set age=100 where id=6";//如果是dml操作则返回bool$sql="insert into user2(name,password,email,age)values('lisa',md5('123456'),'sdf@',30)";$res=mysql_query($sql,$conn);if(!$res){die("添加失败".mysql_error());}//看看有几条数据lisaif(mysql_affected_rows($conn)>0){echo "操作成功";}else{echo"没有影响到行数";}mysql_close($conn);?>文件2:<?phpclass myde{private$conn;private$host="localhost";private$user="root";private$password="nxiaowei";private $db="test";//写个构造函数function myde1(){$this->conn=mysql_connect($this->host,$this->user,$this->password);if(!$this->conn){die("操作失败".mysql_error());}mysql_select_db($this->db,$this->conn);mysql_query("set names uft8");}//完成selectpublic function test1($sql){$res=mysql_query($sql)or die(mysql_error());return $res;}//完成update delete insertpublic function test2($sql){$b=mysql_query($sql,$this->conn);if(!$b){return 0; //失败}else{if(mysql_affected_rows($this->conn)>0){return 1;//表示成功}else{return 2;//表示没有影响行数}}}}?>使用php的mysqli扩展库去操作mysql数据库简单介绍:mysqli是mysql的增强版,Mysql扩展库和mysqli扩展库的比较:1 mysqli稳定性,安全性效率有所提高2.mysqli支持面向对象编程,同时mysqli扩展库考虑到php老程序员,他也提供了面向过程的编程,Mysqli包含2套扩展库(一套面向对象一套面向过程)Mysql的sql语句的特别说明:如果操作的字段类型是字符串string型,则要求我们要使用“”抱起来,如果操作的字段类型是数值型,则可以用‘80’单引号或者不用单引号。

Mysql培训经典教程第四章

Mysql培训经典教程第四章

第4章M Y S Q L高级特性本章要点:集合函数与时间函数字符串的模式匹配如何创建索引检索数据中的一些技巧第三章向你初步介绍了SQL。

你学会了如何用SELECT语句进行查询,你还学会了如何建立自己的表以及如何录入数据等。

在这一章里,你将加深你SQL语言知识。

你将学习如何建立索引来加快查询速度。

你还将学会如果用更多的SQL语句和函数来操作表中的数据。

尤其是对检索语句SELECT的使用,其中技巧繁多,可以说这是SQL语言中最重要的语句,也是使用者最常使用的语句。

本章将详细介绍SELECT语句的用法。

无论如何,这里的介绍都不能包括SQL语言的所有技巧,读者应该在平时的不断使用中积累经验。

在线代理|网页代理|代理网页|减肥药排行榜|淘宝最好的减肥药|什么减肥药效果最好|减肥瘦身药|4.1 集合函数到现在为止,你只学习了如何根据特定的条件从表中取出一条或多条记录。

但是,假如你想对一个表中的记录进行数据统计。

例如,如果你想统计存储在表中的一次民意测验的投票结果。

或者你想知道一个访问者在你的站点上平均花费了多少时间。

要对表中的任何类型的数据进行统计,都需要使用集合函数。

你可以统计记录数目,平均值,最小值,最大值,或者求和。

当你使用一个集合函数时,它只返回一个数,该数值代表这几个统计值之一。

这些函数的最大特点就是经常和GROUP BY语句配合使用,需要注意的是集合函数不能和非分组的列混合使用。

4.1.1 行列计数计算查询语句返回的记录行数直接计算函数COUNT(*)的值,例如,计算pet表中猫的只数:mysql>SELECT count(*) FROM pet WHERE species=’cat’;+----------+| count(*) |+----------+| 2 |+----------+4.1.2统计字段值的数目例如,计算pet表中species列的数目:mysql> SELECT count(species) FROM pet;+----------------+| count(species) |+----------------+| 9 |+----------------+如果相同的种类出现了不止一次,该种类将会被计算多次。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Order by2013年4月19日星期五09:39校对规则,决定排序关系。

按照字段值进行排序Order by 字段升序|降序(asc|desc)默认升序,asc。

允许多字段排序,指的是,先按照第一个字段排序,如果说不能区分,才使用第二个字段。

以此类推。

注意,如果是分组,则应该使用对分组字段进行排序的groupby语法。

limit2013年4月19日星期五09:50限制获得的记录数量:limit的语法:Limit offset,row_countOffset 偏移量,从0开始。

可以省略,默认为0.Row_count总记录数,如果数量大于余下的记录数,则获取所有余下的即可:select * from teacher_class limit 3, 4; select * from teacher_class limit 5;select * from teacher_class limit 5, 100;distinct2013年4月19日星期五10:17去除重复记录:重复的记录,指的是,字段值都相同的记录,select days from teacher_class ;select distinct days from teacher_class ;select days, begin_date from teacher_class ; select distinct days, begin_date from teacher_class ;相对的是all,表示所有。

默认就是all行为。

Union2013年4月19日星期五10:26联合查询:将多条select语句的结果,合并到一起。

称之为联合操作。

获得2个班代课最多的老师:select t_name, days from teacher_class where c_name='php0115' order by days desc limit 1; select t_name, days from teacher_class where c_name='php0228' order by days desc limit 1;union联合使用union关键字联合两个加括号的select语句即可:(select t_name, days from teacher_class where c_name='php0115' order by days desc limit 1) union(select t_name, days from teacher_class where c_name='php0228' order by days desc limit 1)场景:获得数据的条件,出现逻辑冲突,或者很难在一个逻辑内表示,就可以拆分成多个逻辑,分别实现最后将结果合并到一起。

Union all:环境:1,获得0115班所有代课教师,结果按照代课天数升序排序,同时需要获得0228班,结果按照降序排序注意,如果union 的结果存在重复的记录,那么会消除重复.可以通过union选项all 达到不去重的目的。

子查询2013年4月19日星期五11:25场景:查询代课天数最多的哪个老师的信息。

select t_name, male from teacher_class order by days limit 1;逻辑没有问题:但是出现了代课天数一致最多(上表李白和韩信)的如何处理?不能是否有重复的,或者几个重复的。

无法确定有几个是代课天数最多的。

换个思路:先获得最多的代课天数是多少天,Select max(days) from teacher_class;再判读哪个老师的代课天数和最大值是一样的。

mysql允许将上面的查询结果,作为一个值来使用。

Var1 = Select max(days) from teacher_class;保存起来Select t_name, gender from teacher_class where days = var1;可以直接:Select t_name, gender from teacher_class where days = (Select max(days) from teacher_class);定义:语句内部的查询语句,就是子查询语句。

子查询分类,不同的分类,会有不同的使用方式:分类标准:子查询出现的位置:子查询的返回值形式:返回值分类:单一值,一列,多列,表(多行,多列)出现位置:where型,where后from型,from后。

exists型,不常用,相当于where型的一个特殊情况。

返回一行在参与比较时,使用括号可以构建一行:(filed1, field2)select t_name, gender, c_name from teacher_class where (gender, c_name) = (select distinct gender, c_name from teacher_class where t_name='李白' and c_name='php0115' limit 1);ExistsExists(subquery)判断依据:如果子查询的可以返回数据,则认为exists 表达式返回真。

否者,返回假。

下面的两个语句完成的是同样的事情:select * from teacher_class where exists (select * from teacher where teacher_class.id=t_id); select * from teacher_class where id in (select t_id from teacher);解决思路是不一样的:exists:先获得每一条teacher_class的数据,然后获得id字段,去teacher表内查找对应值,找到,说明符合条件。

in:先获得所有的id的可能性。

再在检索teacher_class数据时,判断当前的id是否在id集合内。

join2013年4月19日星期五15:07每个实体,一个表一个业务逻辑,使用多个实体的数据,多张表应该在一起使用,将多个表的记录连接起来。

如下面三个表:总体思路:将所有的数据,按照某种条件,连接起来,再进行筛选处理。

连接的分类:根据连接的条件不同,分类入如下:内连接外连接自然连接内链接的处理:内连接,在连接时,是可以省略连接条件的。

意味着,所有的左表的数据,都要与右表的记录做一个连接。

共存在MXN个连接这种连接,就称之为,交叉连接,或者笛卡尔积。

此时可以使用cross join 代替inner join。

可以通过多表查询,不使用where,做到笛卡尔积。

注意:mysql中crossjoin与innerjoin相同,但在数据库的定义上,交叉连接就是笛卡尔积。

是没有条件的innerjoin。

Mysql inner join是默认的连接方案,可以省略inner。

有条件的内连接:会在连接时过滤非法的连接。

where的写法:数据过滤,理解上,数据安装交叉连接连接完成后,再做数据过滤。

on的写法:在连接时,就对数据进行判断。

Using的写法。

Using 要求,负责连接的两个实体之间的字段名称,一致。

建议是,在有同名字段时,使用using ,而在通用条件时,使用on。

在数据过滤时(不是指的连接过滤)使用where。

注意,查询条件,与外连接通用(外连接,不能使用where作为连接条件);外连接:如果负责连接的一个或多个数据不真实存在,则称之为外连接Using:会去掉结果中的重复字段,并放在列前。

自然连接:通过mysql 自己的判断完成连接过程!不需要指定连接条件。

mysql会使用多表内的,相同的字段,作为连接条件。

自然连接分成内外之分:Array内,natural join外,左外,右外。

Natrual left joinNatrual right joinselect * from one natural join two;select * from one inner join two using (public_field);select * from one natural left join two;select * from one left join two using (public_field);select * from one natural right join two;select * from one right join two using (public_field); Join = inner joinCross join (交叉连接,mysql体现上insert join)连接时,支持多表连接:select s.*, si.* from info_class as c left join info_student as s on c.id=s.class_id left join info_student_info as si on s.id=si.id where c.class_name='php0331';Match left join class on match.host_id=class.id left join classOn match.guest_id=class.id作业Select h.class_name, g.class_name, m.match_time, m.match_resultFrom `match` as m left join class as h on m.host_id =h.id left join class as g onm.guest_id=g.id where m.match_time between '2013-04-01' and '2013-04-30';。

相关文档
最新文档