一、 密码与连接

修改密码:

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相关推荐

  1. 【MySQL】黑马教程MySQL数据库 MySQL基础(一)

    文章目录 [MySQL]黑马教程MySQL数据库 | MySQL基础(一) MySQL启动 MySQL客户端连接 MySQL数据模型 SQL SQL分类 DDL 表操作-查询 表操作-创建 表操作-数 ...

  2. MySQL笔记(黑马一)

    一.数据库基本介绍 目标:了解数据库的功能和常见数据库分类.数据库产品 数据库基本知识 数据库分类 SQL简介 MySQL访问 1.数据库基本知识 目标:了解数据库的概念和数据库的作用 概念 数据库: ...

  3. 黑马MYSQL课程的基础语法笔记

    今日内容 数据库的基本概念 MySQL数据库软件 安装 卸载 配置 SQL 数据库的基本概念 1. 数据库的英文单词: DataBase 简称 : DB 2. 什么数据库?* 用于存储和管理数据的仓库 ...

  4. MySQL数据库——MySQL查看存储过程

    创建好存储过程后,用户可以通过 SHOW ATATUS 语句来查看存储过程的状态,也可以通过 SHOW CREATE 语句来查看存储过程的定义.这里主要讲解查看存储过程的状态和定义的方法. 查看存储过 ...

  5. 【MySQL】带你了解MySQL 如何学习MySQL以及MySQL的用途以及意义

    目录 1 MySQL的起源和发展 1.0.1 数据库管理系统 1.1 MySQL的起源 命名由来: 1.2 MySQL的发展历程 2 什么是MySQL? 2.1 数据库 2.1.1 我们之前存储数据的 ...

  6. mysql以及mysql bench安装教程

    首先,我们需要去官网下载mysql(这里以下载) 1 2 3 4 5 下载好了自己好了之后,点击安装好的东西出现如下界面: 1.接受使用条款并点击next 2.点击custom,可以根据个人习惯进行安 ...

  7. php 多条查询结果插入新表,Mysql应用MySQL查询结果复制到新表的方法(更新、插入)...

    <Mysql应用MySQL查询结果复制到新表的方法(更新.插入)>要点: 本文介绍了Mysql应用MySQL查询结果复制到新表的方法(更新.插入),希望对您有用.如果有疑问,可以联系我们. ...

  8. mysql unrecognized_service mysql start出错,mysql启动不了,解决mysql: unrecognized service错误...

    service mysql start出错,mysql启动不了,解决mysql: unrecognized service错误的方法如下: [root@ctohome.com ~]# service ...

  9. Ubuntu下安装mysql与mysql workbench

    其他相关链接 Ubuntu 安装jdk:[链接] Ubuntu安装eclipse:[链接] Ubuntu下安装mysql与mysql workbench:[链接] Ubuntu配置tomcat9:[链 ...

  10. MySQL Cluster(MySQL 集群) 初试(转)

    作/译者:叶金荣(imysql#imysql.com>),来源:http://imysql.com,欢迎转载. 作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请 ...

最新文章

  1. Intellij IDEA 2020.1 的Plugins 搜索不了插件,连接超时
  2. 我的一些项目管理经验
  3. Cookie,Session的区别
  4. 实现auto_ptr的两种方法
  5. 数据存储方案-闭包表
  6. 2016重庆计算机一级考试题型,重庆计算机一级考试真题2016年最新(笔试+上机).doc...
  7. 高并发大流量专题---6、独立图片服务器的部署
  8. nginx服务无法启动,启动时报错1067以外终止
  9. 敏捷个人A1组第二次讨论纪要 你在事业上打算何去何从?
  10. java 文件分割器_Java分割器
  11. 八人抢答器讲解_八人竞赛抢答器需求分析
  12. 实测:旧安卓(4.4)手机做服务器运行Asp.Net(mono+nginx)可行
  13. Day02:基本IO操作
  14. 桌球歷史:削球、快攻、弧圈球
  15. 【Applied Algebra】物理学中的群论漫谈1:群论基础
  16. 视频内容加密封装技术研究
  17. 安装sogou输入法
  18. windows系统中创建以 点 .开头的文件及文件夹的方法
  19. wps 2013 WPS Office和微软Office精确兼容 使用免费办公软件不用愁
  20. 亚马逊,速卖通,国际站卖家在做测评时如何将风险降到最低呢?

热门文章

  1. 【bzoj 3339】Rmq Problem 【bzoj 3585】mex(可持久化线段树)
  2. 第八届中国云计算大会胜利启幕云计算产业进入应用迅速普及期
  3. python入门指南by许半仙百度云-Python入门指南 作者:许半仙(4)
  4. linux系统时间显示错误的是,教你解决linux操作系统时间错误
  5. 如何查看centos7系统的服务器ip地址
  6. Chrome技巧-如何精准搜索
  7. python 读取内存二叉树_Python 二叉树遍历的优雅写法
  8. java的jre和jdk
  9. SAP 获取本机信息(IP及电脑名称)
  10. 自动驾驶的核心技术是什么----一篇文章带你揭开自动驾驶的神秘面纱