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