day20

关联查询

#左连接:表名 left join 表名 以左表为主表,只显示与左表能匹配的行
SELECT s.*,q.* FROM student AS s LEFT JOIN queue_info AS q ON s.q_id = q.id;
#右链接:以右边的表为主表,只显示与右表能匹配的行
SELECT s.*,q.* FROM student AS s RIGHT JOIN queue_info AS q ON s.q_id = q.id;
#内连接:只显示两边都能匹配上的行
SELECT s.*,q.`name` FROM student AS s INNER JOIN queue_info AS q ON s.q_id = q.id;

多表联查

#多表联查:和内连接差不多,都是只显示多表都能匹配上的行,只有查询的语法不同
SELECT s.*,q.* FROM student AS s,queue_info AS q WHERE s.q_id = q.id;

子查询in

//查询出的结果被用到另一个查询语句中
select*from student where q_id in(
select id from queue_info
)

合并结果集(联合查询)union

用于合并两个或者多个select语句的结果集

1 union不允许出现重复的字段组合.即union 会剔除重复的行;(去除重复的字段组合)

2 如果要允许出现重复的行,应该使用union all,即union all会列出全部的行;

注意:

union内部的每个select都必须拥有相同数量的列,列也必须拥有相似的数据类型,同时,每个select语句中的列顺序也必须相同

select c1,c2... from table1
union
select c3,c4... from table2;

数据库定义语言DDL

1 创建表 CREATE TABLE [table_name]

