MySQL学习Day02

mysql不支持中文的解决方法

1、脚本必须为utf-8,编写脚本时编辑器的编码为UTF-8

2、设置客户端连接服务器的编码UTF8,在脚本文件的第一行编写SET NAMES UTF8;

3、创建的数据库使用的编码为UTF8,创建数据库的时候:CREATE DATABASE jd charset=UTF8;

列类型

1、数值型 

可加可不加引号

  tinyint:微整型,占1个字符,取值范围:-128~127;

  smallint:小整型,占2两个字符,取值范围:-32768~32767

  int:整型,占4个字符,取值范围:-2147483648~2147483647

  bigint:大整型,占8个字符

  float单精度浮点型,占4个字节,范围比int大得多,以牺牲小数点后的数字为代价,精度会受影响,最大值3.4E38

  double双精度浮点型,占8个字节,范围比bigint大的多,精度也会受到影响

  decimal(M,D)定点小数,小数点位置不会发生变化,占8个字节,M代表总的有效位数,D代表小数点后的有效位数

  boolean/bool布尔型,通常只有两个值,分别是true和false,往往存储只有两个值得数据,例如性别,是否在线…  在使用的时候会转为tinyint,true转为1,false转为0,true和false不需要加引号,关键字

2、日期时间型

——必须加引号

  date日期型   2020-08-03    

  time时间型   15:20:30

  datetime日期时间型    2020-08-03 15:20:30

3、字符串型

——必须加引号

  varchar(M)变长字符串,几乎不会产生空间浪费,数据操作速度相对慢M最大值是65535,常用于存储长度变化的字符串,例如文章的标题,内容,一个人的姓名

  char(M)定长字符串,可能产生空间浪费,数据操作速度比较快,M的最大值是255,存储长度固定的数据,例如一个人的电话号码,身份证号码

  text(M):大型变长字符串M的最大值是2G

 3、列约束

mysql可以对要插入的数据进行特定的验证,只有满足条件才允许插入,否则认为是非法的插入,例如禁止插入重复的编号,性别只能是男或者女,工资只能是正数…

   1)主键约束——PRIMARY KEY

声明了主键约束的列上禁止插入重复的值,一个表中只能有一个主键约束,通常加在编号列,会加快数据的查找速度,查询时候会按照编号从小到大排序。主键约束禁止插入NULL。

  2)非空约束——NOT NULL

声明了非空约束的列上禁止插入NULL 

 

 

posted @ 2021-01-18 20:02  jiew-c  阅读(57)  评论(0)    收藏  举报