1.简述字符集UTF-8和GB2312的区别
UTF-8:通用转换格式,国际编码,包含世界所有国家使用的字符,英文8位1字节中文24位一字节(即一个中文文字占用3个字节空间)
GB2312 :简体中文字符集,文字编码采用双字节来表示(即不论中英文字符一个字符占用两个字节空间)
总结:UTF-8字符类型全面,但中文字符占用空间较多,适合外语使用频率高的使用环境,GB2312中文占用空间小但英文占用空间却大,适用中文使用频率高的环境。
2.datetime 类型和timestamp类型的相同点和不同点是什么?
相同点:两者都可用来表示YYYY-MM-DD HH:MM:SS[.fraction]类型的日期。
不同点: 两者的存储方式不一样 ,两者所能存储的时间范围不一样
3MySQL支持的数据类型主要有哪几类?17属于什么类型?‘17’属于什么类型?
tinyint、smallint、mediumint、int(integer)、bigint、float、double、decimal、tinytext、text、mediumtext、longtext、varchar、char、blog等
17属于 int整形,‘17’属于char字符串型
4.简述系统变量、全局变量和会话变量的关系。
系统变量包括全局变量和会话变量
全局变量在MySQL启动时由服务器自动初始化为默认值,主要影响整个MySQL的实列的全局设置,大部分都是作为MySQL的服务器调节参数存在。对全局变量修改会影响整个服务器。
会话变量在每次建立一个新的连接时,由MySQL初始化,会话变量定义是前面加一个@符号,随时定义和使用,会话结束就释放。对会话变量修改会影响到当前会话(当前数据库连接)