1. 创建数据库
MySQL安装完成后,会在其data目录下创建几个必需的数据库,可以用“show databases;”查看当前存在的所有数据库。
1.1创建数据库是在系统磁盘上划分一块区域用于数据的存储和管理。
1.2MySQL中创建数据库的基本SQL语法:createdatabase name;name代表你想创建数据库的名字。也可以用“show create database name;”查看数据库创建信息。
2.删除数据库
删除数据库是将已经存在的数据库从磁盘空间上清除,清除之后,数据库中的所有数据也将一同被删除。
2.1删除的语法格式:“drop database name;”name为想删除数据库的名称。数据库被删除后,再查看数据库创建信息(show create database name),是会报错的,因为数据库已经不存在。
3.数据库存储引擎
数据库存储引擎是数据库底层软件组件,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据库操作。不同存储引擎提供不同的存储机制、索引技巧、锁定水平。MySQL的核心就是存储引擎,主要包括处理事务安全表的引擎和处理非事务安全表的引擎。
MySQL支持引擎主要有InnoDB、MyISAM、Memory、Merge、Archive、Federated、CSV、Blackhole等。
3.1InnoDB存储引擎
InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键。5.5以后的默认存储引擎,以前是MyISAM
3.1.1InnoDB给MySQL提供里具有提交、回滚、崩溃恢复能力的事务安全(ACID)存储引擎。InnoDB锁定在行级并且也在select语句中提供里一个类似Oracle的非锁定读。
3.1.2InnoDB是为处理巨大数据量的最大设计,它的CPU效率可能是任何其他基于磁盘关系数据库引擎所不能匹敌的。
3.1.3InnoDB存储引擎完全与MySQL服务器整合,InnoDB存储引擎为在主内存中缓存数据和索引而维持它自己的缓存池。InnoDB将它的表和索引存在一个逻辑表空间,和MyISAM是不同的,InnoDB的表是任何尺寸的。
3.1.4InnoDB支持完整的外键完整性约束,每张表都会按住键顺序存放,如果没有显示定义主键,InnoDB会为每一行生成一个6B的rowid,并以此为主键。
3.1.5被用在需要高性能的大型数据库站点上。
3.2MyISAM存储引擎
MyISAM拥有较高的插入、查询速度,但不支持事务。在MySQL5.5以前,它是默认存储引擎。
3.3Memory存储引擎
将表中的数据存储到内存中,为查询和引用其他表数据提供快速访问。
当不在需要memory表的内容时,要释放被memory表使用的的内存,应该执行delete from或者truncate table或者删除整个表drop table。
3.4存储引擎的选择
功能 |
MyISAM |
Memory |
InnoDB |
Archive |
存储限制 |
256T |
RAM |
64T |
None |
支持事务 |
|
|
Y |
|
支持全文索引 |
Y |
|
|
|
支持数索引 |
Y |
Y |
Y |
|
支持哈希索引 |
|
Y |
|
|
支持数据存储 |
|
N/A |
Y |
|
支持外键 |
|
|
Y |
|
如果要提交、回滚和崩溃恢复能力的事务安全,并要求实现并发控制,InnoDB是一个选择。
如果用来插入和查询数据,则MyISAM提供较高的处理效率。
如果临时存放数据,数据量不大,可选择memory引擎
如果只有insert和select操作,可以选择archive引擎,支持高并发插入,但是不安全,适合存储归档数据,特别是日志信息。
可以利用“show variables like ‘storage_engine’”查询默认的存储引擎,如果不可以,也可以这样输入"show variables like '%storage_engine%'"。
注意:mysql中命令大小写基本通用,但是\g表示命令结束与;效果等同,但是\G表示旋转90度的显示,主要体现在显示效果上。