<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Language_Participant的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Language_Participant</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Language_Participant]]></copyright><item><title><![CDATA[【MySQL必知必会】第30章 改善性能(学习笔记)]]></title><link>https://blog.youkuaiyun.com/Language_Participant/article/details/131707755</link><guid>https://blog.youkuaiyun.com/Language_Participant/article/details/131707755</guid><author>Language_Participant</author><pubDate>Thu, 13 Jul 2023 21:08:24 +0800</pubDate><description><![CDATA[改善性能

遵循硬件协议
	运行在专用服务器上
	调整内存分配、缓冲区大小
	遇到显著性能不良，show processlist显示所有活动 kill命令终结某个特定进程
	尝试联结、并、子查询等，找出最佳select
	使用explain可解释如何执行一条select语句
	一般存储过程比一条一条执行select要快
	使用正确的数据类型
	决不要检索比需求还多的数据
	导入数据时，应关闭自动提交
	必须索引数据库表以改善数据检索的性能
	union可提高性能
	like很慢
	数据库是不断变化的实体
	]]></description><category></category></item><item><title><![CDATA[【MySQL必知必会】第29章 数据库维护(学习笔记)]]></title><link>https://blog.youkuaiyun.com/Language_Participant/article/details/131707264</link><guid>https://blog.youkuaiyun.com/Language_Participant/article/details/131707264</guid><author>Language_Participant</author><pubDate>Thu, 13 Jul 2023 17:26:10 +0800</pubDate><description><![CDATA[备份数据

适应命令行实用程序mysqldump转储所有数据库内容到某个外部文件
	命令行实用程序mysqlhotcopy从一个数据库复制所有数据
	可以使用MySQL的backup table或select into outfile转储所有数据到某个外部文件
	备份前使用flush tables语句
进行数据库维护

analyze table，用来检查表键是否正确
	check table用来针对许多问题对表进行检查
	--help显示帮助
	--safe-mode装载减去某些最佳配置的服务器
	--v]]></description><category></category></item><item><title><![CDATA[【MySQL必知必会】第28章 安全管理(学习笔记)]]></title><link>https://blog.youkuaiyun.com/Language_Participant/article/details/131706482</link><guid>https://blog.youkuaiyun.com/Language_Participant/article/details/131706482</guid><author>Language_Participant</author><pubDate>Thu, 13 Jul 2023 17:11:08 +0800</pubDate><description><![CDATA[访问控制

MySQL服务器的安全基础是:用户应该对他们需要的数据具有适当的访问权，既不能多也不能少。换句话说，用户不能对过多的数据具有过多的访问权
	多数用户只需要对表进行读和写
	某些用户需要读表，但可能不需要更新表
	你可能想允许用户添加数据，但不允许他们删除数据
	某些用户(管理员)可能需要处理用户账号的权限
	想让用户通过存储过程访问数据，但不允许他们直接访问数据
	根据用户的登陆地点限制对某些功能的访问
	数据梦魇更为常见的是无意识错误的结果
	不要使用root，应该严肃对待root登录的使用
]]></description><category></category></item><item><title><![CDATA[【MySQL必知必会】第27章 全球化和本地化(学习笔记)]]></title><link>https://blog.youkuaiyun.com/Language_Participant/article/details/131705305</link><guid>https://blog.youkuaiyun.com/Language_Participant/article/details/131705305</guid><author>Language_Participant</author><pubDate>Thu, 13 Jul 2023 16:25:52 +0800</pubDate><description><![CDATA[字符集和校对顺序

