2.1MySQL语法基础
2.1.1字符集与标识符
1.字符-是指人类语言中最小的表义符号。字符校对原则也称为字符序是指在同一字符集之间的比较规则。字符集只有在顺序确定后,才能定义什么是等价的字符,以及标价大小
mysal默认字符集为latin1.mysal字符集可以细化分4个层次,服务器(server),数据库(DB),数据表(table),连接层(Connection)。
mysal中的字符命名遵循命名惯性:已字符集对应的名字开头:_ci(大小写不敏感),_cs(大小写敏感)或_bin(表示按编码直比较)结尾。
如果不设置默认latin1字符集
2.字符序与常用字符集
mysql字符集可以用show character set 语句查询。
对于任意一个字符集至少有一个校对原则,也可能几个校对原则
latin1是8为字符集,用拉丁字母表中的特殊语言的编码
utf-8被称为通用语言转换格式,是国际的多字节编码,英文8位,中文24位,通用性强
gb2321简体中文字符集,双字节,国家编码,通用性差占内存比utf-8小
gbk,gb2321等与utf-8都必须Unicode编码才能转换。现在很多论坛都只支持gbk
3.标识符和关键字
mysal脚本由一条或多条mysal语句主城,保存一般为.sql文件
标识符。标识符来命名一些对象,如数据库,表,列,变量等。命名规则为:标识符由字母或下划线开头的字母,数字或下划线()序组成
标识符的大小写windows不敏感,对于其他linux,unix敏感
关键字。所有关键字都有自己的含义,尽量避免作为标识符
2.1.2mysal字符集转换过程
1.修改默认字集 修改my.ini文件中的字符集,在下面加上一行default-character-set=utf-8
重启完成后发现修改完成
2.还有一种方法,用mysql命令,临时更改,服务器重启后,有将恢复默认设置
set character_set_client=utf8;
set character_set_connection=utf-8;
set character_set_database=utf8;
set character_set_results=ust8;
set character_set_server=usf-8;
3.如果设置表为utf-8通过utf-8扔乱码,问题出在connection连接层上
解决方法查询前用语句
set names('utf-8')
2.1.3mysal中字符集层次设置
character_set_server和collaction_server:这俩变量是服务器的字符集,默认内部操作字符集
character_set_client:客服端来源使用的字符集,这个解释客服端发送到服务器的sql命令文件
character_sset_connection和collection_connection:连接层字符集。这俩变量决定mysal
怎么处理客服端发来的sql文件命令
2.1.4常量和变量
变量分为全局变量和系统变量
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析