mysql--进阶篇上

本文介绍了MySQL的基本概念,如它是一个流行的关系型数据库管理系统,常用于WEB应用。讲解了如何添加和删除主键、外键约束,以及如何进行多表查询,包括内连接、外连接和自连接。此外,还详细讨论了事务处理,包括事务的步骤、提交方式和隔离级别。
摘要由CSDN通过智能技术生成

引言

MySQL是一个关系型数据库管理系统由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库

前言

如果没有mysql基础的伙伴,可以先看看之前发的mysql--入门篇

目录

引言

前言

主键约束

添加主键

在创建表时,添加主键约束

 已有表,添加主键约束

删除主键

外键约束

添加外键

在创建表时,添加外键约束

 已有表,添加外键约束

删除外键

 多表查询

多表查询相关内容

多表查询分为:一对多;多对多;一对一。

简单多表查询

 多表查询分类

内连接:

隐式内连接

显式内连接

外连接:

左外连接

 右外连接

 自连接查询

联合查询---union、union all

创建视图

事务

 事务的相关内容

事务操作步骤:

查看事务提交方式

设置事务提交方式

开启事务

提交事务

回滚事务

查看事务隔离级别

修改事务隔离级别


主键约束

添加主键

在创建表时,添加主键约束

create table "表名"("字段名1" "数据类型1",

                                "字段名2" "数据类型2",

                                ‘‘‘‘‘’’’’’ primary key  ("字段名1","字段名2",......) );

 已有表,添加主键约束

alter table "表名" add constraint "外键名" foreign key ("字段名");

删除主键

alter table "表名" drop primary key "主键名";

外键约束

添加外键

在创建表时,添加外键约束

create table "表名"("字段名1" "数据类型1",

                                "字段名2" "数据类型2",

                                ‘‘‘‘‘’’’’’ constraint "外键名" foreign key ("字段名称" ) references "表名1" ("表1字段名") );

 已有表,添加外键约束

alter table "表名" add constraint "外键名" foreign key ("字段名") references "主表名" ("字段名");

删除外键

alter table "表名" drop foreign key "外键名";

 多表查询

多表查询相关内容

多表查询分为:一对多;多对多;一对一。

一对一:

在多的一方建立外键指向一的一方的主键。

多对多:

建立第三张中间表,中间表至少包含两个外键,分别关联两方主键。

一对一:

在任意一方加入外键,并设置外键为唯一(unique)。

简单多表查询

select * from "表1","表2" where "表1"."字段名" = "表2"."字段名";

 多表查询分类

连接查询:分为内、外连接。

内连接:相当于查询表1、表2交集部分数据。

外连接:又分为左外连接查询、右外连接。

左外连接查询:左表所有数据以及两表交集部分数据。

右外连接查询:右表所有数据以及两张表交集部分数据。

自连接:当前表与自身的连接查询,自连接必须使用表别名。

内连接:

隐式内连接

select "字段列表" from "表1","表2" where ....;

显式内连接

select "字段列表" from "表1" [inner] join "表2" on 连接条件;

外连接:

左外连接

select "字段列表" from "表1" left join "表2" on 连接条件;

 右外连接

select "字段列表" from "表1" right join "表2" on 连接条件;

 自连接查询

select "字段列表" from "表1" [as] "别名1" join "表1" "别名2" on 连接条件;

联合查询---union、union all

对于union 查询,把多次查询的结果合并起来,形成一个新的查询结果集。
select "字段列表" from "表1"
union [all]
select "字段列表" from "表2";


 

子查询分为:

标量子查询(子查询结果为单个值)                       =、<>、>、>=、<、<=。

列子查询(子查询结果为一列)                               in、not in、any、some、all。

行子查询(子查询结果为一行)                                =、<>、in、not in。

表子查询(子查询结果为多行多列)                         in。

创建视图

create view "视图名" as "作为视图的表数据";

事务

事物会把所有的操作作为一个整体,一起向系统提交或撤销操作请求,要么同时成功,要么同时失败。

 事务的相关内容

事务操作步骤:

1、开始事务。

2、正常执行或者抛出异常,回滚。

3、提交事务。

查看事务提交方式

select @@autocommit;(等于1时,为自动;等于0时,为手动)

设置事务提交方式

set @@autocommit = 0或者1;(等于1时,为自动;等于0时,为手动)

开启事务

start transaction 或者 begin;

提交事务

 commit;

回滚事务

rollback;

 

查看事务隔离级别

查看系统隔离级别:select @@global.tx_isolation;

查看会话隔离级别(5.0以上版本):select @@tx_isolation;

查看会话隔离级别(8.0以上版本):select @@transaction_isolation;

修改事务隔离级别

set session transaction isolation level repeatable read; 设置会话隔离级别为可重复读
set session transaction isolation level read uncommitted; 设置会话隔离级别为读未提交
set session transaction isolation level read committed; 设置会话隔离级别为读已提交
 

后续会更新mysql进阶篇更进一步的内容,敬请期待吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

!continue!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值