这里以学生 班级 身份证 以及课程为例

1,启动MySql数据库  开启服务

2.1.0新建一张班级表

备注:CHARSET = UTF8 (指定编码格式为utf8 防止中文乱码)

/*班级表*/
CREATE TABLE CLASS_INFO(
C_ID INT PRIMARY KEY,
CLASS_NAME VARCHAR(20) not NULL
)CHARSET = UTF8;

运行效果:

新建成功

2.1.1依次建好学生表(学生表有一个指向班级表的主键  以便做关联查询)

/*学生表*/
CREATE TABLE STUDENTS(
STU_ID INT AUTO_INCREMENT PRIMARY KEY NOT NULL,
STU_NAME VARCHAR(20) NOT NULL,
STU_AGE INT NOT NULL,
C_ID INT references CLASS_INFO(C_ID)
)CHARSET = UTF8;

2.1.2身份证表(身份证表有一个外键指向学生表的主键 以便做学生—身份证一对一查询)

/*身份证表*/
CREATE TABLE STU_CARD(
CARD_ID INT AUTO_INCREMENT PRIMARY KEY NOT NULL,
CARD_NUM VARCHAR(30) NOT NULL,
STU_ID INT REFERENCES STUDENTS(STU_ID)
)CHARSET = UTF8;
/*给STU_CARD列添加一个唯一约束 保证身份证跟学生是一对一的关系*/
ALTER TABLE STU_CARD ADD UNIQUE (STU_ID);

2.1.3课程表

/*课程表*/
CREATE TABLE COURSE(
COURSE_ID INT PRIMARY KEY NOT NULL,
COURSE_NAME VARCHAR(20) NOT NULL
)CHARSET = UTF8;

2.1.4 学生跟课程关联的中间表(多对多需要有一个中间表来维护2张表的关系)

/*关联学生和课程的中间表*/
CREATE TABLE COURSE_STU(
STU_ID INT references STUDENTS(STU_ID),
COURSE_ID INT REFERENCES COURSE(COURSE_ID)
)CHARSET = UTF8;

3.分别插入测试数据

3.1.0给班级表插入测试数据

INSERT INTO CLASS_INFO VALUES (1,'TEAM01');
INSERT INTO CLASS_INFO VALUES (2,'TEAM02');
INSERT INTO CLASS_INFO VALUES (3,'TEAM03');

3.1.1给学生表插入测试数据(学生id,学生姓名,年龄,该学生所在的班级)

INSERT INTO STUDENTS VALUES(1,'张三',12,1);
INSERT INTO STUDENTS VALUES(2,'李四',15,3);
INSERT INTO STUDENTS VALUES(3,'王五',15,2);
INSERT INTO STUDENTS VALUES(4,'赵六',16,2);
INSERT INTO STUDENTS VALUES(5,'小二',12,3);

3.1.2给身份证表插入测试数据(id,身份证号,身份证所关联的学生)

INSERT INTO STU_CARD VALUES(1,'',2);
INSERT INTO STU_CARD VALUES(2,'',1);
INSERT INTO STU_CARD VALUES(3,'',3);

3.1.3给课程表表插入测试数据(id,课程)

INSERT INTO COURSE VALUES(1,'语文');
INSERT INTO COURSE VALUES(2,'数学');
INSERT INTO COURSE VALUES(3,'英语');

3.1.4给学生—学科中间表插入测试数据(第一列指向学生ID , 第二列指向课程ID)

INSERT INTO COURSE_STU VALUES (1,1);
INSERT INTO COURSE_STU VALUES (2,2);
INSERT INTO COURSE_STU VALUES (2,3);
INSERT INTO COURSE_STU VALUES (3,2);

4.查出所有所建的表 以及 插入的数据

SELECT * FROM CLASS_INFO;
SELECT * from students;
SELECT * FROM STU_CARD;
SELECT * from COURSE;
SELECT * FROM COURSE_STU;

运行效果:

5.查询

5.1.1查出班级ID为2的所有学生信息

/* 查出班级ID为2的所有学生信息*/
SELECT * FROM STUDENTS S LEFT JOIN CLASS_INFO C ON S.C_ID=C.C_ID WHERE C.C_ID = 2;

运行效果:

5.1.2查询学生表的总记录数

/*查询学生表的总记录数*/
SELECT COUNT(*) FROM STUDENTS;

运行效果:

5.1.3查询班级id为2的总记录数

