标签: mysql

11 篇文章

thumbnail
PHP重点知识复习 – MySQL数据库层的优化
一、数据表数据类型优化 1. tinyint、smallint、bigint 考虑空间的问题,考虑范围的问题 2.char、varchar 存储字符串长度是否固定 3.enum 特定、固定的分类可以使用enum存储,效率更快 4.IP地址的存储 使用ip2long()函数,将IP地址转为整型 使用long2ip()函数,将整型转化为IP地址 二、索…
thumbnail
PHP重点知识复习 – MySQL的安全性
一、SQL查询的安全方案 1.使用预处理语句防SQL注入,一般使用PDO处理 2.写入数据库的数据要进行特殊字符的转义 3.查询错误信息不要返回给用户,将错误记录到日志 注意:PHP端尽量使用PDO对数据库进行相关操作,PDO拥有对预处理语句很好的支持的方法,MySQLi也有,但是可扩展性不如PDO,效率略高于PDO,MySQL函数在新版本中已经趋…
thumbnail
PHP重点知识复习 – MySQL的高扩展和高可用(待完善)
一、分区表的原理 1.工作原理 创建表时使用 partition by 子句定义每个分区存放的数据,执行查询时,优化器会根据分区定义过滤那些没有我们需要数据的分区,这样查询只需要查询所需数据在的分区即可。 分区的主要目的是将数据按照一个较粗的粒度分在不同的表中,这样可以将相关的数据存放在一起,而且如果想一次性删除整个分区的数据也很方便。 2.适用场…
thumbnail
PHP重点知识复习 – MySQL的查询优化(待完善)
一、查找分析查询速度慢的原因 1.分析SQL查询慢的方法 记录慢查询日志 分析查询日志,不要直接打开慢查询日志进行分析,这样比较浪费时间和精力,可以使用pt-query-digest工具进行分析 2.使用 show profile set profiling = 1; 开启服务器上执行的所有语句检测消耗的时间,存到临时表中 show profile…
thumbnail
PHP重点知识复习 – MySQL的SQL语句编写
一、MySQL的关联更新UPDATE语句 1.关联更新 真题测试:有A(id,sex,par,c1,c2),B(id,age,c1,c2)两张表,其中A.id与B.id关联,现在要求写出一条SQL语句,将B中age>50的记录的c1,c2更新到A表中统一记录中的c1,c2字段中 解答: UPDATE A,B SET A.c1 = B.c1, …
thumbnail
PHP重点知识复习 – MySQL索引的基础和类型
一、MySQL索引的基础和类型 1.索引的基础 索引类似于书籍的目录,要想找到一本书的某个特定主题,需要先查找书的目录,定位对应的页码。 存储引擎使用类似的方式进行数据查询,先去索引当中找到对应的值,然后根据匹配的索引找到对应的数据行。 2.索引对性能的影响 优点: 大大减少服务器需要扫描的数据量 帮助服务器避免排序和临时表 将随机I/O变成顺序I…
thumbnail
PHP重点知识复习 – MySQL数据库基础
一、MySQL数据类型 1.整数类型 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT 属性:UNSIGNED 2.实数类型 FLOAT、DOUBLE、DECIMAL DECIMAL存储比BIGINT更大的整数,可以存储精确的小数 FLOAT和DOUBLE类型支持使用标准的浮点进行近似计算 3.字符串类型 VARCHAR、…
thumbnail
MySQL数据库使用唯一索引避免重复插入数据
我们在MySQL数据库时,有时不希望存入重复的数据。比如用户表中想要每个用户的用户名不重复。除了,在插入数据时使用程序查询数据库判断,我们还可以使用MySQL数据库的唯一索引进行限制。以下说下具体操作方法: 1.在数据库表中为某个字段设置唯一索引,比如用户表中的 username 字段,设置唯一索引 UNIQUE ALTER TABLE user …
thumbnail
PHP入门 – PHP连接并操作MySQL数据库
本节文章主要介绍使用mysql_connect()函数连接数据库,同时使用mysql_*相关函数操作数据库。 关于mysql_*函数以及对应的mysql扩展库有以下说明: PHP5中使用mysql_connect()函数进行连接,但是从PHP5.5开始,MySQL就不推荐使用了,属于废弃函数。 PHP7中已经彻底不支持了,根据官网说明,取而代之的是…
PHP入门 – SQL语句设计/数据表增删改查
在我们创建好数据库和数据表后,我们就需要往数据表里插入数据了。这也是我们经常听到的增删改查。 操作数据表中的数据记录 1.使用INSERT语句向数据表中添加数据 格式: INSERT INTO 表名 [(字段名1,…字段名n)] VALUES(‘值1’,…,’值n’); INSERT INTO 表名 [(字段名1,…字段名n)] VALUES(‘值…