2021-05-13

                                           2021.5.13 酷@der     学习Java第一天从数据库开始

  1. 一切从产生问题开始->解决问题->到最后好开森呀

ALTER DATABASE db7 CHARACTER SET utf8;  //最好建立表得时候,设置好utf-8;
//创建一个student表
CREATE TABLE student( 
sid INT, 
sname VARCHAR(20), 
age INT, 
sex CHAR(1),
address VARCHAR(40) 
 );
  1.  注意创建表得时候,最后一个数据不用逗号。
INSERT INTO student (sid,sname,age,sex,address) VALUES(1,'茜茜',25,'女','贵州');

这里看着都正常,但是插入数据就报错     Incorrect string value: '\xE5\xAD\x99\xE6\x82\x9F...' for column 'sname' at row 1

插入英文可以

就说明不能插入中文。检查一番,我建库和表都是utf-8,之后想了想是不是列有问题。采用以下操作就可以正确插入中文。但是这样很繁琐。

ALTER TABLE Student CHANGE sname sname VARCHAR(20) CHARACTER SET utf8;
ALTER TABLE Student CHANGE sex  sex VARCHAR(20) CHARACTER SET utf8;
ALTER TABLE Student CHANGE address  address VARCHAR(20) CHARACTER SET utf8;

网上查说是因为:此时表的编码格式已经改变,但是列的编码格式显示为Latin1

网上解决办法都是去改数据库mysql配置文件,我不会,所以就采用了在创建库的时候,采用以下俩个方法:

方法一:

CREATE TABLE student( 
sid INT, 
sname VARCHAR(20), 
age INT, 
sex CHAR(1),
address VARCHAR(40),
images VARCHAR(30)
 )ENGINE=INNODB DEFAULT CHARSET=utf8; 

 

 

就是这句话:

ENGINE=INNODB DEFAULT CHARSET=utf8; 

方法二:

CREATE DATABASE db7 CHARACTER SET utf8;

总结:虽然这很简单,但是对于自学的我来讲,很多细节都不太注意。我很开森。迈向成为Java后端开发女程序员的第一步。

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值