/*查询班级id为2的总记录数*/
SELECT COUNT(*) FROM STUDENTS S LEFT JOIN CLASS_INFO C ON S.C_ID=C.C_ID WHERE C.C_ID = 2;

运行效果:

5.1.4查出班级名称为TEAM01的所有学生信息

/* 查出班级名称为TEAM01的学生信息(班级,姓名,年龄)*/
SELECT C.CLASS_NAME, S.STU_NAME,S.STU_AGE FROM STUDENTS S LEFT JOIN CLASS_INFO C ON S.C_ID=C.C_ID WHERE C.CLASS_NAME='TEAM01';

运行效果:

5.1.5查出所有人以及所在的班级

/*查出所有人以及所在的班级*/
SELECT S.STU_NAME, C.CLASS_NAME FROM STUDENTS S LEFT JOIN CLASS_INFO C ON C.C_ID = S.C_ID;

运行效果:

5.1.6查询班级ID为2 的所有学生id 姓名 以及年龄

/*查询班级ID为2 的所有学生id 姓名 以及年龄*/
SELECT C.C_ID , C.CLASS_NAME, S.STU_NAME,S.STU_AGE FROM CLASS_INFO C LEFT JOIN STUDENTS S ON C.C_ID = S.C_ID WHERE S.C_ID= 2;

运行效果:

5.1.7查询班级ID为3 的班级名称 以及学生年龄  降序排列

/*查询班级ID为3 的班级名称 以及学生年龄  降序排列   升序ASC*/
SELECT C.CLASS_NAME, S.STU_NAME,S.STU_AGE FROM CLASS_INFO C LEFT JOIN STUDENTS S ON C.C_ID = S.C_ID WHERE C.C_ID=3 ORDER BY S.STU_AGE DESC;

运行效果:

5.1.8查询ID为1 的学生所在的班级(CLASS_INFO) 姓名 年龄(STUDENTS) 以及 身份证号(STU_CARD) 3表联查

/*查询ID为1 的学生所在的班级(CLASS_INFO) 姓名 年龄(STUDENTS) 以及 身份证号(STU_CARD) 3表联查*/
SELECT C.CLASS_NAME, S.STU_NAME,S.STU_AGE,CA.CARD_NUM FROM STU_CARD CA LEFT JOIN STUDENTS S ON CA.STU_ID=S.STU_ID LEFT JOIN class_info C ON C.C_ID=S.C_ID WHERE S.STU_ID = 1;

运行效果:

5.1.9右连接查询每个学生所选的每一门课程  以课程为基准

/*右连接查询每个学生所选的每一门课程  以课程为基准*/
SELECT * FROM STUDENTS S RIGHT JOIN COURSE_STU CS ON S.STU_ID = CS.STU_ID RIGHT JOIN COURSE C ON C.COURSE_ID = CS.COURSE_ID;

运行效果:

5.2.0右连接查询 学生ID 姓名 以及所选的课程

/*右连接查询 学生ID 姓名 以及所选的课程*/
SELECT S.STU_ID, S.STU_NAME,C.COURSE_NAME FROM STUDENTS S RIGHT JOIN COURSE_STU CS ON S.STU_ID = CS.STU_ID RIGHT JOIN COURSE C ON C.COURSE_ID = CS.COURSE_ID;

运行效果:

5.2.1查询所有学生ID 姓名 年龄(STUDENTS) 以及他所选的课程(3表联查)

/*查询所有学生ID 姓名 年龄(STUDENTS) 以及他所选的课程(3表联查)*/
SELECT S.STU_ID , S.STU_NAME,S.STU_AGE, C.COURSE_NAME FROM STUDENTS S LEFT JOIN COURSE_STU CS ON S.STU_ID = CS.STU_ID LEFT JOIN COURSE C ON C.COURSE_ID = CS.COURSE_ID;

运行效果:

5.2.2查询学生id为2的学生姓名 以及他所选的课程

/*查询学生id为2的学生姓名 以及他所选的课程*/
SELECT S.STU_NAME,C.COURSE_NAME FROM STUDENTS S LEFT JOIN COURSE_STU CS ON S.STU_ID = CS.STU_ID LEFT JOIN COURSE C ON C.COURSE_ID = CS.COURSE_ID WHERE S.STU_ID = 2;

运行效果:

5.2.3查询班级id为2 的学生姓名 所选的课程 以及所在的班级名称

