Learning-MySQL【2】:MySQL存储引擎及数据库的操作管理
一、存储引擎
存储引擎实际上就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据。存储引擎也可以称为表类型。
MySQL提供了插件式(pluggable)的存储引擎,存储引擎是基于表的。同一个数据库,不同的表,存储引擎可以不同。甚至,同一个数据库表在不同的场合可以应用不同的存储引擎。
查看当前MySQL数据库支持的存储引擎。有两种方式,第一种通过 show engines 命令;第二种是通过 show variables like ‘have%’ 语句。
语法格式如下:
- SHOW ENGINES;
说明:上述语句可以使用分号 “;” 结束,也可以使用 “\g” 或者 “\G” 结束,其中,“\g” 的作用于分号作用相同,而 ”\G” 可以让结果更加美观。
二、字符集
1、概述
字符集简单地说就是一套文字符号及其编码、比较规则的集合。
产生原因:计算机只能识别二进制代码,为了使计算机不仅能做科学计算,也能处理文字信息,人们想出了给每个文字符号编码以便于计算机识别处理的办法,这就是计算机字符集产生的原因。
2、MySQL支持的字符集
MySQL 服务器可以支持多种字符集,在同一台服务器、同一个数据库甚至同一个表的不同字段都可以使用相同的字符集,可以用 show character set 查看所有可以使用的字符集。
MySQL 字符集包括字符集和校对规则两个概念。字符集用来定义 MySQL 存储字符串的方式,校对规则定义比较字符串的方式。
MySQL 支持 30 多种字符集的 70 多种校对规则。
3、MySQL 字符集的设置
(1)服务器字符集和校对规则
- show variables like 'character_set_server'; 命令查询字符集
- show variables like 'collation_server'; 命令查看校对规则
(2)数据库字符集和校验规则
要显示当前数据库字符集和校验规则可用以下两条命名分别查看:
- show variables like 'character_set_database';
- show variables like 'collation_database';
三、数据库的操作管理
1、创建数据库
语法格式:
- CREATE {DATABASE | SCHEMA} [IF NOT EXISTS ]db_name
- [[DEFAULT] CHARACTER SET charset_name]
- [[DEFALUT] COLLATE collation_name]
在MySQL中不区分大小写,在一定程度上方便使用。
【例1】创建一个名为 StudentInfo 的数据库,一般情况下在创建之间要用 IF NOT EXISTS 命令先判断数据库是否不存在。
- CREATE DATABASE IF NOT EXISTS studentInfo ;
为了检验数据库中是否已经存在名为 studentInfo 的数据库,使用 SHOW DATABASES; 命令查看所有的数据库
2. 修改数据库
语法格式:
- ALTER {DATABASE | SCHEMA} [db_name]
- [DEFAULT CHARACTER SET charset_name]
- | [[DEFAULT] COLLATE collation_name]
ALTER DATABASE用于更改数据库的全局特性,用户必须有数据库修改权限,才可以使用ALTER DATABASE修改数据库。
【例2】修改 studentInfo 数据库的字符集为 gbk,执行结果如下:
3. 删除数据库
语法格式:
- DROP DATABASE [IF EXISTS] db_name;
注意:删除数据库是指在数据库系统删除已经存在的数据库,删除数据库成功后,原来分配的空间将被收回。再删除数据库时,会删除数据库中的所有的表和所有的数据,因此,删除数据库时需要慎重考虑。
【例3】用 drop database studentInfo 命令删除刚才建立的 studentInfo 数据库,执行结果如下:
【例4】用以下两种命令再次删除 studentInfo 数据库,会有不同的提示:
Learning-MySQL【2】:MySQL存储引擎及数据库的操作管理的更多相关文章
- MySQL存储引擎及数据库的操作管理
一.存储引擎 存储引擎实际上就是如何存储数据.如何为存储的数据建立索引和如何更新.查询数据.存储引擎也可以称为表类型. MySQL提供了插件式(pluggable)的存储引擎,存储引擎是基于表的.同一 ...
- Mysql更换MyISAM存储引擎为Innodb的操作记录
一般情况下,mysql会默认提供多种存储引擎,可以通过下面的查看: 1)查看mysql是否安装了innodb插件.通过下面的命令结果可知,已经安装了innodb插件. mysql> show p ...
- MySQL技术内幕读书笔记(一)——Mysql体系结构和存储引擎
目录 MySQL体系结构和存储引擎 定义数据库和实例 MYSQL体系结构 MYSQL存储引擎 MySQL体系结构和存储引擎 定义数据库和实例 数据库:物理操作系统文件或者其他形式文件类型的结合.在MY ...
- MySQL的多存储引擎架构
支持多种存储引擎是众所周知的MySQL特性,也是MySQL架构的关键优势之一.如果能够理解MySQL Server与存储引擎之间是怎样通过API交互的,将大大有利于理解MySQL的核心基础架构.本文将 ...
- mysql缓存、存储引擎
一. mysql查询缓存 查询缓存不是mysql的子系统,却是查询优化和执行子系统不可缺少的组成部分.它不仅可以缓存查询结果,还可以缓存查询结果本身.如果某个查询的结果就在缓存里, 系 ...
- 转!!MySQL中的存储引擎讲解(InnoDB,MyISAM,Memory等各存储引擎对比)
MySQL中的存储引擎: 1.存储引擎的概念 2.查看MySQL所支持的存储引擎 3.MySQL中几种常用存储引擎的特点 4.存储引擎之间的相互转化 一.存储引擎: 1.存储引擎其实就是如何实现存储数 ...
- MySQL支持多种存储引擎
MySQL的强大之处在于它的插件式存储引擎,我们可以基于表的特点使用不同的存储引擎,从而达到最好的性能. MySQL有多种存储引擎:MyISAM.InnoDB.MERGE.MEMORY(HEAP).B ...
- mysql基础之存储引擎
原文:mysql基础之存储引擎 数据库对同样的数据,有着不同的存储方式和管理方式,在mysql中,称为存储引擎 常用的表的引擎 Myisam ,批量插入速度快, 不支持事务,锁表 Innodb, 批量 ...
- MySQL查看修改存储引擎总结
文总结了MySQL下查看.修改存储引擎的一些方法.测试.验证环境为MySQL 5.6 1:查看MySQL的存储引擎信息 1.1 使用show engines命令. .csharpcode, .csha ...
随机推荐
- 8、路由 router
路由:router 用户功能 /user ----> index.html /user/login ----> login.html /user/reg ----> reg.html ...
- 前端自动化构建工具webpack (一)之webpack安装 和 设置webpack.confi.js
目的: 模块化开发,组件化开发,让代码符合开发规范,更高效 webpack作用:从pack,就知道这是包的意思,比较专业点叫做前端自动化打包构建工具,代码错误检查,预处理,文件合并(打包),代码压缩 ...
- 使用 EF Core 的 EnableRetryOnFailure 解决短暂的数据库连接失败问题
阿里云服务器有时会出现短暂的连接不上数据库服务器(RDS)的问题,之前由于没有启用 Entity Framework Core 的失败重试功能(默认是禁用的),短暂的连接失败立马会引发下面的异常从而出 ...
- HTTP协议工作原理
HTTP简介 超文本传输协议(HTTP:Hypertext Transport Protocol)是万维网应用层的协议,它通过两个程序实现:一个是客户端程序(各种浏览器),另一个是服务器 ...
- c->log技巧
介绍: 在C代码里,有时会加入一些打印信息方便分析问题,可用如下代码替代打印函数,更加方便. // // Created by lady on 18-12-10. // #include <st ...
- Redis应用场景说明与部署
Redis简介 REmote DIctionary Server(Redis)是一个基于key-value键值对的持久化数据库存储系统.redis和大名鼎鼎的memcached缓存服务很像,但是red ...
- 编程实现类似Linux系统的cp功能
选做题目以及分析 题目:编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.bin 用来把文 ...
- vs安装问题
1 首先windows update异常,导致vs2015的一个安装不上,先试着修一下: https://support.microsoft.com/zh-cn/help/2629484 如果提示:“ ...
- python3内置的tkinter参数释疑
最近涉及到需要实现一个桌面UI的小游戏,所以就翻看了一些文档. 当然有介绍使用pyQT5的,但是本机安装的是python3.4,不想卸载掉这个版本,暂时还不能使用pyQT5. pyQT5需要pytho ...
- 服务注册发现Eureka
一 Eureka相关概念 1 Peer 2 Zone 3 Region 地理区域 3 CAP理论 4 在线扩容 5 二 注册发现 Eureka 1 搭建Server服务端 ...