MySql基本的多表操作

多表操作

交叉查询(笛卡尔积查询):

#A表中的每一条记录都对应B表中的所有记录,所以,A和B的交叉查询的条目数即为:A条目数*B条目数

语法:

select 列名 from A cross join B where 条件

select 列名 from A,B where 条件

内查询

#A表与B表有主外键关系时,查询外键所对应的主键条目

语法:

select 列名 from A inner join B on(A.外键 = B.主键);#显式内查询

select 列名 from A,B where 条件 ;#隐式内查询

外查询——左外查询

#左外查询即在左外查询关键字的左边的所有条目全部列出

select 列名 from A left join B on(A.外键 = B.主键);

外查询——右外查询

#右外查询即在查询关键字的右边的所有条目全部列出

select 列名 from A right join B on(A.外键 = B.主键);

联合查询

#使用union将两个select的结果想加,并且合并相同结果;

(select 语句1) union (select 语句2);

子查询

#在一个select的查询语句中的where后面再跟上一个select查询语句

select 列名 from 表名 where 字段名 on (select语句);

分组查询

#使用group by将需要需要分组的列放进去,里面还可以跟上having作为分组后的查询条件

select 列名 from 表名 where 条件 group by 列名 having 条件

聚合函数

#使用函数进行一些必要的统计

count() max() min() sum() avg()

时间: 2024-11-23 13:46:28

MySql基本的多表操作的相关文章

Python数据库操作 MySQL数据库与数据表操作#学习猿地

# MySQL数据库与数据表操作 + 数据库的操作 + 数据库创建 + 数据库删除 + 数据表的操作 + 数据表的创建 + 数据表的修改 (表结构) + 数据表的删除 ### 数据库的操作 #### 1.数据库的创建 ```mysql # 链接mysql数据库后,进入mysql后可以操作数据 # 1. 创建库 create database if not exists tlxy default charset=utf8: -- 1. 数据库 tlxy 如果不存在则创建数据库,存在则不创建 --

Python中使用SQLAlchemy连接Mysql数据库(单表操作)

一,SQLAlchemy的安装 使用 $ easy_install sqlalchemy 或 $ pip install sqlalchemy 如果出现什么错,就进去root用户下进行安装试试,或者网上查查 >>> import sqlalchemy >>> 这样说明成功了,切记是小写哦 二,使用 理论我也不懂,自己查查资料,现在用一个小的案例说一下使用步骤 1,在进行数据操作之前要先连上数据库. >>> from sqlalchemy import

MySql 数据库、数据表操作

数据库操作 创建数据库 语法 语法一:create database 数据库名 语法二:create database 数据库名 character set 字符集; 查看数据库 语法 查看数据库服务器中的所有的数据库:show databases; 查看某个数据库的定义的信息:show create database 数据库名; 删除数据库 语法(慎用) drop database 数据库名称; 其他数据库操作命令 语法 切换数据库:use 数据库名; 查看正在使用的数据库:select da

MYSQL基础笔记(三)-表操作基础

数据表的操作 表与字段是密不可分的. 新增数据表 1 Create table [if not exists] 表名( 2 字段名 数据类型, 3 字段名 数据类型, 4 字段n 数据类型 --最后一行不需要加逗号 5 )[表选项]; If not exists:如果表名不存在,那么就创建,否则不执行创建代码,实现检查功能. 表选项:控制表的表现 1.字符集:charset/character 具体字符集:--保证表中数据存储的字符集. 2.校对集:collate 具体校对集: 3.存储引擎:e

MyBatis实现Mysql数据库分库分表操作和总结

阅读目录 前言 MyBatis实现分表最简单步骤 分离的方式 分离的策略 分离的问题 分离的原则 实现分离的方式 总结 前言 作为一个数据库,作为数据库中的一张表,随着用户的增多随着时间的推移,总有一天,数据量会大到一个难以处理的地步.这时仅仅一张表的数据就已经超过了千万,无论是查询还是修改,对于它的操作都会很耗时,这时就需要进行数据库切分的操作了. MyBatis实现分表最简单步骤 既然文章的标题都这么写了,不如直接上干货来的比较实际,我们就先来看看如何实现最简单的分表. 1.我们模拟用户表数

Mysql笔记4数据表操作1

1查看表的结构 (1)show create table +数据库名称 (2)desc+数据库名称 2修改表 (1)表中添加列 alter table 数据库名称 add column addr varchar(20)//添加地址列 (2)修改表某列扥类型 alter table 数据库名称 modify column sname varchar(20) (3)修改某一列的名称 alter table 数据库名称 change addr work_add varchar(20) (4)修改表的名

mysql基本认识【关系型数据库和nosql、mysql操作流程和体系,库操作,表操作,数据的操作,字符集的操作,以及php作为client操作数据库】对连接本身没有疑问

1.关系型数据库永久性保存数据的仓库php的变量只是php脚本执行期间,临时性保存变量的空间[使用内存空间临时保存] 关系型数据库:利用二者的关系来描述实体的信息.[利用二维表字段名和字段值来进行描述][关系型数据库根本不是可以使用外键将两个表构建成关联的意思,而是实现描述实体的二维表的形式] nosql:not only sql[sql表示操作关系型数据的语言]所以nosql指的就是非关系型数据库[典型的是键值对型的数据(redis.memcache)][nosql可以视情况添加信息,不需要对

mysql数据库表操作及授权

表操作:增删改查 把/etc/passwd文件的内容导入 passwd表里. mysql>load data infile"/etc/passwd" into table passwd fields terminated by ":"; 基于前面的passwd表,完成下列操作: 1:列出uid低于500且3个字母的用户 mysql> select name from passwd where uid<500 and name like "

mysql数据库学习(二)--表操作

一.表操作 以下内容都是自己学习的时候看过的一些知识,作为笔记记录一下吧,大部分都是所看文章的内容. 1.创建表 前面的基础篇笔记是相当于搭建了一个方便管理的文件夹树根,下面要学习的是一些关于表的知识,相当于树上的叶子吧! create table 表名( 列名 类型 是否可以为空, 列名 类型 是否可以为空 )ENGINE=InnoDB DEFAULT CHARSET=utf8: 下面这两个变量是: ENGINE :存储引擎 charset:字符集 是否可空,null表示空,非字符串 not