/*查询班级id为2 的学生姓名 所选的课程 以及所在的班级名称*/
SELECT S.STU_NAME, C.COURSE_NAME,CL.CLASS_NAME FROM STUDENTS S LEFT JOIN COURSE_STU CS ON S.STU_ID = CS.STU_ID LEFT JOIN COURSE C ON C.COURSE_ID = CS.COURSE_ID LEFT JOIN CLASS_INFO CL ON CL.C_ID=S.C_ID WHERE CL.C_ID=2;

运行效果:

5.2.4查询所有学生的学生身份证信息,身份证信息,班级信息

/*查询所有学生的学生身份证信息,身份证信息,班级信息*/
SELECT * FROM STUDENTS S LEFT JOIN STU_CARD CA ON S.STU_ID = CA.STU_ID RIGHT JOIN CLASS_INFO C ON S.C_ID = C.C_ID;

运行效果:

5.2.5  4表联查 学生信息,课程信息 班级信息 身份证信息

/*4表联查 学生信息,课程信息 班级信息 身份证信息*/
SELECT * FROM STUDENTS S RIGHT JOIN COURSE_STU CS ON S.STU_ID = CS.STU_ID LEFT JOIN COURSE C ON C.COURSE_ID = CS.COURSE_ID LEFT JOIN CLASS_INFO CI ON CI.C_ID=S.C_ID LEFT JOIN STU_CARD SC ON SC.STU_ID = S.STU_ID; 

运行效果:

5.2.6  5张表联查  查出学生姓名 他所在的班级 所选的课程 以及该学生的身份证号

/*5张表联查  查出学生姓名 他所在的班级 所选的课程 以及该学生的身份证号*/
SELECT S.STU_NAME,CI.CLASS_NAME,C.COURSE_NAME,SC.CARD_NUM FROM STUDENTS S RIGHT JOIN COURSE_STU CS ON S.STU_ID = CS.STU_ID LEFT JOIN COURSE C ON C.COURSE_ID = CS.COURSE_ID LEFT JOIN CLASS_INFO CI ON CI.C_ID=S.C_ID LEFT JOIN STU_CARD SC ON SC.STU_ID = S.STU_ID;

运行效果:

5.2.7  5张表联查  查出学生ID为2的学生姓名 他所在的班级 所选的课程 以及该学生的身份证号

/*5张表联查  查出学生ID为2的学生姓名 他所在的班级 所选的课程 以及该学生的身份证号*/
SELECT S.STU_NAME,CI.CLASS_NAME,C.COURSE_NAME,SC.CARD_NUM FROM STUDENTS S RIGHT JOIN COURSE_STU CS ON S.STU_ID = CS.STU_ID LEFT JOIN COURSE C ON C.COURSE_ID = CS.COURSE_ID LEFT JOIN CLASS_INFO CI ON CI.C_ID=S.C_ID LEFT JOIN STU_CARD SC ON SC.STU_ID = S.STU_ID WHERE S.STU_ID=2; 

运行效果:

全部建表语句 以及 查询语句如下:

