MySQL基础笔记(四) 索引】的更多相关文章

MySQL基础(四)--索引…
数据操作 新增数据:两种方案. 1.方案一,给全表字段插入数据,不需要指定字段列表,要求数据的值出现的顺序必须与表中设计的字段出现的顺序一致.凡是非数值数据,到需要使用引号(建议使用单引号)包裹. insert into 表名 values(值列表)[,(值列表)]: -- 可以一次性插入多条记录. 2.方案二,给部分字段插入数据,需要选定字段列表,字段列表出现的顺序与字段的顺序无关,但是值列表的顺序必须与选定字段的顺序一致. insert into 表名 (字段列表) values (值列表)…
作业:站点统计 1.将用户的访问信息记录到文件中,独占一行,记录IP地址 <?php //站点统计 header('Content-type:text/html;charset=utf-8'); //获取用户信息 $ip = $_SERVER['REMOTE_ADDR']; //写入文件(追加) file_put_contents('record.text',$ip."\r\n",FILE_APPEND); 2.所有信息都是通过文件中记录的内容来计算的,读取整个文件,一行代表访问…
数据表的操作 表与字段是密不可分的. 新增数据表 Create table [if not exists] 表名( 字段名 数据类型, 字段名 数据类型, 字段n 数据类型 --最后一行不需要加逗号 )[表选项]; If not exists:如果表名不存在,那么就创建,否则不执行创建代码,实现检查功能. 表选项:控制表的表现 1.字符集:charset/character 具体字符集:--保证表中数据存储的字符集. 2.校对集:collate 具体校对集: 3.存储引擎:engine 具体的存…
数据类型(列类型) 所谓数据烈性,就是对数据进行统一的分类.从系统角度出发时为了能够使用统一的方式进行管理,更好的利用有限的空间. SQL中讲数据类型分成三大类:1.数值类型,2.字符串类型和时间日期类型.…
SQL基本操作 基本操作:CRUD,增删改查 将SQL的基本操作根据操作对象进行分类: 1.库操作 2.表操作 3.数据操作 库操作: 对数据库的增删改查 新增数据库: 基本语法: Create database 数据库名字[库选项]: 库选项:用来约束数据库,分为两个选项:1.字符集设定:charset/character set 具体字符集(数据存储的编码格式,中文常用字符集gbk和utf8.).2.校对集设定:collate 具体校对集(数据比较的规则). 例如:…
关系型数据库概念: 1.什么是关系型数据库? 关系型数据库:是一种建立在关系模型(数学模型)上的数据库 关系模型:一种所谓建立在关系上的模型. 关系模型包含三个方面: 1.数据结构:数据存储的问题,二维表(有行和列). 2.操作指令集合:所有SQL语句. 3.完整性约束:表内数据约束(字段与字段),表与表间约束(外键). 2.关系型数据库的设计? 关系型数据库:从需要存储的数据需求中分析,如果是一类数据(实体)应该设计成一张二位表 表是由表头(字段名:用来规定数据的名字)和数据比分组成(实际存储…
MySql学习笔记四 5.3.数据类型 数值型 整型 小数 定点数 浮点数 字符型 较短的文本:char, varchar 较长的文本:text, blob(较长的二进制数据) 日期型 原则:所选择类型越简单越好,能保存数值的类型越小越好 5.3.1.数值型 5.3.1.1.整型 Tinyint: 一个字节 Smallint:两个字节 Mediumint:三个字节 Int, Integer:四个字节 Bigint:八个字节 默认是有符号,无符号整型是在类型后加unsigned 超出范围时是距离范…
Mysql语句优化--索引 一.开始优化前的准备 一)explain语句 当MySql要执行一个查询语句的时候,它首先会对语句进行语法检查,然后生成一个QEP(Query Execution Plan) QEP决定了MySql从底层存储引擎获取信息的方式. 语法:explain [extended | partitions] select ...... 或者:explain tableName (此时相当与desc语句) explain select * from artist where na…
一.什么是索引 索引(Index),可以看作一个指针,指向表里的数据.当数据库没有索引时,查找信息通常是全表扫描:使用了索引,它就会直接引导到数据在表里的准确物理位置. 优点:索引的主要目的是提高数据检索的性能,在数据量比较大时尤其明显. 缺点: 索引通常与相应的表是分开保存的,索引也会占据物理存储空间,而且可能比表本身还大. 索引的维护(索引项的添加和删除)有时间消耗,会影响数据检索的速度. 当为字段添加了索引后,索引里记录了与被索引字段相关联的位置值.当表里添加新数据时,索引里也会添加新项.…
一.登录参数 -D 打开指定数据库 -h 服务器名称 -p 密码 -P 端口 -u 用户名 -V 输出版本信息并退出 --prompt 提示符 mysql> ,或者登陆后 用prompt命令 提示符:\D 完整的日期\d 当前数据库\h 服务器名称\u 当前用户 二.常用命令 1.显示当前服务器版本 select version(); 2.显示当前时间 select now(); 3.显示当前用户 select user(); 4.显示当前用户打开的数据库 select database();…
一.索引的优点:查询速度快 二.索引的缺点: 1. 增.删.改(数据操作语句)效率低了 2. 索引占用空间 三.索引类型: 1. 普通索引 2. 唯一索引(唯一键) 3. 主键索引:只要主键就自动创建主键索引,不需要手动创建 4. 全文索引,搜索引擎使用,mysql不支持中文的全文索引,我们通过sphinx去解决中文的全文索引 四.创建索引 1. 创建普通索引 a. 语法:create index 索引名 on 表名 (字段名) alter table 表名 add index [索引的名称]…
Mysql快速入门 一)基本概念 1)表 行被称为记录,是组织数据的单位.列被称为字段,每一列表示记录的一个属性. 2)主键 主键用于唯一的标识表中的每一条记录.可以定义表中的一列或者多列为主键, 但每张表中主键只能有一个,主键列上不能有两行相同的值,也不能为空值. 二)数据库基本操作 1)从命令行登陆mysql: mysql -h hostName -u loginName -p 2)查看当前所有数据库: shwo databases; 3)创建数据库: create database tan…
1. 显示数据库列表 show databases; # 查看当前所有数据库 show databases \G   #以行的方式显示 2. 在命令行中,执行sql语句 mysql -e 'show databases' -uroot -p123456 mysqlshow -uroot -p123456 # 不常用,记住上面那个就行了 3.创建数据库语法 create database 数据库名; 例如: create database `HA-test`; 4. 切换数据库 use HA-te…
写在开头:本文所有的示例都是基于workers表,表中保存了某公司的员工姓名.性别.工资.年龄和居住城市,如下: +----+-----------+--------+--------+------+----------------+ | id | name | sex | salary | age | city | +----+-----------+--------+--------+------+----------------+ | 2 | Paul | male | 5170 | 23…
一.什么是视图 视图是一个虚拟表.也就是说,视图在外观和行为上都类似于表,但它不需要实际的物理存储,只保存了视图定义(查询语句). 视图由select查询所定义 -- 当创建一个视图时,实际上是在数据库里执行了一个select语句,它从一个或多个表中导出这个视图. 对视图的操作与对表的操作一样,可以对视图进行查询.更新.删除. 视图只是从表里引用数据,所以对视图的更新会反映到表中,对表的更新也会反映到视图中. 如果用于创建视图的表被删除了,该视图将不可访问. 视图的作用: 简化数据访问.当我们需…
转载自 http://blog.csdn.net/evankaka MySQL数据库中提供了很丰富的函数.MySQL函数包括数学函数.字符串函数.日期和时间函数.条件判断函数.系统信息函数.加密函数.格式化函数等.通过这些函数,可以简化用户的操作.例如,字符串连接函数可以很方便的将多个字符串连接在一起.在这一讲中将讲解的内容包括:数学函数 字符串函数 日期和时间函数 条件判断函数 系统信息函数 加密函数 格式化函数 聚合函数 MySQL函数是MySQL数据库提供的内部函数.这些内部函数可以帮助用…
一.概述 1.基本概念       在大型数据库中,一张表中要容纳几万.几十万,甚至几百万的的数据,而当这些表与其他表连接后,所得到的新的数据数目更是要大大超出原来的表.当用户检索这么大量的数据时,经常会感觉慢.这个时候要提高数据库的检索性能,就必须要用到索引.给表追加合适的索引能极大的改善数据检索的效率,提供数据库性能.      索引是在存储引擎中实现的,因此每种存储引擎的索引都不一定完全相同,而且每种存储引擎也不一定支持所有的索引类型.      所有存储引擎支持每个表至多16个索引,总索…
一:几种常用存储引擎汇总表 二:如何选择 一句话:除非需要InnoDB 不具备的特性,并且没有其他办法替代,否则都应该优先考虑InnoDB:或者,不需要InnoDB的特性,并且其他的引擎更加合适当前情况,例如 多读少写,对数据恢复要求不高,反而是 对存储空间要求较高. ****尤其注意:不要低估数据崩溃后恢复的重要性,MyISAM将数据写入内存中,然后等待操作系统定期将数据刷回磁盘.   MyISAM:默认的MySQL插件式存储引擎.如果应用是以读操作和插入操作为主,只有很少的更新和删除操作,…
要点:ab复制 mysql集群架构流程: ABB(主从复制)-->MHA(实现mysql高可用.读写分离.脚本控制vip飘逸)-->haproxy(对slave集群实现分发,负载均衡)-->keepalive(预防一台haproxy单点故障,对两台及以上的haproxy实现高可用) 1.MySQL复制特性 --MySQL AB复制,即主从复制 master slave 备份(容灾) 减轻master压力 AB 读写分离 拓展: AA master-master 主主复制 ABBB 一主多…
我们知道,一种数据模型必须包含三个基本的部分: 构造机制(数据结构):主要描述数据的类型.内容.性质以及数据间的联系等. 运算机制(数据操作):主要描述在相应的数据结构上的操作类型和操作方式. 约束机制(数据约束):主要描述数据结构内数据间的语法.词义联系.他们之间的制约和依存关系,以及数据动态变化的规则,以保证数据的正确.有效和相容. 作为数据库的一种数据模型,关系模型提供了一组完整性规则或限制.完整性约束用于确定关系数据库里数据的准确性和一致性. 在关系型数据库里,完整性约束包括域完整性.实…
MySQL是一个关系型数据库管理系统(RDBMS),它是当前最流行的 RDBMS 之一.MySQL分为社区版和企业版,由于其体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库. 一.什么是SQL SQL,即结构化查询语言(Structured Query Language),是与关系型数据库进行通信的标准语言.目前最新的标准是2008年7月开始采用的SQL-2008. 所谓SQL实现是指特定厂商的SQL产品或关系型数据库管理系统(RDB…
1.字符集就是字符和其编码的集合,查看数据库支持的字符集 show character set 2.查看服务端启动时默认的字符集 mysql> show variables like 'character_set_%'; +--------------------------+-------------------------------------------+ | Variable_name | Value | +--------------------------+------------…
字符串类型 在SQL中,讲字符串类型分成了六类:char,varchar,text,blob,enum,set char,定长字符串 磁盘(二维表)在定义结构的时候,就已经确定了最终数据的存储长度. char(L):L代表length,可以存储长度,单位为字符.最大长度值为255. varchar变长字符串 在分配空间的时候,按照最大的空间分配,但是实际上最终用了多少空间,是根据具体的数据来确定的. varchar(L):L表示字符长度,理论长度是65536个字符,但是会多出1到2个字节来确定存…
创建新表新索引 CREATE TABLE 表名(数据名 类型,INDEX  索引名称(属性)) 创建存在表的索引 CREATE INDEX 索引名称  ON 表名(属性) 修改索引 ALTER TABLE 表名   ADD INDEX 索引名称(属性) 删除索引 DROP INDEX 索引名称  ON  表名…
一.概述      存储过程是数据库定义的一些SQL语句的集合,然后直接调用这些存储过程和函数来执行已经定义好的SQL语句.存储过程可以避免开发人员重复的编写相同的SQL语句,而且存储过程是在MySql服务器中存储和执行的,可以减少客户端与服务器端的数据传输.   1.优点 (1)提供执行性能     通常在客户端执行SQL命令时,在数据库有解析到编译这个前期准备过程.但是,存储过程是先完成了解析.编译的处理后保存在数据库中的,执行时能减轻数据库负担,提高执行性能.   (2)可减轻网络负担  …
其他重要的事情 一)索引管理优化 1.把多条alter语句整合为一条 2.去除重复的索引 1)当一个索引的最左边部分包含到其他索引中时,被认定为重复索引 create table user( id int primary key auto_increment, name ), address ), age tinyint, index m1 (name, address), index m2 (name, age) ); 2)主键不需要额外添加为索引 3.删除不用的索引 二)数据类型相关的改进…
所谓复杂查询,指涉及多个表.具有嵌套等复杂结构的查询.这里简要介绍典型的几种复杂查询格式. 一.连接查询 连接是区别关系与非关系系统的最重要的标志.通过连接运算符可以实现多个表查询.连接查询主要包括内连接.外连接等. 假设有Student和Grade两个表如下: +-----+--------+-------+ +-----+------------+--------+ | sID | sName | sDept | | gID | gCourse | gScore | +-----+-----…
<1>概念 是一种限制,它是对表的行和列的数据做出约束,确保表中的数据的完整性和唯一性. <2>使用场景 创建表的时候,添加约束 <3>分类 1. default:默认约束,域完整性 2. not null:非空约束,域完整性 3. unique:唯一约束,实体完整性 4. primary key:主键约束,实体完整性 5. foreign key:外键约束,参照完整性 6. check:检查约束(MySQL不支持),域完整性 7. atuo_increment:自增长…
事务 概念 事务由单独单元的一个或多个SQL语句组成,在这 个单元中,每个MySQL语句是相互依赖的.而整个单独单 元作为一个不可分割的整体,如果单元中某条SQL语句一 旦执行失败或产生错误,整个单元将会回滚.所有受到影 响的数据将返回到事物开始以前的状态:如果单元中的所 有SQL语句均执行成功,则事物被顺利执行. 存储引擎 概念 在mysql中的数据用各种不同的技术存储 在文件(或内存)中. 查看 通过 show engines: 来查看mysql支持的存储引擎. 常见引擎 在mysql中用的…