发表于: 2017-07-22 21:34:27

4 1135


DAY 2


今天主要学习了SQL语句以及完成步骤4、5、6


遇到的问题:
  无法向表中插入中文数据
 
解决办法:
  用navicat打开表student,选择‘设计表’,发现所有的列的字符集为latin1,把字符集改成utf-8后,插入中文数据成功。

                  

                

     
思考:

1.字符集是什么?

 简单的说字符集就是规定了某个数据(英文、汉字、日语、韩语、俄语等)对应的二进制数字存放方式(编码)和某串二进制数值    

代表了哪个文字(解码)的转换关系。参考:十分钟搞清字符集和字符编码 http://blog.jobbole.com/84903/
    
2.为什么要把表的字符集设置成utf-8?
  utf8包含全世界所有国家需要用到的字符,是国际编码,通用性强。把字符集设置成utf8,可以避免中文出现乱码。
    
3.为什么用SQL语句创建的表,默认字符集为latin1,可以通过SQL语句把字符集改成UTF-8吗?
  ①因为创建的数据库默认字符集为latin1,因此在数据库内创建的表默认字符集也为latin1
   a.输入SHOW VARIABLES LIKE '%CHAR%'; 查看MySQL字符集设置情况:
             
   b.通过语句 SET CHARACTER_SET_ * = 字符集; 更改字符集设置:
           
   c.输入SHOW VARIABLES LIKE '%CHAR%'; 查看设置是否更改:

       


收获:
  1.创建数据表失败好多次,最后才发现是因为写
          create table student(
          name varchar(20) not null,
          QQ varchar(20) not null
          );
   时,漏写红色的逗号,以及红色的分号用的是中文写法,导致失败,浪费好多时间。
  写SQL语句要规范,符号入逗号,分号,单引号,括号要用英文写法


明天的计划:完成步骤7~10,另外总感觉上面改字符集改得不够彻底,重新打开数据库字符集会不会又变回latin1?接下来再研究一下这个问题。


-------------------分割线--------------------


一、学习SQL语句

二、继续任务1的步骤4、5、6


步骤4.设计报名贴的业务表


-------------------分割线--------------------


步骤5.用Navicat设计数据库,数据库的每一个表中都要有三个基本的字段,ID(自增long),create_at,update_at(所有时间都用long)

我使用的sql语句设计数据库,其中long是长整型数据类型,在MySQL中对应的数据类型是bigint

查看表的结构


-------------------分割线--------------------


步骤6.从报名贴中找到最近报名的一个师兄,用MySQL插入这条数据,并能根据姓名查出来这条记录

a.找到该师兄,信息如下

b.用MySQL插入这条数据:
c.根据姓名查询这条记录:


                            -------------------我是终于写完了的线--------------------




返回列表 返回列表
评论

    分享到