drop TABLE students
drop table CLASS_INFO
drop table course
drop table stu_card;
drop table COURSE_STU; /*学生表*/
CREATE TABLE STUDENTS(
STU_ID INT AUTO_INCREMENT PRIMARY KEY NOT NULL,
STU_NAME VARCHAR(20) NOT NULL,
STU_AGE INT NOT NULL,
C_ID INT references CLASS_INFO(C_ID)
)CHARSET = UTF8; /*班级表*/
CREATE TABLE CLASS_INFO(
C_ID INT PRIMARY KEY,
CLASS_NAME VARCHAR(20) not NULL
)CHARSET = UTF8; /*身份证表*/
CREATE TABLE STU_CARD(
CARD_ID INT AUTO_INCREMENT PRIMARY KEY NOT NULL,
CARD_NUM VARCHAR(30) NOT NULL,
STU_ID INT REFERENCES STUDENTS(STU_ID)
)CHARSET = UTF8;
/*给STU_CARD列添加一个唯一约束 保证身份证跟学生是一对一的关系*/
ALTER TABLE STU_CARD ADD UNIQUE (STU_ID); /*课程表*/
CREATE TABLE COURSE(
COURSE_ID INT PRIMARY KEY NOT NULL,
COURSE_NAME VARCHAR(20) NOT NULL
)CHARSET = UTF8; /*关联学生和课程的中间表*/
CREATE TABLE COURSE_STU(
STU_ID INT references STUDENTS(STU_ID),
COURSE_ID INT REFERENCES COURSE(COURSE_ID)
)CHARSET = UTF8; INSERT INTO CLASS_INFO VALUES (1,'TEAM01');
INSERT INTO CLASS_INFO VALUES (2,'TEAM02');
INSERT INTO CLASS_INFO VALUES (3,'TEAM03'); INSERT INTO STUDENTS VALUES(1,'张三',12,1);
INSERT INTO STUDENTS VALUES(2,'李四',15,3);
INSERT INTO STUDENTS VALUES(3,'王五',15,2);
INSERT INTO STUDENTS VALUES(4,'赵六',16,2);
INSERT INTO STUDENTS VALUES(5,'小二',12,3); INSERT INTO STU_CARD VALUES(1,'',2);
INSERT INTO STU_CARD VALUES(2,'',1);
INSERT INTO STU_CARD VALUES(3,'',3);
INSERT INTO STU_CARD VALUES(4,'',3); INSERT INTO COURSE VALUES(1,'语文');
INSERT INTO COURSE VALUES(2,'数学');
INSERT INTO COURSE VALUES(3,'英语'); INSERT INTO COURSE_STU VALUES (1,1);
INSERT INTO COURSE_STU VALUES (2,2);
INSERT INTO COURSE_STU VALUES (2,3);
INSERT INTO COURSE_STU VALUES (3,2); SELECT * FROM CLASS_INFO;
SELECT * from students;
SELECT * FROM STU_CARD;
SELECT * from COURSE;
SELECT * FROM COURSE_STU; DELETE FROM STU_CARD WHERE CARD_ID = 4;
DELETE FROM COURSE_STU WHERE COURSE_ID = 3;
/* 查出班级ID为2的所有学生信息*/
SELECT * FROM STUDENTS S LEFT JOIN CLASS_INFO C ON S.C_ID=C.C_ID WHERE C.C_ID = 2; /*查询学生表的总记录数*/
SELECT COUNT(*) FROM STUDENTS; /*查询班级id为2的总记录数*/
SELECT COUNT(*) FROM STUDENTS S LEFT JOIN CLASS_INFO C ON S.C_ID=C.C_ID WHERE C.C_ID = 2; /* 查出班级名称为TEAM01的所有学生信息*/
SELECT C.CLASS_NAME, S.STU_NAME,S.STU_AGE FROM STUDENTS S LEFT JOIN CLASS_INFO C ON S.C_ID=C.C_ID WHERE C.CLASS_NAME='TEAM02'; /*查出所有人以及所在的班级*/
SELECT S.STU_NAME, C.CLASS_NAME FROM STUDENTS S LEFT JOIN CLASS_INFO C ON C.C_ID = S.C_ID; /*查询班级ID为2 的所有学生id 姓名 以及年龄*/
SELECT C.C_ID , C.CLASS_NAME, S.STU_NAME,S.STU_AGE FROM CLASS_INFO C LEFT JOIN STUDENTS S ON C.C_ID = S.C_ID WHERE S.C_ID= 2; /*查询班级ID为1 的班级名称 以及学生年龄 降序排列 升序ASC*/
SELECT C.CLASS_NAME, S.STU_NAME,S.STU_AGE FROM CLASS_INFO C LEFT JOIN STUDENTS S ON C.C_ID = S.C_ID WHERE C.C_ID=3 ORDER BY S.STU_AGE DESC; /*查询ID为1 的学生所在的班级(CLASS_INFO) 姓名 年龄(STUDENTS) 以及 身份证号(STU_CARD) 3表联查*/
SELECT C.CLASS_NAME, S.STU_NAME,S.STU_AGE,CA.CARD_NUM FROM STU_CARD CA LEFT JOIN STUDENTS S ON CA.STU_ID=S.STU_ID LEFT JOIN class_info C ON C.C_ID=S.C_ID WHERE S.STU_ID = 1; /*右连接查询每个学生所选的每一门课程 以课程为基准*/
SELECT * FROM STUDENTS S RIGHT JOIN COURSE_STU CS ON S.STU_ID = CS.STU_ID RIGHT JOIN COURSE C ON C.COURSE_ID = CS.COURSE_ID; /*右连接查询 学生ID 姓名 以及所选的课程*/
SELECT S.STU_ID, S.STU_NAME,C.COURSE_NAME FROM STUDENTS S RIGHT JOIN COURSE_STU CS ON S.STU_ID = CS.STU_ID RIGHT JOIN COURSE C ON C.COURSE_ID = CS.COURSE_ID;
/*查询所有学生ID 姓名 年龄(STUDENTS) 以及他所选的课程(3表联查)*/
SELECT S.STU_ID , S.STU_NAME,S.STU_AGE, C.COURSE_NAME FROM STUDENTS S LEFT JOIN COURSE_STU CS ON S.STU_ID = CS.STU_ID LEFT JOIN COURSE C ON C.COURSE_ID = CS.COURSE_ID;
/*查询学生id为2的学生姓名 以及他所选的课程*/
SELECT S.STU_NAME,C.COURSE_NAME FROM STUDENTS S LEFT JOIN COURSE_STU CS ON S.STU_ID = CS.STU_ID LEFT JOIN COURSE C ON C.COURSE_ID = CS.COURSE_ID WHERE S.STU_ID = 2; /*查询班级id为2 的学生姓名 所选的课程 以及所在的班级名称*/
SELECT S.STU_NAME, C.COURSE_NAME,CL.CLASS_NAME FROM STUDENTS S LEFT JOIN COURSE_STU CS ON S.STU_ID = CS.STU_ID LEFT JOIN COURSE C ON C.COURSE_ID = CS.COURSE_ID LEFT JOIN CLASS_INFO CL ON CL.C_ID=S.C_ID WHERE CL.C_ID=2; /*查询学生ID为2的所有学生信息(学生表+身份证表+班级表)*/
SELECT * FROM STUDENTS S LEFT JOIN STU_CARD CA ON S.STU_ID = CA.STU_ID LEFT JOIN CLASS_INFO C ON S.C_ID = C.C_ID WHERE S.STU_ID = 2; /*查询所有学生的学生身份证信息,身份证信息,班级信息*/
SELECT * FROM STUDENTS S LEFT JOIN STU_CARD CA ON S.STU_ID = CA.STU_ID RIGHT JOIN CLASS_INFO C ON S.C_ID = C.C_ID; /*查询班级名称为TEAM02的所有学生的学生身份证信息,身份证信息,班级信息*/
SELECT * FROM STUDENTS S LEFT JOIN STU_CARD CA ON S.STU_ID = CA.STU_ID RIGHT JOIN CLASS_INFO C ON S.C_ID = C.C_ID WHERE C.CLASS_NAME='TEAM02'; /*4表联查 学生信息,课程信息 班级信息 身份证信息*/
SELECT * FROM STUDENTS S RIGHT JOIN COURSE_STU CS ON S.STU_ID = CS.STU_ID LEFT JOIN COURSE C ON C.COURSE_ID = CS.COURSE_ID LEFT JOIN CLASS_INFO CI ON CI.C_ID=S.C_ID LEFT JOIN STU_CARD SC ON SC.STU_ID = S.STU_ID; /*5张表联查 查出学生姓名 他所在的班级 所选的课程 以及该学生的身份证号*/
SELECT S.STU_NAME,CI.CLASS_NAME,C.COURSE_NAME,SC.CARD_NUM FROM STUDENTS S RIGHT JOIN COURSE_STU CS ON S.STU_ID = CS.STU_ID LEFT JOIN COURSE C ON C.COURSE_ID = CS.COURSE_ID LEFT JOIN CLASS_INFO CI ON CI.C_ID=S.C_ID LEFT JOIN STU_CARD SC ON SC.STU_ID = S.STU_ID; /*5张表联查 查出学生ID为2的学生姓名 他所在的班级 所选的课程 以及该学生的身份证号*/
SELECT S.STU_NAME,CI.CLASS_NAME,C.COURSE_NAME,SC.CARD_NUM FROM STUDENTS S RIGHT JOIN COURSE_STU CS ON S.STU_ID = CS.STU_ID LEFT JOIN COURSE C ON C.COURSE_ID = CS.COURSE_ID LEFT JOIN CLASS_INFO CI ON CI.C_ID=S.C_ID LEFT JOIN STU_CARD SC ON SC.STU_ID = S.STU_ID WHERE S.STU_ID=2;

