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

浙公网安备 33010602011771号