当前位置:七道奇文章资讯数据防范MySQL防范
日期:2012-06-02 15:05:00  来源:本站整理

MySql 备忘录[MySQL防范]

赞助商链接



  本文“MySql 备忘录[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1、关于空值
提醒:

在MySQL中假如不为NOT NULL字段赋值(平等于赋NULL值)

比方:
为一个NOT NULL的整型赋NULL值,后果是0,它并不会出错,
为一个NOT NULL的CHAR型赋NULL值,后果是''(空字符串)
DATATIME
-> '0000-00-00 00:00:00 '
MySQL会自动将NULL值转化为该字段的默许值, 那怕是你在表定义时没有明确地为该字段设置默许值.

也就是说,MySQL中NOT NULL并非一个约束条件了.

假如字段设置为可空,则插入记录时假如没有给该字段赋值,那么MySQL自动用Default的值,假如没有设置Default,则无论是该字段是什么范例该字段值为NULL.
字段能否可空,固然不是一个约束条件,却会改变系统赋默许值的方法.
疑问:以上法则能否仅限于MyIsam表,InnoDB呢??也是这样处理的吗??

衔接字符集和校对
character_set_server和collation_server 服务器字符集和校对法则
character_set_database和collation_database 默许的数据库字符集和校对法则

#当查询脱离客户端后,在查询中利用哪类字符集?
服务器利用character_set_client变量作为客户端发送的查询中利用的字符集.
#服务器接纳到查询后应当转换为哪类字符集?
服务器将客户端发送的查询从character_set_client转换到character_set_connection
#服务器发送后果集或返回错误信息到客户端之前应当转换为哪类字符集?
character_set_results变量指导服务器返回查询后果到客户端利用的字符集.
包含后果数据(列值)和后果元数据(列名).
有两个语句影响衔接字符集:

SET NAMES 'charset_name'
SET CHARACTER SET charset_name
SET NAMES 'x'语句与这三个语句等价:
mysql> SET character_set_client = x;
mysql> SET character_set_results = x;
mysql> SET character_set_connection = x;
SET CHARACTER SET x语句与这三个语句等价:
mysql> SET character_set_client = x;
mysql> SET character_set_results = x;
mysql> SET collation_connection = @@collation_database; (设置为默许的数据库衔接字符集和校对法则)

深化Mysql字符集设置 http://www.jb51.net/article/29960.htm

用于元数据的UTF8
元数据是"关于数据的数据".描写数据库的任何数据—作为数据库内容的对峙面—是元数据.因此,列名、数据库名、用户名、版本名以及从SHOW语句得到的后果中的大部份字符串是元数据.还包含INFORMATION_SCHEMA数据库中的表中的内容,因为定义的那些表存储关于数据库对象的信息.

元数据表述必须满意这些需求:

· 全部元数据必须在同一字符集内.不然,对INFORM一个TION_SCHEMA数据库中的表履行的SHOW号令和SELECT查询不能正常工作,因为这些运算后果中的同一列的差别行将会利用差别的字符集.

· 元数据必须包含全部语言的全部字符.不然,用户将不可以利用它们自己的语言来命名列和表.

为了满意这两个需求,MySQL利用Unicode字符集存储元数据,即UTF8.

服务器将character_set_system系统变量设置为元数据字符集的名:

mysql> SHOW VARIABLES LIKE 'character_set_system';

mysql> SHOW VARIABLES LIKE 'character%';查看当前数据库的字符集设置情
  以上是“MySql 备忘录[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • Windows 搭配 IIS7 PHP MySQL 环境
  • mysql Out of memory (Needed 16777224 bytes)的错误办理
  • mysql提醒[Warning] Invalid (old?) table or database name问题的办理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • MySQL Order By语法介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • mysql数据库插入速度和读取速度的调整记录
  • MySQL Order By索引优化办法
  • MySQL Order By用法分享
  • mysql #1062 –Duplicate entry ''1'' for key ''PRIMARY''
  • MySQL Order By Rand()效率解析
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .