目录 [-]css
本节内容:
一、库操做 二、表操做 三、行操做
1、库操做
一、建立数据库
1.1 语法
CREATE DATABASE 数据库名 charset utf8;
1.2 数据库命名规则
能够由字母、数字、下划线、@、#、$ 区分大小写 惟一性 不能使用关键字如 create select 不能单独使用数字 最长128位 # 基本上跟python或者js的命名规则同样
二、数据库相关操做
也是一些基本操做,和咱们以前说的差很少。
关于库的内容,有点少是吧,不是我们的重点,来看下面的表操做~~~html
2、表操做
一、存储引擎(即表类型)
mysql根据不一样的表类型会有不一样的处理机制,
一、存储引擎解释
首先肯定一点,存储引擎的概念是MySQL里面才有的,不是全部的关系型数据库都有存储引擎这个概念, 后面咱们还会说,可是如今要肯定这一点。 由于在关系数据库中数据的存储是以表的形式存储的,因此存储引擎也能够称为表类型 (即:对表的存储、操做等的实现方法不一样),表是什么,表本质上就是磁盘上的文件。
其实MySQL支持多种存储引擎,每种引擎有着一些本身独特的功能,用户在使用的时候,
能够根据本身的业务场景来使用不一样的存储引擎,其中MySQL最经常使用的存储引擎为:MyISAM和InnoDB。
在详细介绍这些存储引擎以前,咱们先来看看MySQL的整个工做流程,看一下存储引擎在哪里,MySQL都作了哪些事情。前端
看下图:这是我在MySQL官方手册上拿下来的(手册你若是可以玩好,未来你就能作一个NB的DBA~~~)
来,看每一个部分的解释,看下图:node
二、MySQL存储引擎分类
前面咱们对MySQL进行操做的时候并无指定存储引擎,为何还能用呢,没有指定还能用,说明什么, 说明MySQL默认有一个存储引擎, 我记得MySQL5.5以前,默认的存储引擎是MyISAM,以后都改成InnoDB了, 咱们的重点就是这个InnoDB,也是公司中最经常使用的、最好用的引擎, 可是仍是一些公司在用MyISAM引擎, 除了历史缘由以外,还有MyISAM的效率比InnoDB高一点, InnoDB在这方面作了不少优化,效率已经和MyISAM差很少了, 可是InnoDB引擎还有好多其余的NB的功能, 下面咱们就介绍几种存储引擎。
首先看一下我们的默认存储引擎:python
查看引擎的几种方法
一、show engines;#查看MySQL全部的引擎, 二、show variables like "storage_engine%";查看当前正在使用的引擎 注意:在存储大文件的时候,能够存到数据库,可是尽可能别直接存到数据库里面,会影响数据库的效率, 咱们就存文件的路径、地址,用户想要这个大文件,咱们能够到对应的路径下取读取这个文件给用户。
三、几种经常使用引擎介绍
一、MyISAM引擎
MyISAM引擎特色 MyISAM引擎适用的生产业务场景 MyISAM引擎调优精要 关于MyISAM的一些其余介绍2.InnoDB引擎
InnoDB引擎特色 InnoDB引擎适用的生产业务场景 InnoDB引擎调优精要 关于InnoDB的一些其余介绍四、事务
简单地说,事务就是指逻辑上的一组SQL语句操做,组成这组操做的各个SQL语句, 执行时要么全成功要么全失败。事务的介绍及特性
在介绍上面两个引擎中涉及的两个概念(OLTP和OLAP)的介绍
参考文章:mysql
五、其余引擎的介绍
其余引擎简单介绍四、存储引擎的使用
一、建立表时指定引擎
create table innodb_t2(id int)engine=innodb;
二、在配置文件中指定默认的存储引擎
linux:vim /etc/my.cnf windows:my.ini文件 [mysqld] default-storage-engine=INNODB #配置默认引擎,如今用的mysql默认基本都是InnoDB,因此其实均可以不用配置了 innodb_file_per_table=1 #表示独立表空间存储,能够不写
三、不一样引擎在建立表的时候生成文件的不一样
建立四个表,分别使用innodb,myisam,memory,blackhole存储引擎,进行插入数据测试 #下面是使用四个不一样的引擎来建立的表 create table t1(id int)engine=innodb; create table t2(id int)engine=myisam; create table t3(id int)engine=memory; create table t4(id int)engine=blackhole; 经过四种引擎来建立的表,咱们对照着其生成的文件来看一下区别,看下图:
四、关于上面的文件做用介绍:
数据库文件夹中各文件的做用在Oracle 和SQL Server等全部数据存储管理机制都是同样的。 而MySql数据库提供了多种存储引擎。 用户能够根据不一样的需求为数据表选择不一样的存储引擎,用户也能够根据本身的须要编写本身的存储引擎。
Oracle中不存在引擎的概念,
数据处理大体能够分红两大类:联机事务处理OLTP(on-line transaction processing)、
联机分析处理OLAP(On-Line Analytical Processing)。
OLTP是传统的关系型数据库的主要应用,主要是基本的、平常的事务处理,例如银行交易。
OLAP是数据仓库系统的主要应用,支持复杂的分析操做,侧重决策支持,而且提供直观易懂的查询结果。linux
二、表介绍
表至关于文件,表中的一条记录就至关于文件的一行内容, 表中的一条记录有对应的标题,称为表的字段
第一行的id、name二、age是字段,,其他的,一行内容称为一条记录。sql
三、建立表
一、建立表的语法
#语法: create table 表名( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], 字段名3 类型[(宽度) 约束条件] ); #注意: 1. 在同一张表中,字段名是不能相同 2. 宽度和约束条件可选、非必须,宽度指的就是字段长度约束,例如:char(10)里面的10 3. 字段名和类型是必须的