MySQL【第一章】——入门级

索引:——什么是MySQL?

 

MySQL是基于SQL查询的开源跨平台数据库管理系统。它最初是由瑞典MySQL AB公司开发的。现在它是Oracle Corporation的分支机构。

 

可以想象,该系统是全球最受欢迎和可识别的RDBMS。诸如Facebook,YouTube,Uber,Google和其他无数公司之类的巨头更喜欢MySQL进行数据存储和管理。他们有所有理由坚持使用此RDBMS

MySQL是数据库管理系统中的一种,是市面上最流行的数据库管理软件之一。据统计,MySQL是目前使用率最高的数据库管理软件,如下图所示。知名企业比如淘宝、网易、百度、新浪、Facebook等大部分互联网公司都在使用MySQL,而且不仅仅是互联网领域,许多游戏公司也在使用MySQL,比如劲舞团、魔兽世界之类我们熟知的游戏。甚至连中国移动、中国电网这样的知名国企也在使用MySQL。由此可知,MySQL的受众的非常广的。

一、账号管理

  1.创建用户并设置登录密码

  命令:create user 用户名 identified by '密码';

  注:identified by会将纯文本密码加密作为散列值存储

  2.查看用户信息

 

  命令:select host,user,authentication_string from user;

  user表中host列的值的意义
  %                      匹配所有主机
 
localhost          localhost不会被解析成IP地址,直接通过UNIXsocket连接
 
127.0.0.1           会通过TCP/IP协议连接,并且只能在本机访问;
  ::1                    ::1就是兼容支持ipv6的,表示同ipv4的127.0.0.1

  3.删除用户(慎用)

  命令:drop user 用户名;

  4.修改用户密码
    
    4.1 修改密码
 
    命令:set password for 用户名=password('新密码');
    
    4.2 刷新配置
  
    命令:flush privileges;

  5.设置权限(Grant ... to )

  语法:grant all [privileges] on databasename.tablename to username@'host';

  6.撤销权限(Revoke ... from )

  语法:revoke all [privileges] on databasename.tablename from username@'host';

  设置权限(Grant)和撤销权限(Revoke)的参数说明:


  1) privileges:  用户的操作权限,如SELECT,INSERT,UPDATE,DELETE,CREATE,ALTER等,如果要授予所有权限直接使用:all;
  2) databasename:数据库名;
  3) tablename:   表名,如果要授予用户对所有数据库和表的操作权限直接使用:*.*;  

  7.查看用户权限

  命令:show grants for 用户名;

二、建库

  SqlServer master 

  1.MySQL默认数据库介绍

 1)information_schema:是一个信息数据库,它保存着关于MySQL服务器所维护的所有其他数据库的信息;
  2)mysql:核心数据库,类似于sql server中的master表,主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息;
  3)test:测试数据库,没有东西;

  2.创建数据库

  语法:create database 数据库名;
        或者
        create database if not exists 数据库名 default charset utf8 collate utf8_general_ci;

  注:默认的数据库编码集:utf8(即UTF-8),collate表示排序规则为utf8_general_ci

  3.查看所有数据库

  语法:show databases;

  4.删除数据库(慎用)

  语法:drop database 数据库名;

  开发、测试、生产

  在真实环境下做任何的删除或修改操作,请记住一件事情提前做好备份操作!!!

三、四大引擎

  1.什么是数据库引擎

 

        数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。
    不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。
    现在许多不同的数据库管理系统都支持多种不同的数据引擎。
    Mysql的核心就是存储引擎。

  2.查看数据引擎

    语法:show engines;

    注:Support中为DEFAULT的为默认的引擎;
             为YES表示可以使用;
             为NO表示不能使用。

  3.四大引擎


  1)ISAM引擎
是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数。因此,ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源。

ISAM的主要不足之处在于,它不支持事务处理、不支持外来键、不能够容错、也不支持索引。因为ISAM不支持事务,所以如果你的硬盘崩溃了,那么数据文件就无法恢复了。所以如果你正在把ISAM用在关键任务应用程序里,那就必须经常备份你所有的实时数据,通过其复制特性,MySQL能够支持这样的备份应用程序。

  2)MyISAM引擎

MyISAMMySQLISAM扩展格式。除了提供ISAM里所没有的索引(ISAM允许没有任何索引和主键的表存在,索引都是保存行的地址)和字段管理的大量功能,MyISAM还使用一种表格锁定的机制(表级锁),来优化多个并发的读写操作,其代价是你需要经常运行OPTIMIZE TABLE命令,来恢复被更新机制所浪费的空间,否则碎片也会随之增加,最终影响数据访问性能。
MYISAM强调了快速读取操作,这可能就是为什么MySQL受到了WEB开发如此青睐的主要原因:在WEB开发中你所进行的大量数据操作都是读取操作。所以,大多数虚拟主机提供商和INTERNET平台提供商只允许使用MYISAM格式。

  3)Heap引擎

Heap存储引擎就是将数据存储在内存中,由于没有磁盘I./O的等待,所以使用该种引擎的表拥有极高的插入、更新和查询效率。这种存储引擎默认使用哈希(HASH)索引,其速度比使用B-+Tree型要快,但也可以使用B树型索引。由于这种存储引擎所存储的数据保存在内存中,所以其保存的数据具有不稳定性,比如如果mysqld进程发生异常、重启或计算机关机等等都会造成这些数据的消失,所以这种存储引擎中的表的生命周期很短,一般只使用一次。


  4)InnoDB引擎

InnoDB数据库引擎是早就Mysql灵活性的技术的直接产品,这项技术就是mysql+api,在使用mysql的时候,你所面对的每一个挑战几乎都源于isammyisam数据库引擎不支持事务处理也不支持外来键。

InnoDB的特点

InnoDB要比isammyisam引擎慢

  

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值