本文实例讲述了MySql数据库基础知识点。分享给大家供大家参考,具体如下:
-
数据库基本操作
1)创建数据库
基本语法: create database
数据库名称
;
创建应该名称为itcast的数据库。sql语法如下:``create database ` itcast `;``
需要主要的是,为了避免用户自定义的名称与系统命令冲突,最好使用反引号(``)包括数据库名称/字段名称和数据表名称
如果创建数据库存在,则程序会报错,为了防止此情况发生,再创建数据库可以使用“if not exists”,语法如下:recate database if not exists `itcast` //这段语句表示若数据库中不存在名称为itcast数据库时,创建该数据库,否则不执行创建数据库itcast的操作
2)查看数据库
再完成创建数据库后,若要查看数据库的信息,可以使用该语句
``show caeate database 数据库名称``
查看MySql数据库服务器已经存在的数据库
``show databases``
3)选择数据库
数据库服务器可能存在多个数据,选择数据库的命令语法:
`` use 数据库名称 ``
4)删除数据库
数据库的删除操作不仅会删除里面的数据,还会回收原来分配的存储空间
``drop database 数据库名称``
在使用“drop database” 命令删除数据库时,若删除数据库不存在,MySql服务器会报错,因此,可以再删除数据库时,使用“if existe”
``drop database if exists `itcase` //若删除MySql数据库服务器中存在数据库itcase,则删除该数据库,否则不执行删除 数据库itcasse的操作``
-
数据类型
数据表在创建时,需为每个字段选择数据类型,而数据类型的选择则决定着数据的存储格式,有效范围和对应的限制
mysql提供了多种数据类型,主要分为3类
-
数值类型
-
字符串类型
-
日期与时间类型
1)数值类型
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 提供了几种相关的数据类型,这些数据类型可以根据实际开发灵活选择。
2)存储类型
在数据库中,数据表设计的是否合理直接影响着数据库的功效,而在设计数据表时存储引擎的选择,则决定着数据表具有哪些功能。接下来将对 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相关内容感兴趣的读者可查看本站专题:《MySQL查询技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》、《MySQL数据库锁相关技巧汇总》及《MySQL常用函数大汇总》
希望本文所述对大家MySQL数据库计有所帮助。