热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MySQLDay11(索引dba命令三范式一对一一对多多对多)

索引1、什么是索引索引对应的英语单词为:index索引相当于一本字典的目录,索引的作用是提供程序的检索【查询】效率索引被用来快速找出在一个列上用一特定

索引
1、什么是索引索引对应的英语单词为:index索引相当于一本字典的目录,索引的作用是提供程序的检索【查询】效率索引被用来快速找出在一个列上用一特定值的行,没有索引,MySQL不得不首先以第一条开始,然后读完整个表直到它找出相关的行。表越大,花费时间越多,对于一个有序字段,可以运用二分查找,性能能得到本质上的提高,MYISAM和INNODB都是用B+Tree作为索引结构主键,unique都会默认的添加索引2、主键自动添加索引,所以能够通过主键查询尽量通过主键查询,效率较高。3、索引和表相同,都是一个对象,表是存储在硬盘文件中的,那么索引是表的一部分,索引也是存储在硬盘文件中的。4、在MySQL数据库管理系统中,对表中记录进行检索的时候,通常包括几种检索方式。第一种方式:全表扫描【效率较低】假设有一张表:emp表select * from emp where ename='wang';若ename字段上没有添加索引,那么在通过ename字段过滤数据的时候,ename字段会被全部扫描第二种方式:通过索引进行检索【提高查询效率】5、一张表中有多个字段,每一个字段都是可以添加索引的。6、什么情况适合给表中的某个字段添加索引?该字段数据量庞大该字段很少的DML操作【DML操作很多的话,索引也需要不断的维护,效率反而降低】该字段经常出现在where条件中7、怎么创建索引create index dept_dname_index on dept(dname);create unique index dept_dname_index on dept(dname);//添加unique表示dept表中的dname字段添加一个唯一性约束8、怎么删除索引drop index dept_dname_index on dept;DBA命令
1、新建用户
create user username identified by 'password';
--可以登录但是只可以看见一个库 information_schema2、授权
grant all privileges on dbname.tbname to 'username'@'login ip' identified by 'password' with grant option;
首先用root用户进入mysql,然后键入:grant select,insert,update,delete on *.* to abc@localhost identified by '123';
如果希望该用户能够在任何机器上登录mysql,则将localhost改为'%'3、回收权限
revoke privileges on dbname[.tbname] from username;
revoke all privileges on *.* from abc;修改密码
update user set password = password('111') where user = 'abc';
刷新权限:
flush privileges视图
1、什么是视图视图是一种根据查询(也就是select表达式)定义的数据库对象,用于获取想要看到和使用的局部数据视图有时也被称为“虚拟表”视图可以被用来从常规表(称为“基表”)或其他视图中查询数据相当于从基表中直接获取数据,视图有以下好处访问数据变得简单可被用来对不同用户显示不同的表的内容用来协助适配表的结构以适应前端现有的应用程序视图作用:提高检索效率隐藏表的实现细节【面向视图检索】视图可以隐藏表的细节
mysql是个命令行程序;
mysqld是服务,一般linux系统里的服务都是以d结尾的,比如httpd,vsftpd等等。
d的全拼应该是daemon,也就是守护程序的意思,常驻后台。导出导入
1、导出整个数据库mysqldump database>d:\xxx.sql -uroot -proot2、导出指定库下的指定表mysqldump database emp>d:\xxx.sql -uroot -proot3、导入source d:\xxx.sql数据库设计三范式
1、第一范式要求有主键,并且要求每一个字段原子性不可再分每一行必须唯一,也就是每个表必须有主键,数据库设计的最基本要求。主要通常采用数值型或定长字符串表示。关于列不可再分,应更具具体的情况来决定。如联系方式,为了开放上的便利性可能就采用一个字段2、第二范式要求所有非主键字段完全依赖主键,不能产生部分依赖一般不能用联合主键 因为一般都会出现仅依赖其中一个主键3、第三范式所有非主键字段和主键之间不能产生传递依赖4、几个经典的设计一对一:第一种方案:分两张表存储,共享主键t_husbandhno(pk) hname1 zhang2 li3 liut_wifewhn(pk) wname 【wnoon更是也是fk 引用t_husband的hno】1 a2 b 3 c第二种方案:分两张表存储,外键唯一t_husbandhno(pk) hname wifeno(fk-unique)1 zhang 1002 li 2003 liu 300t_wifewhn(pk) wname100 a200 b 300 c一对多:分两张表存储,在多的一方添加外键,这个外键字段引用一的一方中的主键字段多对多:分三张表存储,在学生表中存储学生信息,在课程表中存储课程信息,在学生课表中存储学生
5、实际开发在实际开发中尽量遵循三范式但是还是根据实际情况进行取舍有时可能拿冗余换速度最终目的是满足客户需求


推荐阅读
  • binlog2sql,你该知道的数据恢复工具
    binlog2sql,你该知道的数据恢复工具 ... [详细]
  • 【MySQL】frm文件解析
    官网说明:http:dev.mysql.comdocinternalsenfrm-file-format.htmlfrm是MySQL表结构定义文件,通常frm文件是不会损坏的,但是如果 ... [详细]
  • 本文详细介绍如何在SSM(Spring + Spring MVC + MyBatis)框架中实现分页功能。包括分页的基本概念、数据准备、前端分页栏的设计与实现、后端分页逻辑的编写以及最终的测试步骤。 ... [详细]
  • 本文介绍了MySQL窗口函数的基本概念、应用场景及常见函数的使用方法。窗口函数在处理复杂查询时非常有用,例如计算每个用户的订单排名、环比增长率、以及动态聚合等。 ... [详细]
  • 深入解析Unity3D游戏开发中的音频播放技术
    在游戏开发中,音频播放是提升玩家沉浸感的关键因素之一。本文将探讨如何在Unity3D中高效地管理和播放不同类型的游戏音频,包括背景音乐和效果音效,并介绍实现这些功能的具体步骤。 ... [详细]
  • 在开发过程中,有时需要提供用户创建数据库的功能。本文介绍了如何利用 .NET 和 ADOX 在应用程序中实现创建 Access 数据库,并详细说明了创建数据库及表的具体步骤。 ... [详细]
  • 1、编写一个Java程序在屏幕上输出“你好!”。programmenameHelloworld.javapublicclassHelloworld{publicst ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 解决ADODB连接Access时出现80004005错误的方法
    本文详细介绍了如何解决在使用ADODB连接Access数据库时遇到的80004005错误,包括错误原因分析和具体的解决步骤。 ... [详细]
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • Hibernate全自动全映射ORM框架,旨在消除sql,是一个持久层的ORM框架1)、基础概念DAO(DataAccessorOb ... [详细]
  • 本文详细介绍如何在 Apache 中设置虚拟主机,包括基本配置和高级设置,帮助用户更好地理解和使用虚拟主机功能。 ... [详细]
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • Spring Security基础配置详解
    本文详细介绍了Spring Security的基础配置方法,包括如何搭建Maven多模块工程以及具体的安全配置步骤,帮助开发者更好地理解和应用这一强大的安全框架。 ... [详细]
author-avatar
平凡快乐的girl_819
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有