大佬教程收集整理的这篇文章主要介绍了5.4python笔记,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
#查看MySQL默认字符编码
如果是5.x系列,显示的编码又多种>>>:laTin1、gbk
如果是8.x系列,显示的统一是>>>:utf8mb4(utf8优化版本,支持存储表情)
# MySQL安装列表中找到配置文件
my-default.ini # 配置文件
# 更改配置文件
步骤1:拷贝一份该配置文件并修改名称为my.ini
步骤2:清空my.ini文件内的内容
步骤3:添加固定的配置信息如下:
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
步骤4:保存并重启服务端即可生效
net stop mysql # 关闭服务端
net start mysql # 打开服务端
可以理解为处理数据的不同方式,不同的存储引擎存储的特点各不相同;
#查看存储引擎
show ENGInes;
#需要了解的引擎
MyISAM:
5.1之前版本MySQL默认的存储引擎;
特点:存取数据速度快,但功能很少,安全性较低;
InnoDB:
5.1之后版本MySQL”默认“的存储引擎;
特点:有诸多功能,安全性较高,但存取速度没有MyISAM快;
BlackHole:
任何写入的数据都会立刻消失(类似于垃圾回收站);
Memory:
以内存作为数据存储地,速度快但是断电立刻丢失;
create table 表名(
字段名1 字段类型(数字) 约束条件,
字段名2 字段类型(数字) 约束条件,
字段名3 字段类型(数字) 约束条件
);
'''
1.字段名和字段类型是必须的
2.数字和约束条件是可选的
3.约束条件可以写多个 空格隔开即可
字段名1 字段类型(数字) 约束条件1 约束条件2 约束条件3
4.最后一行字段结尾不能加逗号
极其容易被忽略!!!
'''
Tinyint 1bytes 小整数值
smallint 2bytes 大整数值
int 4bytes 大整数值
bigint 8bytes 极大整数值
float 4个字节 单精度浮点数值
double 8个字节 双精度浮点数值
decimal 对decimaL(M,D),如果M>D,为M+2字节否则为D+2字节 精确小数值
上述浮点型从上往下精确度越来越高
float(255,30) 总共255位 小数位占30位
double(255,30) 总共255位 小数位占30位
decimal(65,30) 总共65位 小数位占30位
对于声明语法 decimaL(M,D) ,自变量的值范围如下:
M是最大位数(精度),范围是1到65。可不指定,默认值是10。
D是小数点右边的位数(小数位)。范围是0到30,并且不能大于M,可不指定,默认值是0。
例如字段 salary decimaL(5,2),能够存储具有五位数字和两位小数的任何值,因此可以存储在salary列中
的值的范围是从-999.99到999.99。
char 和 varchar 是最常用到的。char 类型是定长的,MySQL 总是根据定义的字符串长度分配足够的空间
当保存 char 值时,在它们的右边填充空格以达到指定的长度,当检索到 char 值时,尾部的空格被删除掉。varchar 类型用于存储可变长字符串,存储时,如果字符没有达到定义的位数,也不会在后面补空格。如果字符超出了定义的位数,会报错。
char(M) 与 varchar(M) 中的的 M 表示保存的最大字符数,单个字母、数字、中文等都是占用一个字符。
# 工作中使用char还是varchar?
char
整存整取,速度快;但会造成一定的资源浪费;
varchar
节省存储空间;取数据速度没有char块且不知道数据的精确长度
'''
varchar在存数据的时候会生成一个1bytes的报头 记录数据长度
varchar在取数据的时候先会读取1bytes的报头 从中获取真实数据长度
1bytesjason1bytes+kevin1bytes+tony
'''
使用场景>>>:
针对统一中国人的姓名,应该采取那个类型?
>>> varchar
规模较小,数据量相对固定的字典?
>>> char
(1)字段类型括号内的数字大部分情况下是用来限制存储的长度;
(2)但是在整型中并不是用来限制长度,而是用来控制展示长度;
# 验证int类型括号内数字的作用
create table t12(id int(3));
insert into t12 values(1111); # 不会报错
SELEct * FROM t12; # id 1111
create table t13(id int(3) zerofill); # 使用约束条件zerofill>>>:数据不够用0填充
insert into t13 values(1),(1111);
SELEct * FROM t13; # id 001 1111
#枚举:
多选一
作用:给某字段设置指定选项,针对某字段只能添加指定的选项
create table t14(gender enum('male','female','others'));
insert into t14 values('jason'); # 报错,Data truncated for column 'gender' at row 1
#集合:
多选多(也可多选一)
作用:给某字段设置多个可选选项,同时可以选取多个或一个
create table t15(NAME VARCHAR(32),
hobby set('篮球','足球','排球'));
insert into t15 values('jason','篮球,排球'); # 给某字段添加多个值
date 年月日
datetiR_411_11845@e 年月日时分秒
time 时分秒
year 年
# 创建带日期字段的表
create table t16(
id int,
NAME VARCHAR(32),
reg_time datetiR_411_11845@e,
birth date,
study_time time,
join_time year
);
# 针对时间数据一般都是通过代码自动获取并添加,我们可以手动模拟
insert into t16 values(1,'jason','2000-11-11','2002-01-21','11:11:11','2015');
# 1 | jason | 2000-11-11 00:00:00 | 2002-01-21 | 11:11:11 | 2015
#无需正负号
unsigned
#零填充
zerofill
#非空
not null
#默认值
default
create table t19(id int,NAME VARCHAR(32) default '1111');
插入数据时该字段给了值,就用输入的值,没给值则使用默认值。
#唯一值
unique
create table t1(
id int unique,
);
该字段的值是唯一的,不可重复。
'''多列唯一:多个字段下对应的数据组合到一起的结果不能重复 是唯一的'''
create table t1(
id int,
NAME VARCHAR(32),
unique(id,Name)
);
id和name组合在一起的值唯一。
(1,'张三')(1,'李四') (2,'张三')可以
#主键
priMary key(非空且唯一)
create table t1(
id int priMary key,
NAME VARCHAR(32)
);
将id字段设置为主键,那么id不能为空且值不能重复。
#自增:
auto_increment 自动增加
专门配合主键一起使用 用户以后在添加数据的时候就不需要自己记忆主键值
create table t1(
id int priMary key auto_increment,
NAME VARCHAR(32)
);
之后我们添加数据就不需要写id的值,它会自动增长。
以上是大佬教程为你收集整理的5.4python笔记全部内容,希望文章能够帮你解决5.4python笔记所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。