MySql数据库基础知识点总结
目录
本文实例讲述了MySql数据库基础知识点。分享给大家供大家参考,具体如下:
-
1)创建数据库
基本语法: create database
?数据库名称
;
创建应该名称为itcast的数据库。sql语法如下:1 ``
create
database
` itcast `;``
需要主要的是,为了避免用户自定义的名称与系统命令冲突,最好使用反引号(``)包括数据库名称/字段名称和数据表名称
?
如果创建数据库存在,则程序会报错,为了防止此情况发生,再创建数据库可以使用“if not exists”,语法如下:1 2 recate
database
if
not
exists `itcast`
//这段语句表示若数据库中不存在名称为itcast数据库时,创建该数据库,否则不执行创建数据库itcast的操作
再完成创建数据库后,若要查看数据库的信息,可以使用该语句
?1 ``show caeate
database
数据库名称``
查看MySql数据库服务器已经存在的数据库
?1 ``show databases``
数据库服务器可能存在多个数据,选择数据库的命令语法:
?1 `` use 数据库名称 ``
数据库的删除操作不仅会删除里面的数据,还会回收原来分配的存储空间
?1 ``
drop
database
数据库名称``
在使用“drop database” 命令删除数据库时,若删除数据库不存在,MySql服务器会报错,因此,可以再删除数据库时,使用“if existe”
?1 2 ``
drop
database
if exists `itcase`
//若删除MySql数据库服务器中存在数据库itcase,则删除该数据库,否则不执行删除 数据库itcasse的操作``
数据表在创建时,需为每个字段选择数据类型,而数据类型的选择则决定着数据的存储格式,有效范围和对应的限制
mysql提供了多种数据类型,主要分为3类
- 数值类型
- 字符串类型
- 日期与时间类型
MySql提供了很多数值类型,大体分为整数类型和浮点类型
整数类型根据取值范围分为int,smallint等,
浮点类型又分为float,declmal等。
整数类型
浮点类型
decimal类型的有效取值范围是有M和D决定。其中,M和D决定。其中,M表示数据长度,D表示小数点后的长度。例如,数据类型设为 DECIMAL(4,1),将 3.1415926插入到数据库后,显示的结果为 3.1。
字符串类型
项目开发时,需要存储的数据多数是字符串格式的,因此 MySQL 提供了许多用于存储字符串的数据类型。
BLOB和TEXT都是用于存储大量数据的,但二者的区别在于,对于存储的数据进行排序和比较时,BLOB是区分大小写的,而TEXT是不区分大小写的
日期与时间类型
为方便在数据库中存储日期和时间,MySQL 提供了几种相关的数据类型,这些数据类型可以根据实际开发灵活选择。
在数据库中,数据表设计的是否合理直接影响着数据库的功效,而在设计数据表时存储引擎的选择,则决定着数据表具有哪些功能。接下来将对 MySQL 常用存储引擎及其作用进行介绍。
- InnoDB 存储引擎
- MyISAM 存储引擎
- MEMORY 存储引擎
- ARCHIVE 存储引擎
InnoDB 引擎
InnoDB 存储引擎自 MySQL 5.5 版本起被指定为默认的存储引擎,用于完成事务、回滚、崩溃修复和多版本并发控制的事务安全处理。同时也是 MySQL中第一个提供外键约束的表引擎,尤其对事务处理的能力,是 MySQL 其他存储引擎所无法与之比拟的。
InnoDB 的优势在于提供了良好的事务管理、崩溃修复能力和并发控制。
MyISAM 存储引擎
MyISAM 存储引擎是基于 ISAM 存储引擎发展起来的,它不仅解决了 ISAM的很多不足,还增加了很多有用的扩展。
其中,对于使用 MyISAM 存储引擎的数据表,会被存储成3个文件,文件名与表名相同,文件扩展名分别为 frm、myd 和 myi。
相比 InnoDB ,MyISAM 的优点是处理速度快;缺点是不支持事务处理等
MEMORY 存储引擎
MEMORY存储引擎,是MySQL中的一类特殊的存储引擎。在MEMORY存储引擎的表中,所有数据都保存在内存中,因此数据的处理速度快,但不能持久保存(程序出错或关机时会丢失数据),而且不能存储太大的数据。对于需要很快的读写速度,但数据量小、不需要持久保存的数据来说,MEMORY存储引擎是一个理想的选择。
ARCHIVE 存储类型
ARCHIVE 存储引擎适合保存数量庞大、长期维护但很少被访问的数据。对于使用 ARCHIVE 存储引擎的数据表,数据存储时会利用 zlib 压缩库进行压缩,在记录被请求时会实时进行解压。需要注意的是,ARCHIVE 存储引擎仅仅支持查询和插入操作,且由于不支持数据索引,查询效率比较低。
希望本文所述对大家MySQL数据库计有所帮助。
原文链接:https://blog.csdn.net/qq_41254184/article/details/89413804
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。