字符集，为字母和符号的集合
	编码，为某个字符集成员的内部表示
	校对，为规定字符如何比较的指令
	show character set;这条语句显示所有可用的字符集以及每个字符集的描述和默认校对
	show collation;此语句显示所有可用的校对，以及它们适用的字符集
	show variables like 'character%'显示配置
	create table mytable(column1 int, column2 varchar(20))default charac]]></description><category></category></item><item><title><![CDATA[【MySQL必知必会】第26章 管理事务处理(学习笔记)]]></title><link>https://blog.youkuaiyun.com/Language_Participant/article/details/131704331</link><guid>https://blog.youkuaiyun.com/Language_Participant/article/details/131704331</guid><author>Language_Participant</author><pubDate>Thu, 13 Jul 2023 16:14:18 +0800</pubDate><description><![CDATA[使用语句start transaction标识事务的开始。]]></description><category></category></item><item><title><![CDATA[【MySQL必知必会】第25章 使用触发器(学习笔记)]]></title><link>https://blog.youkuaiyun.com/Language_Participant/article/details/131704003</link><guid>https://blog.youkuaiyun.com/Language_Participant/article/details/131704003</guid><author>Language_Participant</author><pubDate>Thu, 13 Jul 2023 15:43:25 +0800</pubDate><description><![CDATA[创建触发器

唯一的触发器名
	触发器关联的表
	触发器应该响应的活动(delete,insert或update)
	触发器何时执行(处理之前或之后)
	create trigger newproduct after insert on products for each row select 'product added' into @asd
	插入一条记录后，select @asd;就会显示product added消息
	删除触发器drop trigger newproduct;
	insert触发器]]></description><category></category></item><item><title><![CDATA[【MySQL必知必会】第24章 使用游标(学习笔记)]]></title><link>https://blog.youkuaiyun.com/Language_Participant/article/details/131703476</link><guid>https://blog.youkuaiyun.com/Language_Participant/article/details/131703476</guid><author>Language_Participant</author><pubDate>Thu, 13 Jul 2023 15:33:11 +0800</pubDate><description><![CDATA[其中fetch用来检索当前行的order列，将自动从第一行开始，放到名为o的局部声明的变量中，对检索出的数据不做处理。]]></description><category></category></item><item><title><![CDATA[【MySQL必知必会】第23章 使用存储过程（学习笔记）]]></title><link>https://blog.youkuaiyun.com/Language_Participant/article/details/131699575</link><guid>https://blog.youkuaiyun.com/Language_Participant/article/details/131699575</guid><author>Language_Participant</author><pubDate>Thu, 13 Jul 2023 15:16:03 +0800</pubDate><description><![CDATA[存储过程

存储过程简单来说，就是为以后的使用而保存的一条或多条MySQL语句的集合
	通过把处理封装在容易使用的单元中，简化复杂操作
	由于不要求反复建立一系列处理步骤，保证了数据的完整性
	简化对变动的管理
	提高性能
	存储过程可用来编写功能更强更灵活的代码
使用存储过程

MySQL称存储过程的执行为调用，语句为call
	create procedure pring() begin select avg(price) as priceaverage from products; end;
	如有问]]></description><category></category></item><item><title><![CDATA[【MySQL必知必会】第22章 使用视图(学习笔记)]]></title><link>https://blog.youkuaiyun.com/Language_Participant/article/details/131699341</link><guid>https://blog.youkuaiyun.com/Language_Participant/article/details/131699341</guid><author>Language_Participant</author><pubDate>Thu, 13 Jul 2023 12:04:52 +0800</pubDate><description><![CDATA[视图

视图是虚拟的表，与包含数据的表不一样，视图只包含适应时动态检索数据的查询
	使用视图可重用SQL、简化复杂的SQL操作、使用表的组成部分而不是整个表、保护数据、更改数据格式和表示
	如果用多个联结和过滤创建了复杂的视图或者嵌套了视图，可能会发现性能下降得很厉害，因此 在部署使用了大量视图的应用前，应该进行测试
视图的规则和限制

与表一样，视图必须唯一命名
	对于可以创建的视图数目没有限制
	为了创建视图，必须具有足够的访问权限
	视图可以嵌套
	order by可以用在视图中
	视图不能索引，也不]]></description><category></category></item><item><title><![CDATA[【MySQL必知必会】第21章 创建和操纵表（学习笔记）]]></title><link>https://blog.youkuaiyun.com/Language_Participant/article/details/131683091</link><guid>https://blog.youkuaiyun.com/Language_Participant/article/details/131683091</guid><author>Language_Participant</author><pubDate>Thu, 13 Jul 2023 11:49:13 +0800</pubDate><description><![CDATA[创建表

