mysql数据表中1,0默认值为1咋打

mysql数据表中1,0默认值为1咋打,第1张

mysql如何设置默认值

mysql设置默认值的方法:用mysql建数据表设置默认值,代码为【stuSex varchar(2) default '男' check(stuSex in('男', '女'))】。

mysql设置默认值的方法:

create table stu(

stuId varchar(30) primary key,

stuName varchar(50) not null,

stuSex varchar(2) default '男' check(stuSex in('男', '女')),

stuJg varchar(30),

stuDept varchar(40)

)

用mysql建数据表设置默认值:

int 类型:default 1(直接加数值)

varchar类型:default 'aaa'(用单引号)

另:经试验,在mysql中default 要写在 check之前,否则报错

查看MySQL编码

SHOW VARIABLES LIKE 'char%'

因为当初安装时指定了字符集为UTF8,所以所有的编码都是UTF8。

character_set_client:你发送的数据必须与client指定的编码一致!!!服务器会使用该编码来解读客户端发送过来的数据;

character_set_connection:通过该编码与client一致!该编码不会导致乱码!当执行的是查询语句时,客户端发送过来的数据会先转换成connection指定的编码。但只要客户端发送过来的数据与client指定的编码一致,那么转换就不会出现问题;

character_set_database:数据库默认编码,在创建数据库时,如果没有指定编码,那么默认使用database编码;

character_set_server:MySQL服务器默认编码;

character_set_results:响应的编码,即查询结果返回给客户端的编码。这说明客户端必须使用result指定的编码来解码;

控制台编码

修改character_set_client、character_set_results、character_set_connection为GBK,就不会出现乱码了。但其实只需要修改character_set_client和character_set_results。

控制台的编码只能是GBK,而不能修改为UTF8,这就出现一个问题。客户端发送的数据是GBK,而character_set_client为UTF8,这就说明客户端数据到了服务器端后一定会出现乱码。既然不能修改控制台的编码,那么只能修改character_set_client为GBK了。

服务器发送给客户端的数据编码为character_set_result,它如果是UTF8,那么控制台使用GBK解码也一定会出现乱码。因为无法修改控制台编码,所以只能把character_set_result修改为GBK。

修改character_set_client变量:set character_set_client=gbk

修改character_set_results变量:set character_set_results=gbk

设置编码只对当前连接有效,这说明每次登录MySQL提示符后都要去修改这两个编码,但可以通过修改配置文件来处理这一问题:配置文件路径:D:\Program Files\MySQL\MySQL Server 5.1\ my.ini

mysql 创建 数据库时指定编码很重要,很多开发者都使用了默认编码,但是我使用的经验来看,制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题。

我们遵循的标准是,数据库,表,字段和页面或文本的编码要统一起来

很多mysql数据库工具(除了phpmyadmin)都不支持创建时指定数据库编码,可以改my.ini来解决这个问题,但是需要重新启动mysql,不过用下面的语句会更有效

GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci

UTF8: CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

注意:如果不是通过my.ini配置文件设置的内容,只在当前状态下有效,当重启数据库服务后失效。所以如果想要不出现乱码只有修改my.ini文件,数据库编码可以在创建数据库时候指定UTF8,如下:

|character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary|

| character_set_results| utf8 |

| character_set_server | latin1|

| character_set_system | utf8


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8673226.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存