首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Mysql学习(基本指令、语句)

1) 数值   int //int(3)与长度无关,不够3位前面补0,默认看不见     float   2) 字符串   char(n) //占用n个字节,   varchar(n) //存多少用多少   text //65535   longtext //42亿   3) 日期   date   datatime   timestamp   time   year   //建议日期类型存int 2. 数据字段类型 3. 数据字段属性   unsigned//无符号,全正数   zerofill//零填充,int(3),不够补0   auto_increment//自增   null//这一列值允许为null   not null//这一列不允许为null   default//默认值 4. 数据表的字符集   \s //查看服务器的基本信息   查看数据库字符集 show creat database test;   查看表字符集 Show creat table user;   php设置客户端和连接字符集 $sql=”set names utf8”;   [mysql]   defult-character-set=utf8   //客户端和连接字符集   [mysqld]   character-set-server =utf8   //服务器、数据库和表字符集 5. 数据表索引设置

02

Column count doesn't match value count at row 1

数据库是mysql 向数据库insert数据的时候,一直显示这个错误,在网上查找了许多相关,大致的问题是: 1:所存储的数据与数据库表的字段类型定义不相匹配. 2:字段类型是否正确, 是否越界, 有无把一种类型的数据存储到另一种数据类型中. 3:写的SQL语句里列的数目和后面的值的数目不一致。 经过检查后并不是以上问题产生, 而是字符集问题,导致insert发生错误了, 后来试过设置数据库编码和项目编码统一为utf-8,仍然解决不了问题 。 最后发现,假设数据库的默认字符集是GBK,假设创建了表 table,那么table的字符集是GBK, 之后再设置数据库的字符集为utf-8,如图下显示:

02

MySQL中涉及的几个字符集

character-set-server/default-character-set:服务器字符集,默认情况下所采用的。 character-set-database:数据库字符集。 character-set-table:数据库表字符集。 优先级依次增加。所以一般情况下只需要设置character-set-server,而在创建数据库和表时不特别指定字符集,这样统一采用character-set-server字符集。 character-set-client:客户端的字符集。客户端默认字符集。当客户端向服务器发送请求时,请求以该字符集进行编码。 character-set-results:结果字符集。服务器向客户端返回结果或者信息时,结果以该字符集进行编码。 在客户端,如果没有定义character-set-results,则采用character-set-client字符集作为默认的字符集。所以只需要设置character-set-client字符集。

02
领券