基于MySql数据库的单表与多表联合查询的更多相关文章

  1. 基于Mysql数据库亿级数据下的分库分表方案

    移动互联网时代,海量的用户数据每天都在产生,基于用户使用数据的用户行为分析等这样的分析,都需要依靠数据都统计和分析,当数据量小时,问题没有暴露出来,数据库方面的优化显得不太重要,一旦数据量越来越大时, ...

  2. MySQL数据库之单表查询中关键字的执行顺序

    目录 MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 2 执行顺序 3 关键字使用语法 MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 select distinct from ...

  3. MySQL数据库语法-单表查询练习

    MySQL数据库语法-单表查询练习 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客主要是对聚合函数和分组的练习. 一.数据表和测试数据准备 /* @author :yinz ...

  4. 在Jena框架下基于MySQL数据库实现本体的存取操作

    在Jena框架下基于MySQL数据库实现本体的存取操作 转自:http://blog.csdn.net/jtz_mpp/article/details/6224311 最近在做一个基于本体的管理系统. ...

  5. canal 基于Mysql数据库增量日志解析

    canal 基于Mysql数据库增量日志解析  1.前言  最近太多事情 工作的事情,以及终身大事等等 耽误更新,由于最近做项目需要同步监听 未来电视 mysql的变更了解到公司会用canal做增量监 ...

  6. 在mysql数据库中制作千万级测试表

    在mysql数据库中制作千万级测试表 前言: 最近准备深入的学一下mysql,包括各种引擎的特性.性能优化.分表分库等.为了方便测试性能.分表等工作,就需要先建立一张比较大的数据表.我这里准备先建一张 ...

  7. mysql数据库delete数据时不支持表别名!!!

    mysql数据库delete数据时不支持表别名!!! mysql delete时候 提示语法错误!如下sql: 去掉 表别名的时候: 正确的写法例如: DELETE FROM COMMENTS_REP ...

  8. MYSQL数据库类型与JAVA类型对应表

    MYSQL数据库类型与JAVA类型对应表   MYSQL数据库类型与JAVA类型对应表 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型 索引(int) VARCHAR L+N VARCHA ...

  9. mysql数据库,当数据类型是float时,查询居然查询不出数据来

    mysql数据库,当数据类型是float时,查询居然查询不出数据来,类似如下: 以后mysql数据库不用float类型,而double类型可以查得出来.

随机推荐

  1. js-script标签放在的位置

    * 建议把script标签放到</body>后面 * 如果现在有这样一个需求 在js里面需要获取到input里面的值,如果把script标签放到head里面,会出现问题.HTML解析是从上 ...

  2. HTML——基本html标签

    基本html标签 <html> ... </html>  定义HTML文档 <head> ... </head>  文档的信息 <meta /&g ...

  3. com.alibaba.fastjson.JSONObject循环给同一对象赋值会出现"$ref":"$[0]"现象问题

    1.今天定义了一个JSONObject对象,引用的com.alibaba.fastjson.JSONObject,循环给这个对象赋值出现"$ref":"$[0]" ...

  4. C# 注释&SQL注释

    SQL注释: 1.单行注释:--单行注释 2.多行注释:/*多行 注释*/ C#注释: 1.单行注释://单行注释 2.多行注释:/*多行 注释*/ 3.说明注释:///<summary> ...

  5. C++学习笔记(5)----重载自增自减运算符

    自增运算符“++”和自减运算符“--”分别包含两个版本.即运算符前置形式(如 ++x)和运算符后置形式(如 x++),这两者进行的操作是不一样的.因此,当我们在对这两个运算符进行重载时,就必须区分前置 ...

  6. Totem协议(SRP/RRP)讲解

    基本概念 •SRP:  The Totem Single-Ring Ordering and MembershipProtocol            –基于以太网的组通信协议,节点间组成单环结构 ...

  7. MySQL两个表联合查询并按时间排序

    有一张资金记录表,一张金币记录表,想以时间为单位,降序合并排列他们之间的信息,查询SQL如下: select * from (select * from t_money_logs union sele ...

  8. Windows ->> Windows下安装MSI程序遇到2503和2502错误

    三个步骤可以解决这个问题: 1) 以管理员身份开启命令行模式并键入msiexec /package <msi文件路径> 2) 修改组策略 计算机配置 ->> 管理模板 -> ...

  9. Python 爬虫 获取标签下面的子标签

    thr_msgs = soup.find_all('div',class_=re.compile('msg')) for i in thr_msgs: print(i) first = i.selec ...

  10. Python初学者第十五天 文件处理3

    ---恢复内容开始--- 15day 1.智能检测文件编码: 1.1 导入第三方工具箱:chardet import chardet f = open('log',mode='rb') data = ...