MySQL(一)


MySQL


1. 什么是数据库?
存储数据一般用文件就可以了,但是为什么还要有数据库这个概念呢?这就不得不说文件存储的几个缺点了。文件的安全性是个问题,而且还不利于查询和对数据的管理,不利于存放海量数据,文件在程序中控制也是非常的不方便,基于以上问题,这才设计出了更加利于管理数据的东西–数据库,能够更有效的管理数据,它是高效的存储和处理数据的介质。同时,数据库的水平也是衡量一个程序员水平的重要指标。
2. 主流数据库
(1)SQL Sever 微软的产品,适合中大型项目使用;
(2)Oracle 甲骨文产品,适合大型项目,复杂的业务逻辑,但并发一般不如MySQL;
(3)MySQL 世界上最受欢迎的数据库,属于甲骨文,并发性好,但不适合做复杂的业务,主要用于电商、SNS、论坛。对简单的SQL处理效果比较好;
(4)PostgreSQL 加州大学伯克利分校计算机系开发的关系型数据库,不管是私用、商用还是学术研究使用都可以免费使用、修改和分发的;
(5)SQLlite 是一款轻型数据库,它的设计目标是嵌入式,而且现在已经有很多嵌入式产品中使用了它,占用的资源非常低,在嵌入式设备中,可能只需要几百K内存就足够;
(6)H2 是一个java开发的嵌入式数据库,它本身只是一个库类,可以直接嵌入到应用项目中。
3. 基本使用
3.1 使用案例
创建数据库

create database helloworld;

使用数据库

use helloworld;

创建数据库表

create table student(
 	id int,
 	name varchar(32),
 	gender varchar(2)
 );

表中插入数据

insert into student (id, name, gender) values (1, '张三', '男');
insert into student (id, name, gender) values (2, '李四', '女');
insert into student (id, name, gender) values (3, '王五', '男');

查询表中数据

select * from student;

3.2 MySQL架构
MySQL是一个可移植的数据库,几乎能在当前所有操作系统上运行,各种系统在底层实现方面各有不同,但是MySQL基本上能保证在各个平台上的物理体系结构的一致性。
(1)MyISAM 是默认存储引擎。它基于更老的ISAM代码,但有很多有用的扩展(注意MySQL 5.1不支持ISAM)。每个MyISAM在磁盘上存储成三个文件,每个文件的名字均以表的名字开始,扩展名指出文件类型。
(2)InnoDB 是MySQL数据库引擎之一,为MySQL AB 发布binary的标准之一。InnoDB由Innobase Oy公司开发,2006年5月被甲骨文公司并购。与传统的ISAM和MyISAM相比,InnoDB的最大特色就是支持了ACID兼容的事务功能,类似于PostgreSQL。目前InnoDB采用双轨制授权,一是GPL授权,二是专用软件授权。
(3)Memory 表默认创建index是hash索引,虽然memory也支持btree索引,但需要指定。要是在程序中大量使用等值查询一类的SQL语句,出现大量的范围查找还是指定btree比较好。InnoDB表也支持把数据和索引完全加载到内存中,但是相比之下,memory占用的内存要小一些,并且memory全表扫描效率略高于innodb,当然并不能说innodb就不如memory,只是在读和全表扫描上。在使用memory引擎时最好不要存太大的数据,因为实在费内存,memory中char和varchar没有太大的区别。
3.3 SQL分类
(1)DDL 数据定义语言,用来维护存储数据的结构。如:create, drop, alter
(2)DML 数据操纵语言,用来对数据进行操作。如:insert, delete, update
(3)DQL 数据查询语言,属DML,对数据进行查询。如:select
(4)DCL 数据控制语言,负责权限管理和事务。如:grant, revoke, commit
3.4 查看存储引擎

show engines;
  • Storage Limits 存储限制;
  • Transactions(commit, rollback, etc.) 处理,汇报;
  • Locking granularity 锁定粒度
  • Geospatial support 地理空间支助
  • index Caches 索引缓存
  • Encrypted data 加密数据
  • Compressed data 压缩数据
  • Storage cost 存储费用
  • Full text search index 全文搜索索引
  • Data Caches 数据缓存
  • Bulk insert speed 批量插入速度
  • Cluster database support 组群数据库支持
  • Replication support 复制支持
  • Foreign key support 外键支持
  • Backup / Point-in-time recovery 备份/实时点恢复
  • Query cache support 查询缓存支持
  • Update Statistics for Data Dictionary 更新数据字典的统计数据
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值