12.MYSQL高级(二)

1.视图(重点

视图本质就是对查询的封装,定义视图,建议以v_开头

create view 视图名称 as select语句;

例:创建视图,查询学生对应的成绩信息

create view v_stu_sco as
select students.*,scores.score from scores
inner join students on scores.stuid=students.id;

查看视图:查看表会将所有的视图也列出来

show tables;

删除视图

dropview 视图名称;
例:drop view v_stu_sco;

使用:视图的用途就是查询

select * from v_stu_score;

 

2.事务

事务(Transaction)是并发控制的基本单位。所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。

 

事务四大特性(简称ACID)

1.原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行

2.一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致

3.隔离性(Isolation):事务的执行不受其他事务的干扰,事务执行的中间结果对其他事务必须是透明的

4.持久性(Durability):对于任意已提交事务,系统必须保证该事务对数据库的改变不被丢失,即使数据库出现故障

 

  • 查看表的创建语句show create table students;
  • 开启事务,命令如下:begin;
  • 提交事务,命令如下:commit;
  • 回滚事务,命令如下:rollback;

 

 

3.索引(重点

主键和唯一索引,都是索引,可以提高查询速度

主键是数据物理存储的位置

索引会单独创建一个目录,对应数据的位置

索引分单列索引和组合索引

单列索引,即一个索引只包含单个列,一个表可以有多个单列索引

组合索引,即一个索引包含多个列

 

语法

查看索引show indexfrom 表名;

创建索引

  • 如果指定字段是字符串,需要指定长度,建议长度与定义字段时的长度一致
  • 字段类型如果不是字符串,可以不填写长度部分

create index 索引名称 on 表名(字段名称(长度))

  • 删除索引:

drop index 索引名称 on 表名;

缺点

虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE,因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件

  • 建立索引会占用磁盘空间的索引文件

 

 

示例

 

创建测试表testindex

create table test_index(titlevarchar(10));

向表中加入十万条数据

  • 创建存储过程proc_test,在存储过程中实现插入数据的操作

 

  • step1:定义分割符

delimiter //

  • step2:定义存储过程

create procedureproc_test()
begin
declare i int default 0;
while i < 100000 do
insert into test_index(title) values(concat('test',i));
set i=i+1;
end while;
end //

  • step3:还原分割符

delimiter ;

  • 执行存储过程proc_test

call proc_test();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/473885.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1.NoSQL与MongoDB简介

NoSQL&#xff1a;非关系型数据库 使用范围&#xff1a;论坛、博客、sns、微博 NoSQL优势&#xff1a; 1.易扩展 2.数据量大&#xff0c;高性能 3.灵活的数据模型 4.高可用 MongoDB特点 模式自由 :可以把不同结构的文档存储在同一个数据库里 面向集合的存储&#xff1a;…

LeetCode 825. 适龄的朋友(计数排序+前缀和)

文章目录1. 题目2. 解题1. 题目 人们会互相发送好友请求&#xff0c;现在给定一个包含有他们年龄的数组&#xff0c;ages[i] 表示第 i 个人的年龄。 当满足以下任一条件时&#xff0c;A 不能给 B&#xff08;A、B不为同一人&#xff09;发送好友请求&#xff1a; age[B] <…

[转]java 组播

1. 组播知识介绍&#xff1a; http://blog.csdn.net/happy_david/article/details/1569209 2. java 组播实现&#xff1a;来自&#xff1a; http://blog.csdn.net/a352193394/article/details/7395600 下面来演示一下使用Java Socket的组播类实现一个组播的小案例 首先是接收端…

2.MongoDB基本操作

数据库命令 连接成功后&#xff0c;默认使用test数据库 查看当前数据库名称&#xff1a;db 查看所有数据库名称&#xff1a;show dbs 切换数据库&#xff0c;如果数据库不存在也并不创建&#xff0c;直到插入数据或创建集合时数据库才被创建&#xff1a;use 数据库名称 删除当…

LeetCode 954. 二倍数对数组(map计数)

文章目录1. 题目2. 解题1. 题目 给定一个长度为偶数的整数数组 A&#xff0c;只有对 A 进行重组后可以满足 对于每个 0 < i < len(A) / 2&#xff0c;都有 A[2 * i 1] 2 * A[2 * i] 时&#xff0c;返回 true&#xff1b;否则&#xff0c;返回 false。 示例 1&#xf…

jsp用tags传递参数

<computer:trangleTag sideA"12" sideB"12" sideC"12"/>表示以字符串传递sideABC <computer:trangleTag sideA“uname” sideB“ustudentcode” sideC“upassword” />表示传递的字符串是uname&#xff0c;ustudentcode&#xff0c;…

3.MongoDB数据查询

数据查询 基本查询 方法find()&#xff1a;查询&#xff1a;db.集合名称.find({条件文档}) 方法findOne()&#xff1a;查询&#xff0c;只返回第一个&#xff1a;db.集合名称.findOne({条件文档}) 方法pretty()&#xff1a;将结果格式化&#xff1a;db.集合名称.find({条件文档…

Java增强之并发编程

Java增强之并发编程 1 多线程 1.1 进程及线程 程序启动的时候&#xff0c;电脑会把这个程序加载到内存&#xff0c;在内存中需要给当前的程序分配一段的独立运行的空间&#xff0c;这个空间就专门负责这个程序的运行。每个应用程序运行都需要在内存中有自己独立的运行空间&a…

LeetCode 732. 我的日程安排表 III(差分思想)

文章目录1. 题目2. 解题1. 题目 实现一个 MyCalendar 类来存放你的日程安排&#xff0c;你可以一直添加新的日程安排。 MyCalendar 有一个 book(int start, int end)方法。它意味着在start到end时间内增加一个日程安排&#xff0c;注意&#xff0c;这里的时间是半开区间&…

4.聚合aggregate

聚合(aggregate)主要用于计算数据&#xff0c;类似sql中的sum()、avg() 语法&#xff1a;db.集合名称.aggregate({管道:{表达式}}) 管道 管道在Unix和Linux中一般用于将当前命令的输出结果作为下一个命令的输入 ps ajx | grep mongo 常用管道 $group&#xff1a;将集合中的…

WebView退出时停止视频播放

网上比较流行的方法: 在activity的onPause函数中调用webview的onPause函数。 弊端:视频虽然停止播放但是还是在从网上加载数据(观察流量统计); 比较好的方法: 在activity的onPause函数中调用webview的onPause函数。 在activity的onDestroy函数中webview.loadUrl("file:///…

5.MongoDB索引

mongodb支持索引&#xff0c;以提升查询速度 步骤一&#xff1a;创建大量数据 在命令行中执行如下代码&#xff0c;向集合中插入10万条文档 注意&#xff1a;不要在图形界面中执行&#xff0c;因为软件原因无法插入10万条数据就会中断执行 for(i0;i<100000;i){ db.t1.in…

Hadoop学习之整体介绍及环境搭建

Hadoop学习之整体介绍及环境搭建 1 大数据概述 1.1 什么是大数据 数据(data)是事实或观察的结果&#xff0c;是对客观事物的逻辑归纳&#xff0c;是用于表示客观事物的未经加 工的的原始素材。 大数据&#xff1a;传统处理方式无法解决的不仅大而且复杂的数据集的存储和计算…

05.序列模型 W2.自然语言处理与词嵌入

文章目录1. 词汇表征2. 使用词嵌入3. 词嵌入的特性4. 嵌入矩阵5. 学习词嵌入6. Word2Vec7. 负采样8. GloVe 词向量9. 情感分类10. 词嵌入除偏作业参考&#xff1a;吴恩达视频课深度学习笔记自然语言处理与词嵌入 Natural Language Processing and Word Embeddings 1. 词汇表征…

sql获取总列数

Select count(*) from syscolumns where object_name(id)表名可以获取表的列数转载于:https://www.cnblogs.com/haoqi/p/3388171.html

6.MongoDB备份与恢复

备份 语法 mongodump -h dbhost -d dbname -o dbdirectory -h&#xff1a;服务器地址&#xff0c;也可以指定端口号 -d&#xff1a;需要备份的数据库名称 -o&#xff1a;备份的数据存放位置&#xff0c;此目录中存放着备份出来的数据 例1 sudo mkdir test1bak sudo mongodump…

Hadoop学习之HDFS

Hadoop学习之HDFS 1 HDFS相关概念 1.1 设计思路 分散存储&#xff0c;冗余备份。 分散存储&#xff1a;大文件被切割成小文件&#xff0c;使用分而治之的思想让多个服务器对同一个文件进行联合管理&#xff1b; 冗余备份&#xff1a;每个小文件做冗余备份&#xff0c;并且…

LeetCode 799. 香槟塔(DP动态规划)

文章目录1. 题目2. 解题1. 题目 我们把玻璃杯摆成金字塔的形状&#xff0c;其中第一层有1个玻璃杯&#xff0c;第二层有2个&#xff0c;依次类推到第100层&#xff0c;每个玻璃杯(250ml)将盛有香槟。 从顶层的第一个玻璃杯开始倾倒一些香槟&#xff0c;当顶层的杯子满了&…

C语言进行CGI程序设计

一、CGI概述CGI(公用网关接口)规定了Web服务器调用其他可执行程序(CGI程序)的接口协议标准。Web服务器通过调用CGI程序实现和Web浏览器的交互,也就是CGI程序接受Web浏览器发送给Web服务器的信息,进行处理,将响应结果再回送给Web服务器及Web浏览器。CGI程序一般完成Web网页中表单…

7.MongoDB与python交互

引入模块pymongo from pymongoimport * 主要提供如下对象用于进行交互 MongoClient对象&#xff1a;用于与MongoDB服务器建立连接 DataBase对象&#xff1a;对应着MongoDB中的数据库 Collection对象&#xff1a;对应着MongoDB中的集合 Cursor对象&#xff1a;查询方法find()返…