美文网首页@future
MySQL进阶操作总结

MySQL进阶操作总结

作者: 月初yue | 来源:发表于2023-10-31 19:12 被阅读0次

一对一表

一对多表

多对多表(借助第三张中间表,同时关联两张表)

多表查询:

内连接查询:

/*

显示内连接

标准语法:

SELECT 列名 FROM 表名1 [INNER] JOIN 表名2 ON 关联条件;

*/

-- 查询用户信息和对应的订单信息

SELECT * FROM USER INNER JOIN orderlist ON orderlist.uid = user.id;

-- 查询用户信息和对应的订单信息,起别名

SELECT * FROM USER u INNER JOIN orderlist o ON o.uid=u.id;

-- 查询用户姓名,年龄。和订单编号

SELECT

u.name,-- 用户姓名

u.age,-- 用户年龄

o.number-- 订单编号

FROM

USER u -- 用户表

INNER JOIN

orderlist o -- 订单表

ON

o.uid=u.id;

/*

隐式内连接

标准语法:

SELECT 列名 FROM 表名1,表名2 WHERE 关联条件;

*/

-- 查询用户姓名,年龄。和订单编号

SELECT

u.name,-- 用户姓名

u.age,-- 用户年龄

o.number-- 订单编号

FROM

USER u,-- 用户表

orderlist o -- 订单表

WHERE

o.uid=u.id;

外连接查询:

/*

左外连接

标准语法:

SELECT 列名 FROM 表名1 LEFT [OUTER] JOIN 表名2 ON 条件;

*/

-- 查询所有用户信息,以及用户对应的订单信息

SELECT

u.*,

o.number

FROM

USER u

LEFT OUTER JOIN

orderlist o

ON

o.uid=u.id;

/*

右外连接

标准语法:

SELECT 列名 FROM 表名1 RIGHT [OUTER] JOIN 表名2 ON 条件;

*/

-- 查询所有订单信息,以及订单所属的用户信息

SELECT

o.*,

u.name

FROM

USER u

RIGHT OUTER JOIN

orderlist o

ON

o.uid=u.id;

子查询:

自关联查询:

视图:

/*

创建视图

标准语法

CREATE VIEW 视图名称 [(列名列表)] AS 查询语句;

*/

-- 创建city_country视图,保存城市和国家的信息(使用指定列名)

CREATE VIEW city_country (city_id,city_name,country_name) AS

SELECT

c1.id,

c1.name,

c2.name

FROM

city c1,

country c2

WHERE

c1.cid=c2.id;

/*

查询视图

标准语法

SELECT * FROM 视图名称;

*/

-- 查询视图

SELECT * FROM city_country;

/*

修改视图数据

标准语法

UPDATE 视图名称 SET 列名=值 WHERE 条件;

修改视图结构

标准语法

ALTER VIEW 视图名称 (列名列表) AS 查询语句;

*/

-- 修改视图数据,将北京修改为深圳。(注意:修改视图数据后,源表中的数据也会随之修改)

SELECT * FROM city_country;

UPDATE city_country SET city_name='深圳' WHERE city_name='北京';

-- 将视图中的country_name修改为name

ALTER VIEW city_country (city_id,city_name,NAME) AS

SELECT

c1.id,

c1.name,

c2.name

FROM

city c1,

country c2

WHERE

c1.cid=c2.id;

/*

删除视图

标准语法

DROP VIEW [IF EXISTS] 视图名称;

*/

-- 删除city_country视图

DROP VIEW IF EXISTS city_country;

数据库备份和恢复:

备份

登录到MySQL服务器,输入:mysqldump -u root -p 数据库名称>文件保存路径

恢复

登录MySQL数据库

删除已备份数据库

重新创建名称相同的数据库

使用该数据库

导入文件执行:source本份文件全路径

相关文章

  • MySQL资源大合集

    与MySQL的零距离接触Python 操作数据库—— MySQL 篇MySQL入门MySQL进阶SQL for D...

  • MySQL进阶操作

    drop,delete与truncate的区别 使用正则表达式查询和使用like区别 LIKE匹配整个列。如果被匹...

  • golang第五天

    学习go操作mysql,crud测试 代码 总结 go操作mysql 打卡时间: 21:04

  • Mysql索引进阶入门

    Mysql索引进阶入门 1. 索引操作 MySQL 索引 菜鸟 2. 索引类型 PRIMARY唯一且不能为空;一张...

  • SQL基础(三)

    事务 主要总结Mysql中操作事物的过程。 预编译 主要总结Mysql中操作预编译的过程。说出预编译的优点,画出S...

  • Mysql操作总结

    基础知识 SQL语言分为4个部分:DDL(定义)、DML(操作)、DQL(查询)、DCL(控制) 快捷键 \G 格...

  • 2019-01-22_Mybatis关于mysql简单操作学习

    Mybatis关于mysql简单操作学习1.概述对mybatis常用的操作命令做一下总结,数据库基于mysql。后...

  • Mysql进阶知识总结

    0-索引 索引原理与优化 0.1- MyISAM/InnoDB索引原理(聚集索引、非聚集索引) 索引是在存储引擎层...

  • linux下mysql操作进阶

    实战操作 创建数据库 用数据库之前要指定 部门表 创建部门表字段 插入数据 职员表 创建职员表字段 插入数据 SQ...

  • PHP+MySQL

    前言 本文为PHP与MySQL连接的一些基础操作的总结。 连接MySQL服务器 连接成功---返回mysql连接标...

网友评论

    本文标题:MySQL进阶操作总结

    本文链接:https://www.haomeiwen.com/subject/isqwidtx.html