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. 2020年12月-第01阶段-前端基础-HTML CSS 项目阶段(二)

    品优购项目(二) 1. 品优购首页布局 命名集合: 名称 说明 快捷导航栏 shortcut 头部 header 标志 logo 购物车 shopcar 搜索 search 热点词 hotwrods ...

  2. 【问题解决】Debian更新源提示InRelease已过期

    问题 本人日常用 Debian10 今天在更新源(apt update) 时,出现InRelease文件过期的问题 E: http://mirrors.163.com/debian/dists/bus ...

  3. 【Java面试】面试遇到宽泛的问题,这么回答就稳了,谈谈你对Redis的理解

    "谈谈你对Redis的理解"! 面试的时候遇到这类比较宽泛的问题,是不是很抓狂? 是不是不知道从何开始说起? 没关系,今天我用3分钟教你怎么回答. 大家好,我是Mic,一个工作了1 ...

  4. Django 之视图层

    JsonResponse 1 json格式的数据有什么用 前后端数据交互需要使用json作为过渡,实现跨语言传输数据 2 前后端方法对应 JSON.stringify() -  json.dumps( ...

  5. 使用读写分离模式扩展 Grafana Loki

    转载自:https://mp.weixin.qq.com/s?__biz=MzU4MjQ0MTU4Ng==&mid=2247500127&idx=1&sn=995987d558 ...

  6. 2.Ceph 基础篇 - 集群部署及故障排查

    文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247485243&idx=1&sn=e425c31a ...

  7. 使用kubeoperator安装k8s集群时自带的traefik-ingress-controller

    前提 承接上一篇文章:https://www.cnblogs.com/sanduzxcvbnm/p/15740596.html traefik-ingress-controller和nginx-ing ...

  8. 安装 Ubuntu 教程

    1.选择中文安装 2.****到了如下界面,我们点击继续: 3.然后点击,现在安装: 4.****到了这界面,点击继续: 5.如下,输入你的位置,随便输入就好: 6.****然后选择汉语,点击继续: ...

  9. H5调用微信支付

    这里用的是 vue项目; 首先在mounted中判断是否有openId,如果没有,则去获取 let openid = localStorage.getItem('openid'); if (!open ...

  10. PAT (Basic Level) Practice 1033 旧键盘打字 分数 20

    旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在 2 行中分别给出坏掉的那些键.以及应该输入 ...