mysqlcrud语句
MySQL的基本操作可以包括两个方面:MySQL常用语句如高频率使用的增删改查(CRUD)语句和MySQL高级功能,如存储过程,触发器,事务处理等。而这两个方面又可以细分如下:MySQL常用语句表(或...
2024.11.15MySQL的字符编码结构比较细,它大方向分为两个部分:数据存储编码和数据传输编码。
内容比较多,下面先简单介绍下数据存储编码~
01编码层次数据存储的字符编码配置是指定数据库中存储的数据默认采用什么字符编码。默认字符编码的设置分为四个层次:服务器级、数据库级、数据表级和列级。也就是说,可以为服务器设置一个默认字符编码,再为服务器中的每一个数据库设置不同的默认编码,再为同一个数据库中的每一个数据表设置不同的默认编码,再为同一个数据表中的每一个列设置不同的默认编码。
那这四个层次的编码设置到底如何起作用呢?如果新建数据库时没有指定字符编码,就默认设置为服务器的编码;如果新建数据表时没有指定任何编码,就默认设置为数据库的编码;如果向数据表添加新列或新建数据表时没有特别指定某些列的编码,那么这些列就默认设置为数据表的编码。注意这里四个层次的编码都是作为“默认”的存在,用户创建数据库、表或增加列时直接指定的编码是最优先的。
另一方面,直接改变这四个层次的编码并不会改变它们各自所有下层对象的当前编码。比如修改只Server级,那么所有已经存在的数据库的默认编码不变,数据表、表列以及每一行现有数据记录的字符编码都不变,但是如果新建一个数据库且不指定其默认编码,那它的默认编码就会被设置为Server的默认编码;同样即使修改了所有四个层次的编码,但是数据表中每一条现有记录的字符字段仍然是按原来的编码存储的,但是如果向数据表中新插入一条记录,数据库将根据数据表当前各列的默认编码来存储该条记录的各个字符字段。
02设置方法修改Server以下各级编码的SQL语句如下:
# 库ALTER {DATABASE | SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name;# 表ALTER TABLE dbl_name [DEFAULT] CHARACTER SET [=] charset_name;# 字段ALTER TABLE dbl_name MODIFY [COLUMN] col_name {char[(length)] | TEXT} CHARACTER SET charset_name;注意上面第三条修改列字符编码,实际上是通过完全重新定义列属性的方式实现的,语法跟创建新数据表时指定列字段属性一样的。所以如果这里只是想修改列字符编码,那就必须完整地写上创建该列时使用的所有定义修饰。
修改Server默认编码可以通过运行时直接修改变量character_set_server实现,但这样是临时性的,客户端关闭重启后又会自动恢复。要想永久改变Server默认编码需要在my.ini或my.cnf配置文件的“[mysqld]”区域中设定该变量的值,然后重启服务器:
[mysqld]character_set_server=charset_name03MySQL几个character_set变量的含义篇幅有限,这块就介绍到这了,后面会分享下数据传输编码方面的内容,感兴趣的朋友可以关注下!
MySQL的基本操作可以包括两个方面:MySQL常用语句如高频率使用的增删改查(CRUD)语句和MySQL高级功能,如存储过程,触发器,事务处理等。而这两个方面又可以细分如下:MySQL常用语句表(或...
2024.11.15概述今天主要介绍下MySQL数据库密码策略及用户资源限制 ,下面实验基于mysql5.7来测试。01密码策略在mysql 5.6对密码的强度进行了加强,推出了validate_password 插件。...
2024.11.12sql语句:增删改查,其中 增、删、改只用于单表多表级联删除,级联更新有时候会出现(例如:删除父类别,子类别也会被删除)多表查询:多表联查、子查询建表语句: 一般不需要语句建表,语句了解认识即可,手动...
2024.11.15概述今天主要分享一个关于mysql密码策略限制的方案。一、需求具体需求如下:root及应用系统账号设置永不过期,运维人员账号设置过期时间为180天二、相关原理从MySQL 5.7.4版开始,用户的密码...
2024.11.13一、在测试工作中我们肯定会写一些sq查询语句方便我们验证数据是否正确,从而判断当前软件是否存在缺陷,但是查询的过程中肯定需要我们先连接数据库,如果数据库密码忘记我们就无法完成工作,这里就教会大家如何快...
2024.11.12