3、mysql表的操作
目录
表连接:
笛卡尔积:
视图:
创建视图:create view tmp as select * from student_info where age = 25;
查看视图结构:desc tmp;
删除视图:drop view tmp;
事务和锁:
表连接:
union:
结果合并,同一张表union的结果通常可以使用or完成,可以多张表的查询结果合并,查询结果的列名以第一次sql语句的结果列为准。
要求:
两次查询的列数量一致即可。
建议:
查询的列类型也一样:
注意1:此种方式取出的结果集中有完全相同的列和值,直接合并成一行(去重复)。
解决方法:使用union all
注意2:如果子句中有order by 及 limit这些必须要用括号括起来,并且必须要和limit连用,不然结果可能出现问题。
笛卡尔积:
假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。
所以,两张表连接相当于两张表相乘。 select * from a,b 结果为两张表的元素的乘机。
表连接:join
左连接(left join):左表为准,到右表中找匹配的数据,如果找到就拿出来,找不到就用null补齐。
右连接(right join):右表为准,到左表中找匹配的数据,如果找到就拿出来,找不到用null补齐,左右连接可以相互转化。
内连接(inner join):内连接是左右连接的交集。
视图:
视图是由查询结果形成的一张虚拟表。
视图是对若干张基本表的引用,一张虚拟表,查询语句的执行的结果,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变);
可以跟基本表一样,进行增删改查,但是增删改操作有条件限制;
创建视图:create view tmp as select * from student_info where age = 25;
查看视图结构:desc tmp;
show create table tmp;
删除视图:drop view tmp;
对视图的修改必须满足:
1、视图的数据和表一一对应时可以修改
2、视图必须包含表中所没有默认值的列
SQL执行顺序,执行计划
其中select和from是必须的,其他关键词是可选的,这六个关键词的执行顺序
与sql语句的书写顺序并不是一样的,而是按照下面的顺序来执行:
from--where--group by--having--select--order by
from:需要从哪个数据表检索数据
where:过滤表中数据的条件
group by:如何将上面过滤出的数据分组
having:对上面已经分组的数据进行过滤的条件
select:查看结果集中的哪个列,或列的计算结果
order by:按照什么样的顺序来查看返回的数据
执行计划:expain select * .....
事务和锁:
在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。 事务处理可以用来维护数据库的完整性,保证成 批的 SQL 语句要么全部执行,要么全部不执行。 事务用来管理 insert,update,delete 语句
锁是计算机协调多个进程或线程并发访问某一资源的机制。
mysql中如果数据量大,并发访问多或者读写冲突,会出现死锁。表被锁住,不允许操作。
3、mysql表的操作相关推荐
- MySQL:表的操作 知识点难点总结:表完整性约束及其他常用知识点二次总结
表操作 一 : 修改表表表表表表表表表: ALTER TABLE 语法 1. 改表名renamealter table 表名 rename 新表名2. 增加字段addalter table 表名add ...
- MySQL表的操作(一)
在创建表之前,首先要指明表在哪个数据库中创建,也就是要指明命令所要操作的数据库 用use语句选择数据库,一般格式:use 数据库名; 创建表的语法格式如下: 例如选择在linda数据库中创建一个use ...
- MySQL表的操作(二)
创建表test3,主键有id和name,id字段自动增长, Name字段不为空,且具有唯一属性, Password为字符串,字段不为空. create table test3(id int auto_ ...
- mysql查看表描述_MySQL表记录操作介绍(重点介绍查询操作)
MySQL表记录操作指的是对数据库表中数据进行CRUD增删改查操作,一下将一一给大家介绍,重点介绍查询操作. 一.插入数据(INSERT) 二.删除数据(DELETE) 三.修改数据(UPDATE) ...
- 导入 txt 文件数据到 MySQL 表
导入 txt 文件数据到 MySQL 表 需求:导入数据到 MySQL 表中 操作: 新建一个 .txt 文件 新建一个表 右击表选择导入向导 选择导入类型为文本文件(*.txt) 选择创建的 .tx ...
- 命令行客户端MySQL基本命令的使用(登录、登出、数据库操作的SQL语句、表结构的SQL语句、表数据操作的SQL语句)
1. 登录和登出数据库 登录数据库: 输入下面命令: mysql -uroot -p 说明: -u 后面是登录的用户名 [写成-u root也是可以的] -p 后面是登录密码, 如果不填写, 回车之 ...
- mysql 8.3_8.3 - mysql 表操作
什么是存储引擎 mysql中建立的库===>文件夹 库中建立的表===>文件 存储引擎就是表的类型 现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处 ...
- mysql修改表结构权限_mysql 修改表结构操作
mysql 修改表结构操作 使用 [desc 表名]查看表结构 1.mysql > alter table passwd add id int(3) not null auto_incremen ...
- 3.mysql的中文问题,database级操作,表级操作,数据CRUD,分组操作,时间和日期,字符串相关函数,表的约束
1 连接MYSQL服务器:mysql–uroot –p123456 查看中文问题 show variables like 'character%'; 2 修改mysql的字符集,退出mysql提 ...
最新文章
- 超详干货!Linux 环境变量配置全攻略
- 通过ssl调用远程WebService
- Oracle “TNS-12535: TNS: 操作超时“故障的解除。
- (7)Java数据结构--集合map,set,list详解
- 误删50节点K8s集群为何3小时才能复原?Spotify揭自家事故幕后经验
- Azkaban 安装
- 【iCore4 双核心板_uC/OS-II】例程十:信号量集
- 西门子V90电机数字量输出(DO)接倍福数字量输入模块
- 5G NR标准协议架构-5G协议应该怎么看?
- 【WPF】资源--《深入浅出WPF》by刘铁锰
- Linux系统下VMware虚拟机安装Win7 ISO操作系统
- android 设置gps波特率,GPS端口、波特率设置原理详解(GPS如何搜星,波特率对传输速度和精度的影响)...
- 平面设计的概念是什么,如何理解平面设计的概念
- xcode中ineligible devices的注意事项
- 免费的艺术二维码生成器
- 基于单片机的电子时钟设计(keil+protues仿真,含代码及原理图)
- 【游记】NOI2021
- 厦门大学2022年计算机考研复试流程
- 部编版三下《燕子》教学反思
- Attention原理详解
热门文章
- MySQL窗口函数简介
- 关于Provision.apk
- 债券的到期收益率、即期收益率、远期收益率及远期利率的推导
- python制作万年历
- transmac装黑苹果_黑苹果 篇一:黑苹果安装-clover引导10.15.3超详细
- 切割木板 (贪心)
- 两款Windows系统优化工具
- Linux定时器alarm()用法讲解
- Bean with name ‘‘ has been injected into other beans [] in its raw version as part of a circular ref
- 移动100m宽带慢的要死_移动宽带的弊端,100兆光纤正常使用,一到晚上就犯病是为何?...