mysql的概念
- 多张表形成一个库,多个库交给数据库服务器管理(如mysql服务器),一台服务器下有多个库,一个库下有多张表,表有多行多列的数据,作为web开发程序猿与表打交道比较多(增删改查)
- 客户端client–>服务端server的关系,就好像你的浏览器与–>163网站的服务器的关系一样,很多厂商都会按照sql标准来开发一套软件用来存储和管理数据,比如mysql,oracle.下载之后就有客户端,服务端就在厂商的服务器。
字符集
有时候操作数据库时会出现乱码的现象,所以可以通过修改字符编码来改变。
show variables like '%charact%';
//查看所有的字符集类型,然后就可以找到那个变量,使用第二步来进行改变,
set character_set_client = utf-8;
//单独设置客户端的字符集
set names utf8
//将client connection results 全部设置成utf8
索引
- 一般情况下,在没有建立索引的时候,mysql需要扫描全表及扫描10W条数据找这条数据,
- 如果我在nickname上建立索引,那么mysql只需要扫描一行数据及为我们找到这条nickname='css’的数据,是不是感觉性能提升了好多咧
- mysql的索引分为单列索引(主键索引,唯索引,普通索引)和组合索引.
单列索引:一个索引只包含一个列,一个表可以有多个单列索引.
组合索引:一个组合索引包含两个或两个以上的列,
单列索引
普通索引,这个是最基本的索引
两种方式建立索引:
CREATE INDEX 索引名称 ON 表名字(`列`(length));//第一种方式,(length可省