mysql 黑马,mysql-黑马-day01
一、 密码与连接
修改密码:
set password = password('xxx');
授权远程访问: grant all privileges on *.* to 'root' @'%' identified by 'pwd';
刷新权限: flush privileges;
二、 索引
2.1 索引(index)的概述:
索引是帮助mysql高效查询的数据结构!这些索引以某种方式指向(或引用)了mysql中的数据。
2.2 索引的优势与劣势
优势
由于索引类似于目录,所以可以快速查询数据
通过索引对数据进行排序,降低数据排序成本,降低CPU消耗。
劣势:
索引也需要占用空间。
加快了查询速度,但是降低了新增/修改/删除的效率,因为更新数据时,索引也需要相应更新。
2.3 索引的结构
Mysql中的索引是在存储引擎中实现的。
mysql支持的4中索引:
BTREE索引(B+TREE): 最常见的索引类型,大部分存储引擎都支持。
HASH索引: 只有Memory引擎支持,使用场景简单。
R-tree索引: 空间索引是MyISAM引擎的一个特殊索引类型,主要用于地理空间数据。
Full-text: 全文索引也是MyISAM引擎的一个特殊索引类型,主要用于全文索引,Innodb从5.6版本也开始支持全文索引。
2.3.1 BTREE结构
image.png
CNGAHEKQMFWLTZDPRXYS
image.png
2.3.2 B+TREE结构
image.png
image.png
2.3.3 Mysql中的B+TREE
image.png
image.png
2.4 索引的分类
image.png
2.5 索引操作语法
2.5.1 创建索引
create [UNIQUE|FULLTETXT|SPATIAL] index index_name [USING index_type] ON table_name(index_col_name,...)
create index idx_city_name using btree on project_user_visit (visit_user_name);
mysql中主键会自动创建主键索引
2.5.2 查看索引
show index from project_user_visit;
image.png
格式化show index from project_user_visit\G;
image.png
2.5.3 删除索引
drop index index_name on table_name;
drop index idx_city_name on project_user_visit;
2.5.4 通过alter命令修改表-修改索引
alter table table_name add index index_name(col_list)
2.6 索引的设计原则
image.png
image.png
三、 视图
视图就是一张虚拟的表,里面封装了一条select语句。
优点
image.png
操作
# 创建视图
create view view_supervisor as
select visit_user_id, visit_user_name, visit_user_position_name, visit_user_mobile
from project_user_visit
where creation_date < current_date;
# 从视图查询数据
select *
from view_supervisor
where visit_user_name like '%宋%';
# 操作视图更新数据源的数据
update view_supervisor
set visit_user_name='小宋宋'
where visit_user_name = '小宋';
# 修改视图
alter view view_supervisor as select...;
# 查询视图和查看表一样
show tables;
# 查看创建视图的语句
show create view view_supervisor;
# 删除视图
drop view view_supervisor;
四、 存储过程和存储函数
事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化开发人员的工作,减少数据传输,对于提高数据处理的效率是有好处的。
存储过程无返回值,存储函数有返回值。
4.1 操作
# 创建存储过程
create procedure pro_test1()
begin
# SQL语句
select * from project_user_visit;
end;
# 调用
call pro_test1();
# 查询存储过程
show procedure status;
# 查询存储过程创建语句
show create procedure pro_test1;
# 删除存储过程
drop procedure pro_test1;
4.2 存储过程变量
变量声明在begin和end之间
定义: declare ...
给变量赋值:
SET variable=xxx;
SELECT INTO variable FROM ...
create procedure pro_test2()
begin
# 声明一个变量
declare num int default 10;
# 变量赋值
set num = 100;
select count(*)
# 将查询结果赋值给变量
into num
from project_user_visit;
select concat('当前num值为:', num);
end;
4.3 条件
语法
if condition then statement_list;
elseif condition then statement_list;
else statement_list;
end if;
demo
create procedure pro_test2()
begin
# 声明一个变量
declare num int default 10;
declare msg varchar(255);
# 变量赋值
set num = 100;
select count(*)
# 将查询结果赋值给变量
into num
from project_user_visit;
select concat('当前num值为:', num);
if num > 10000 then
SET msg = '多于1000条';
elseif num = 10000 then
SET msg = '等于10000条';
else
SET msg = '少于10000条';
end if;
select concat(msg);
end;
4.4 传递参数给存储过程
语法
create procedure p_name([in/out/inout] 参数名 参数类型)
begin
end;
demo
# 演示入参与出参
create procedure pro_test2(in height int, out formatted_str varchar(255))
begin
if height <= 150 then
SET formatted_str = '袖珍小人';
elseif height < 190 then
SET formatted_str = '标准身材';
else
SET formatted_str = '实在是高
mysql 黑马,mysql-黑马-day01相关推荐
- 【MySQL】黑马教程MySQL数据库 MySQL基础(一)
文章目录 [MySQL]黑马教程MySQL数据库 | MySQL基础(一) MySQL启动 MySQL客户端连接 MySQL数据模型 SQL SQL分类 DDL 表操作-查询 表操作-创建 表操作-数 ...
- MySQL笔记(黑马一)
一.数据库基本介绍 目标:了解数据库的功能和常见数据库分类.数据库产品 数据库基本知识 数据库分类 SQL简介 MySQL访问 1.数据库基本知识 目标:了解数据库的概念和数据库的作用 概念 数据库: ...
- 黑马MYSQL课程的基础语法笔记
今日内容 数据库的基本概念 MySQL数据库软件 安装 卸载 配置 SQL 数据库的基本概念 1. 数据库的英文单词: DataBase 简称 : DB 2. 什么数据库?* 用于存储和管理数据的仓库 ...
- MySQL数据库——MySQL查看存储过程
创建好存储过程后,用户可以通过 SHOW ATATUS 语句来查看存储过程的状态,也可以通过 SHOW CREATE 语句来查看存储过程的定义.这里主要讲解查看存储过程的状态和定义的方法. 查看存储过 ...
- 【MySQL】带你了解MySQL 如何学习MySQL以及MySQL的用途以及意义
目录 1 MySQL的起源和发展 1.0.1 数据库管理系统 1.1 MySQL的起源 命名由来: 1.2 MySQL的发展历程 2 什么是MySQL? 2.1 数据库 2.1.1 我们之前存储数据的 ...
- mysql以及mysql bench安装教程
首先,我们需要去官网下载mysql(这里以下载) 1 2 3 4 5 下载好了自己好了之后,点击安装好的东西出现如下界面: 1.接受使用条款并点击next 2.点击custom,可以根据个人习惯进行安 ...
- php 多条查询结果插入新表,Mysql应用MySQL查询结果复制到新表的方法(更新、插入)...
<Mysql应用MySQL查询结果复制到新表的方法(更新.插入)>要点: 本文介绍了Mysql应用MySQL查询结果复制到新表的方法(更新.插入),希望对您有用.如果有疑问,可以联系我们. ...
- mysql unrecognized_service mysql start出错,mysql启动不了,解决mysql: unrecognized service错误...
service mysql start出错,mysql启动不了,解决mysql: unrecognized service错误的方法如下: [root@ctohome.com ~]# service ...
- Ubuntu下安装mysql与mysql workbench
其他相关链接 Ubuntu 安装jdk:[链接] Ubuntu安装eclipse:[链接] Ubuntu下安装mysql与mysql workbench:[链接] Ubuntu配置tomcat9:[链 ...
- MySQL Cluster(MySQL 集群) 初试(转)
作/译者:叶金荣(imysql#imysql.com>),来源:http://imysql.com,欢迎转载. 作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请 ...
最新文章
- Intellij IDEA 2020.1 的Plugins 搜索不了插件,连接超时
- 我的一些项目管理经验
- Cookie,Session的区别
- 实现auto_ptr的两种方法
- 数据存储方案-闭包表
- 2016重庆计算机一级考试题型,重庆计算机一级考试真题2016年最新(笔试+上机).doc...
- 高并发大流量专题---6、独立图片服务器的部署
- nginx服务无法启动,启动时报错1067以外终止
- 敏捷个人A1组第二次讨论纪要 你在事业上打算何去何从?
- java 文件分割器_Java分割器
- 八人抢答器讲解_八人竞赛抢答器需求分析
- 实测:旧安卓(4.4)手机做服务器运行Asp.Net(mono+nginx)可行
- Day02:基本IO操作
- 桌球歷史:削球、快攻、弧圈球
- 【Applied Algebra】物理学中的群论漫谈1:群论基础
- 视频内容加密封装技术研究
- 安装sogou输入法
- windows系统中创建以 点 .开头的文件及文件夹的方法
- wps 2013 WPS Office和微软Office精确兼容 使用免费办公软件不用愁
- 亚马逊,速卖通,国际站卖家在做测评时如何将风险降到最低呢?
热门文章
- 【bzoj 3339】Rmq Problem 【bzoj 3585】mex(可持久化线段树)
- 第八届中国云计算大会胜利启幕云计算产业进入应用迅速普及期
- python入门指南by许半仙百度云-Python入门指南 作者:许半仙(4)
- linux系统时间显示错误的是,教你解决linux操作系统时间错误
- 如何查看centos7系统的服务器ip地址
- Chrome技巧-如何精准搜索
- python 读取内存二叉树_Python 二叉树遍历的优雅写法
- java的jre和jdk
- SAP 获取本机信息(IP及电脑名称)
- 自动驾驶的核心技术是什么----一篇文章带你揭开自动驾驶的神秘面纱