MySQL数据库操作补坑(二)操作数据库


操作数据库

创建数据库

语法形式:CREAT DATABASE 数据库名;
在创建数据库之前,可以使用SHOW来显示已经存在的数据:SHOW DATABASE;
成功提示:Query OK,1 row affected(0.01sec) 含义为创建成功,1行受到影响,处理时间为0.01秒。4 rows in set表示集合中有四行信息。

删除数据库

语法形式:DROP DATABASE 数据库名;
在数据库删除成功后,之前分配给mybook数据库的空间将收回。

数据库存储引擎

0)、MySQL存储引擎简介

存储引擎的概念是MySQL的特点,而且是一种插入式的存储引擎概念。这决定了MySQL数据库中的表可以用不同的方式存储。用户可以根据自己的不同要求,选择不同的存储方式,是否进行事务处理等。
查看MySQL数据库支持的存储引擎类型,查询方法:SHOW ENGINES;该语句可以用 ;、\G、\g、结尾。其中\G能让显示结果更加美观
查询结果演示:

Engine:InnoDB	//  存储引擎名称
Support:DEFAULT	//  MySQL是否支持该引擎。YES表示支持,DEFAULT表示默认存储引擎。
Comment:Supports transactions,row-level locking,and foregin keys	//  对该引擎的评论
Transactions:YES	//  是否支持事务处理。YES表示支持
XA:YES	//  是否是分布式交易处理的XA规范。YES表示支持
Savepoints:YES	//  是否支持保存点,以便事务回滚到保存点。YES表示支持

InnoDB为MySQL默认的存储引擎

使用show语句查询MySQL支持的存储引擎的信息,语法SHOW VARIABLES LIKE 'have%'

+------------------------+----------+
| Variable_name          | Value    |
+------------------------+----------+
| have_compress          | YES      |
| have_dynamic_loading   | YES      |
| have_geometry          | YES      |
| have_openssl           | YES      |
| have_profiling         | YES      |
| have_query_cache       | NO       |
| have_rtree_keys        | YES      |
| have_ssl               | YES      |
| have_statement_timeout | YES      |
| have_symlink           | DISABLED |
+------------------------+----------+

Variable_name表示存储引擎的名称
Value表示MySQL的支持情况。其中DISABLED 表示支持但是未开启。
使用SHOW语句查看默认存储引擎:
SHOW VARIABLES LIKE 'storage_engine';

可以在my.ini文件中修改默认引擎:default-storage-engine=INNOBdefault-storage-engine=MyISAM,然后重启服务,修改生效。

1)、InnoDB存储引擎

优点:
  1. 为表提供了事务、回滚、崩溃修复能力和并发控制的事务安全。
  2. 提供外键约束,外键所在的表为子表,外键所依赖的表叫父表。父表中被子表关联的字段必须为主键。当删除、更新父表的某条信息时,字表也必须有相应的改变。
  3. 对事物的处理能力强
  4. 支持自动增长列AUTO_INCREMENT。自动增长列值不能为空,且必须唯一。MySQL中规定自增列必须为主键。如果不输入自动增长列的值(或输入null或0),则插入的值为自动增长列增长后的值。
缺点:
  1. InnoDB存储引擎的读写效率差,占用的数据空间相对比较大。
存储结构

创建的表结构存储在 .frm 文件中。数据和索引存储在innodb_data_home_dir和innodb_data_file_path定义的表空间中。

2)、MyISAM存储引擎

MyISAM存储引擎是MySQL中常见的存储引擎,曾是MySQL默认的存储引擎。是基于ISAM存储引擎发展起来的。

优点:
  1. 支持三种不同的存储格式:静态、动态、和压缩。其中静态为MySIAM存储引擎的默认存储格式,其字段是固定长度的。动态型包含变长字段,记录的长度不是固定的;压缩型需要使用myisampack工具创建,占用的磁盘空间较小。
  2. 处理速度快。
缺点:
  1. 不支持事务的完整性和并发性。
存储结构:

MyISAM的表存储成3个文件。文件的名字与表名相同。扩展名包括frm、MYD、MYI。

  • frm:存储表的结构。
  • MYD:存储数据
  • MYI:文件存储索引

3)、MEMORY存储引擎

是MySQL中的一类特殊的存储引擎。其使用存储在内存中的内容来创建表,而且所有数据也放在内存中。

优点:
  1. 因为其存储在内存中,所以处理速的非常快。
缺点:
  1. 因为其存储在内存中,数据易丢失,生命周期短。要求服务器有足够的内存来维持MEMORY存储引擎的表的使用。如果机器开机或关机,表中的所有数据将消失。
  2. 如果不需要使用的数据可以释放或删除来维持内存空间
存储结构:

MEMORY表的所有数据是纯处在内存上的,如果内存出现异常就会影响到数据的完整性。

MEMORY存储引擎默认使用(HASH)索引。其速度要比使用B型树索引快。如果读者希望使用B型树索引,可以在创建的时候选择使用。
MEMORY标的大小是受到限制的。表的大小主要取决于两个参数,分别是max_rows(创建表时指定)和max_heap_table_size(默认16MB,可以按需扩大)。

存储引擎的选择

根据事务安全存储限制空间使用内存使用插入数据的速度对外键的支持这几个角度比较。

特性InnoDBMyISAMMEMORY
事务安全支持
存储限制64TB
空间使用
内存使用
插入数据的速度
对外键的支持支持
  • InnoDB
    如果对事物的完整性要求比较高,要求实现并发控制,那选择InnoDB存储引擎,因为该类存储引擎可以实现事务的提交和回滚。
  • MyISAM
    插入数据快,空间和内存使用比较低,如果表主要适用于插入新记录和读出记录,那么选择MyISAM存储引擎能事先处理的高效率。如果应用的完整性、并发性要求很低,也可以选择MyISAM。
  • MEMORY
    数据的存储在内存,处理速度快,但安全性不高。如果需要高读写速度,对于安全性要求不高可以使用MEMORY。MEMORY存储引擎对表的大小有要求,不能建立太大的表。

同一个数据库中可以使用多种存储引擎的表。如果一个表要求较高的事务处理,可以选择InnoDB。这个数据库中可以将查询要求比较高的表选择MyISAM存储引擎。如果需要该数据库中需要一个用于查询的临时表,可以选择MEMORY存储引擎。

登录数据库命令:

mysql -h localhost -u root -p

  • -h:指链接的主机名,localhost为本地主机名称。
  • -u:用户名
  • -p:用户密码,按下Enter键后输入密码
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值