# PRIMARY KEY 声明主键
# ENGINE=InnoDB 声明数据库引擎
# AUTO_INCREMENT=1 声明主键自增的起始值从1开始
# CHARSET=utf8 声明字符编码
# COMMENT 字段注释
CREATE TABLE user_info(
id int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
user_name VARCHAR(55) NOT NULL COMMENT '用户名',
pass_word VARCHAR(255) NOT NULL COMMENT '密码',
type INT DEFAULT 0 COMMENT '用户类型 0-普通用户 1-管理员',
PRIMARY KEY(id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
COMMENT '用户信息表';

2 删除表DROP TABLE

DROP TABLE user_info;

3 修改字段MODIFY COLUMN

# modify修改,修改表中某一字段的数据类型、长度、默认值、注释等
ALTER TABLE user_info
MODIFY COLUMN pass_word int(20) NOT NULL COMMENT '密码';

4 添加表字段ADD COLUMN

ALTER TABLE user_info
ADD COLUMN create_time datetime DEFAULT now() COMMENT '创建日期';

5 字段重命名CHANGE

# ALTER TABLE [table_name] CHANGE [old_column_name] [new_column_name] [data_type];
ALTER TABLE user_info
CHANGE old_type new_type INT DEFAULT 0 COMMENT '用户类型 0-普通用户 1-管理员';

6 删除字段

ALTER TABLE table_name
DROP COLUMN column_name;

day20 关联查询与多表联查 & 子查询与union联合查询 & 数据库定义语言DDL的更多相关文章

  1. [办公自动化] 再读《让EXCEL飞》(从excel导入access数据时,union联合查询,数据源中没有包含可见的表格)

    一年多以前就买了@Mrexcel的<让excel飞>这本书.整体思路是利用access结合excel,大幅度提高数据分析效率. 最近又拿出来看了看.第十五章,比高级筛选更“高级”,P241 ...

  2. MySQL进阶11--DDL数据库定义语言--库创建/修改/删除--表的创建/修改/删除/复制

    /*进阶 11 DDL 数据库定义语言 库和表的管理 一:库的管理:创建/修改/删除 二:表的管理:创建/修改/删除 创建: CREATE DATABASE [IF NOT EXISTS] 库名; 修 ...

  3. MySQL:记录的增删改查、单表查询、约束条件、多表查询、连表、子查询、pymysql模块、MySQL内置功能

    数据操作 插入数据(记录): 用insert: 补充:插入查询结果: insert into 表名(字段1,字段2,...字段n) select (字段1,字段2,...字段n) where ...; ...

  4. 【授课录屏】JavaScript高级(IIFE、js中的作用域、闭包、回调函数和递归等)、MySQL入门(单表查询和多表联查)、React(hooks、json-server等) 【可以收藏】

    一.JavaScript授课视频(适合有JS基础的) 1.IIFE 2.js中的作用域 3.闭包 4.表达式形式函数 5.回调函数和递归 资源地址:链接:https://pan.baidu.com/s ...

  5. 02-2--数据库MySQL:DDL(Data Definition Language:数据库定义语言)操作数据库中的表(二)

    DDL对数据库的操作:http://blog.csdn.net/baidu_37107022/article/details/72334560 DDL对数据库中表的操作 1)方法概览 2)演示 //创 ...

  6. VBA+SQL transform pivot union联合查询的基础应用

    Sub 项目状态查询() '如果“项目状态”是未转运营那么实施状态是不能选择的,因为还没有实施.'如果“项目状态”选择状态后,那么项目名称里面只显示该状态的项目名称.如果“项目状态”选择的不是未转运营 ...

  7. SqlSever基础 union 联合查询,厉害的并集 重复项只显示一个 两个查询结果并在一起后排序

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

  8. MySQL开发——【联合查询、多表连接、子查询】

    联合查询 所谓的联合查询就是将满足条件的结果进行拼接在同一张表中. 基本语法: select */字段 from 数据表1 union [all | distinct] select */字段 fro ...

  9. mysql数据库中的多表查询(内连接,外连接,子查询)

    用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). MySQL版 ...

  10. MySQL (六)--外键、联合查询、子查询

    1 外键 外键:foreign key,外面的键(键不在自己表中),如果一张表中有一个字段(非主键)指向另外一张表的主键,那么将该字段称为外键. 1.1 增加外键 外键可以在创建表的时候或创建表之后增 ...

随机推荐

  1. Spring入门(二):SpringBoot之基础Web开发

    接上回 现在,我们已经能自行完成SpringBoot的初级项目搭建了,接下来看如何实现一些Web开发中的基础功能. 先看项目完整的目录结构: 1. 返回Json数据 创建model文件夹,并新建Per ...

  2. Elastic:为Elastic Docker部署设置安全

    文章转载自:https://elasticstack.blog.csdn.net/article/details/105710973 创建docker-compose.yml 在之前的教程中,那里使用 ...

  3. tcmalloc 动态库替换(CentOS 操作系统)

    Ceph 14.2.8版本中tcmalloc存在内存泄漏的问题,需要将tcmalloc pagesize调整为64,重新编译,替换tcmalloc动态库,该操作在三个Ceph存储节点上均需要执行. 步 ...

  4. AlertManager企业微信报警,时间是UTC时间,错8个小时的两种解决办法

    第一种 {{ (.StartsAt.Add 28800e9).Format "2020-01-02 15:04:05" }} 或者是 {{ ($alert.StartsAt.Add ...

  5. 容器监控工具WeaveScope初步安装,了解

    Weave Scope是Docker和Kubernetes的可视化和监视工具.它提供了自上而下的应用程序视图以及整个基础架构视图,并允许您实时诊断将分布式容器化应用程序部署到云提供商时遇到的任何问题. ...

  6. js从数组中找到某个对象

    handel(ide) { let that = this; console.log(that.goodCaseList); let detailData = that.goodCaseList.fi ...

  7. Activate MFA报错:MFADevice entity at the same path and name already exists

    MFA即:Multi-factor authentication (MFA) 今天在为自己账号Activate MFA时报错,如下图所示: Entity already exists This ent ...

  8. OSS对象存储

    OSS对象存储 当项目以微服务搭建时,多个服务往往运行在多台服务器上,此时针对存储文件的获取和保存,难以确定具体的位置: 针对这个问题,一般有两个办法: 搭建独立的文件存储服务器,用 FastDFS等 ...

  9. 驱动开发:内核通过PEB得到进程参数

    PEB结构(Process Envirorment Block Structure)其中文名是进程环境块信息,进程环境块内部包含了进程运行的详细参数信息,每一个进程在运行后都会存在一个特有的PEB结构 ...

  10. ifram父页面、子页面元素及方法的获取调用

    page1 父页面 <div id="ifram" class="parent1"> <iframe frameborder="0& ...