新表的名字，在关键字create table之后给出
	表列的名字和定义，用逗号分隔
	表的主键可以在创建表时用primary key关键字指定
	语句可以在一个长行上输入，也可以分成许多行
	如果你仅想在一个表不存在的时候创建它，应该在表名前/后加上if not exists
	使用not null，不允许null值的列不接受该列没有值的行，null值就是没有值或缺值
	不要把null值与空串相混淆，null值是没有值，它不是空串，如果指定''（两个单引号，其间没有字符），这在not null列]]></description><category></category></item><item><title><![CDATA[【MySQL必知必会】第20章 更新和删除数据（学习笔记）]]></title><link>https://blog.youkuaiyun.com/Language_Participant/article/details/131680131</link><guid>https://blog.youkuaiyun.com/Language_Participant/article/details/131680131</guid><author>Language_Participant</author><pubDate>Wed, 12 Jul 2023 14:19:05 +0800</pubDate><description><![CDATA[更新数据

使用update更新表中特定行
	更新表中所有行
	不要省略where子句，在使用update时一定要注意细心，因为稍不注意，就会更新表中所有行
	更新多个列时，只需要使用单个set命令，每个"列=值"对之间用逗号分隔（最后一列之后不用逗号）
	即使发生错误，也持续进行更新，可使用ingore关键字，update ingore tablename...
	为删除某个列的值，可以设置它为null
删除数据

使用delete从表中删除特定行
	从表中删除所有行
	不要省略where子句
	dele]]></description><category></category></item><item><title><![CDATA[【MySQL必知必会】第19章 插入数据（学习笔记）]]></title><link>https://blog.youkuaiyun.com/Language_Participant/article/details/131679786</link><guid>https://blog.youkuaiyun.com/Language_Participant/article/details/131679786</guid><author>Language_Participant</author><pubDate>Wed, 12 Jul 2023 13:55:07 +0800</pubDate><description><![CDATA[values必须以其指定的次序匹配指定的列名，不一定按各个列在表中出现的顺序。其优点是，即使表的结构改变，此insert语句仍然能正常工作。不写列名，插入，如果有default value 会默认写入，没有default value则为null。插入多行，values用逗号分隔。不想插入某行可以写null。]]></description><category></category></item><item><title><![CDATA[【MySQL必知必会】第18章 全文本搜索(学习笔记)]]></title><link>https://blog.youkuaiyun.com/Language_Participant/article/details/131678380</link><guid>https://blog.youkuaiyun.com/Language_Participant/article/details/131678380</guid><author>Language_Participant</author><pubDate>Wed, 12 Jul 2023 12:05:07 +0800</pubDate><description><![CDATA[两个最常使用的引擎为MyISAM和InnoDB，前者支持全文本搜索，而后者不支持。]]></description><category></category></item><item><title><![CDATA[【MySQL必知必会】第17章 组合查询（学习笔记）]]></title><link>https://blog.youkuaiyun.com/Language_Participant/article/details/131677734</link><guid>https://blog.youkuaiyun.com/Language_Participant/article/details/131677734</guid><author>Language_Participant</author><pubDate>Wed, 12 Jul 2023 11:37:00 +0800</pubDate><description><![CDATA[组合查询

MySQL允许执行多个查询(多条select语句)，并将结果作为单个查询结果集返回，这些组合查询通常称为并(union)或复合查询(compound query)
	有两种基本情况 ，其中需要使用组合查询:在单个查询中从不同的表返回类似结构的数据;对单个表执行多个查询，按单个查询返回数据
创建组合查询

可用union操作符来组合数条SQL查询
	union的使用很简单，所需做的只是给出每条select语句，在各条语句之间放上关键字union
	使用union可能比使用where子句更为复杂，但]]></description><category></category></item><item><title><![CDATA[【MySQL必知必会】第16章 创建高级联结（学习笔记）]]></title><link>https://blog.youkuaiyun.com/Language_Participant/article/details/131676342</link><guid>https://blog.youkuaiyun.com/Language_Participant/article/details/131676342</guid><author>Language_Participant</author><pubDate>Wed, 12 Jul 2023 11:08:07 +0800</pubDate><description><![CDATA[使用表别名

customers as c建立c作为customers的别名，这使得能使用省写的c而不是全名customers
	表别名只在查询执行中使用，与列别名不一样，表别名不但会到客户机
使用不同类型的联结

自联结通常作为外部语句用来替代从相同表中检索数据时使用的子查询语句。虽然最终的结果是相同的 但有时候处理联结远比处理子查询快得多
	select p1.prod_id,p1.prod_name from products as p1,products as p2 where p1.vend_id]]></description><category></category></item><item><title><![CDATA[【MySQL必知必会】第15章 联结表（学习笔记）]]></title><link>https://blog.youkuaiyun.com/Language_Participant/article/details/131674004</link><guid>https://blog.youkuaiyun.com/Language_Participant/article/details/131674004</guid><author>Language_Participant</author><pubDate>Wed, 12 Jul 2023 10:35:36 +0800</pubDate><description><![CDATA[SQL最强大的功能之一就是能在数据检索查询的执行中联结（join）表。联结是利用SQL的select能执行的最重要的操作。]]></description><category></category></item><item><title><![CDATA[【MySQL必知必会】第14章 使用子查询（学习笔记）]]></title><link>https://blog.youkuaiyun.com/Language_Participant/article/details/131673675</link><guid>https://blog.youkuaiyun.com/Language_Participant/article/details/131673675</guid><author>Language_Participant</author><pubDate>Wed, 12 Jul 2023 09:15:29 +0800</pubDate><description><![CDATA[子查询

查询（query）任何SQL语句都是查询。但此术语一般指select语句
	SQL还允许创建子查询（subquery），即嵌套在其他查询中的查询
利用子查询进行过滤

可以把一条select语句返回的结果用于另一条select语句的where子句
	格式化SQL，包含子查询的select语句难以阅读和调试，特别是它们较为复杂时更是如此，把子查询分解为多行并且适当地进行缩进，能极大的简化子查询的使用
	不过在实际使用时由于性能的限制，不能嵌套太多的子查询
	虽然子查询一般与in操作符结合使用，但也可]]></description><category></category></item><item><title><![CDATA[【MySQL必知必会】第13章 分组数据（学习笔记）]]></title><link>https://blog.youkuaiyun.com/Language_Participant/article/details/131673167</link><guid>https://blog.youkuaiyun.com/Language_Participant/article/details/131673167</guid><author>Language_Participant</author><pubDate>Wed, 12 Jul 2023 09:00:17 +0800</pubDate><description><![CDATA[分组允许把数据分成多个逻辑组，以便能对每个分组进行聚集计算。]]></description><category></category></item><item><title><![CDATA[【MySQL必知必会】第12章 汇总数据（学习笔记）]]></title><link>https://blog.youkuaiyun.com/Language_Participant/article/details/131672919</link><guid>https://blog.youkuaiyun.com/Language_Participant/article/details/131672919</guid><author>Language_Participant</author><pubDate>Wed, 12 Jul 2023 06:55:48 +0800</pubDate><description><![CDATA[聚集函数

聚集函数（aggregate function）运行在行组上，计算和返回单个值的函数
	AVG()返回某列的平均值
	COUNY()返回某列的行数
	MAX()返回某列的最大值
	MIN()返回某列的最小值
	SUM()返回某列值之和
	AVG()只用于单个列
	AVG()、MAX()、MIN()、SUM()忽略列值为NULL的行
	使用COUNT(*)对表中行的数目进行计数，不管表列中包含的是空值(NULL)还是非空值
	使用COUNT(column)对特定列中具有值的行进行计数，忽略NULL]]></description><category></category></item><item><title><![CDATA[【MySQL必知必会】第11章 使用数据处理函数（学习笔记）]]></title><link>https://blog.youkuaiyun.com/Language_Participant/article/details/131658549</link><guid>https://blog.youkuaiyun.com/Language_Participant/article/details/131658549</guid><author>Language_Participant</author><pubDate>Tue, 11 Jul 2023 14:11:14 +0800</pubDate><description><![CDATA[函数没有SQL的可移植性强，能运行在多个系统上的代码称为可移植的（portable）]]></description><category></category></item></channel></rss>