首页 > 数据库 >进入python的世界_day37_数据库——mysql字符编码配置、数据引擎配置、字段类型及语法

进入python的世界_day37_数据库——mysql字符编码配置、数据引擎配置、字段类型及语法

时间:2022-11-23 21:15:10浏览次数:57  
标签:insert python day37 create id values mysql table into

一、字符编码与配置文件

输入\s 可以看到一些信息

如果想要永久修改编码配置,可以在mysql的文件夹根目录下自己复制并改名一个my.ini去操作配置文件

[mysqld]
character-set-server=utf8mb4
collation-server=utf8_general_ci
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES     
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4 

# sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
# STRICT_TRANS_TABLES 这个为严格模式,输入数据时如果不符合规范数据库不接收
# 在数据库中可以输入show variables like '%mode%';来查看

mysqld 服务端

client 第三方客户端

mysql 自己写的客户端

utf8mb4 可以保存表情包

二、数据库存储引擎

show engines 查看存储引擎

my isam :

​ 5.5版本之前默认的存储引擎,存取数据的速度快,但是功能较少,安全性较低

innoDB :

​ 5.5之后默认的存储引擎,支持事物(能时光倒流),支持行锁(操作某一行时,别人不能操作),支持外键,存取速度没my isam快,但是安全性较高

memory:

​ 基于内存存储数据,基本不用

blackhole:

​ 黑洞,任何写进入的数据都会立刻被吞没

# 实操
create table mybiao2 (id int) engine=innoDB;
create table mybiao3 (id int) engine=myisam;
create table mybiao4 (id int) engine=blackhole;
______________________________________________
# 创好后可以每个都查看以下,看下是不是引擎改了
show create table mybiao2;
show create table mybiao3;
show create table mybiao4;
__________________________________________
# 然后就可以塞数据进入看看
insert into mybiao2 values(1);
insert into mybiao3 values(1);
insert into mybiao4 values(1);

select * from mybiao2;
select * from mybiao3;
select * from mybiao4;  >>># Empty set (0.00 sec)

三、SQL创建表的完整语法

前提:create table 表名(

​字段名 字段类型(数字) 约束条件,

​字段名 字段类型(数字) 约束条件,

字段名 字段类型(数字) 约束条件
);

​ 1.字段名和字段类型是必须的
​ 2.数字和约束条件是可选的
​ 3.约束条件也可以写多个 空格隔开即可
​ 4.最后一行结尾不能加逗号

1.字段类型——整形

​ mysql默认自带正负号 可以在创建的时候 整形类型后跟 unsigned避开

​ 整形后也可以加(),不过不是限制长度,只是控制展示长度

​ TINYINT :如果要存正负,最大到127最小到-128

​ 如果要存全正,最大到255最小到0

​ INT:只能存十位

​ BIGINT:能存很多很多很多位

# 代码实操
# 先去改Mysql为严格模式,前面有说,不然存进去的数据如果不符合不会提醒而且会被篡改,就失去意义了
# 随便选一个自己创的库,把库清空最好,然后新建几个表
use myku
———————————————————————————————————————————
create table mybiao (id tinyint);
create table mybiao2 (id int);
create table mybiao3 (id big int);
___________________________________________
# 然后往表里添数据,观察下是否能添
insert into mybiao values(280); >>> # 报错 Out of range value
insert into mybiao2 values(280); # 不报错

2.字段类型——浮点型

​ 创建表的时候可以跟(),括号内两位,前一位是总长,后一位是小数位,一般公司float形式的浮点类型够用了

​ float :

​ 精确度不够,大概7.8位

​ double:

​ 精确度15位左右

​ decimal:

​ 精确度很强

3.字段类型——字符类型

​ char :

​ 定长 >>> char() 括号内输入字符数,最多可以储存这个数,多了就报错,少了就填充,反正必须固定长度,某种意义上是浪费存储空间的

​ varchar:

​ 变长 >>> varchar() 括号内输入字符数,最多可以储存这个数,多了就报错,少了不填充,更省存储空间

​ ps:char_lenght()统计某个字段存储的字符长度

​ pps:因为char是固定长,切起来好切,固定刀,所以速度快

​ varchar是非固定长,存数据是会添加一个报头在数据前,切的时候先切到报头获取真实长度,所以速度较char慢

# 代码实操
# 先建一个表吧,就用varchar
create table mybiao4 (id int ,name varchar(32));
______________________________________
# 添加数据进去
insert into mybiao4 values(1, 'jason');
_____________________________________
# 查看下数据
select * from mybiao4;
_____________________________________
# 查看某个字段数据字符长度
select char_lenght(name) from mybiao4;

4.字段类型——枚举与集合

​ 枚举:多选一 enum 先设置好,填充数据时如果不在就报错

​ 集合:多选多 set 先设置好,填充数据时如果有一个不在也报错

# 代码实操
# 创一个新的表
create table mybiao5(id int ,name varchar(16), city enum('beijing','shanghai','changsha'));
create table mybiao6(id int, name varchar(16), hobby set('music','football','basketball'));
————————————————————————————————————————————
# 往表里塞数据,看下行不行
insert into mybiao5 values(1, 'jack', 'beijing'); # OK
insert into mybiao5 values(1, 'jack', 'najing'); # 报错!
insert into mybiao6 values(1,'david', 'music,football');# OK
insert into mybiao6 values(2,'tom','music,baseball');# 报错

5.字段类型——日期

​ 这个今天只是了解下,今天录入的形式还是按字符形式录入,以后数据库会有模板来搞

标签:insert,python,day37,create,id,values,mysql,table,into
From: https://www.cnblogs.com/wznn125ml/p/16919791.html

相关文章

  • mysql配置与mysql数据类型
    字符编码1.\s查看MySQL相关信息 当前用户、版本、编码、端口号MySQL5.6之前的版本编码需要人为统一之后版本已经全部默认统一如果想要永久修改编码配置需要操作配置......
  • python入门基础之数据库
    python入门基础之数据库目录python入门基础之数据库字符编码与配置文件存储引擎主要的四个存储引擎创建表的完整语法字段类型之整型严格模式字段类型之浮点型字段类型之字......
  • Mysql密码策略
    一、查看当前密码策略showvariableslike'validate_password%'; 关于mysql密码策略相关参数validate_password.length固定密码的总长度;validate_password.......
  • linux命令风格与mysql启动
    Linux三种风格(Unix、BSD、GNU)下的ps的参数说明mysqld_safe是什么使用mysqld_safe启动mysql服务,mysqld_safe为mysqld的守护进程,在BSD风格的unix系统上,常用mysqld_safe脚......
  • Python基础之数据库:5、创建表的完整语法、MySQL数据类型
    一、创建表的完整语法1、创建表的语法createtable表名(​ 字段名1字段类型(数字)约束条件,​ 字段名2字段类型(数字)约束条件,​ 字段名3字段类型(数字)......
  • helm部署mysql
    欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos关于helm部署mysql如果您的kubernetes已有helm,那么部署mysql的......
  • docker-compose值mysql集群模式(MGR)
    一、之前也提过MGR的方式,局限很多,但是毕竟是集群的方式还是存在使用场景的。1、必须使用InnoDB2、每个表必须定义主键,主要用于事务冲突判断。3、必须使......
  • MySQL中用户和系统变量设置获取使用@和@@ global和session--笔记
    1、概述mysql有用户变量和系统变量,系统变量又分全局(global)和会话(session)查看set命令root@localhost:01:23[7308][(none)]>helpset;Name:'SET'Description:Syntax:......
  • python-取pop3服务器的邮件并保成为 .eml 文件
      取pop3服务器的邮件,分析出邮件标题,toccbcfrom,并保成为.eml文件1importpoplib2importStringIO,email34defdcode(str):5h=email.Header.He......
  • Mysql:字符编码与配置文件、数据库存储引擎、创建表的完整语法、MySQL字段基本数据类
    目录字符编码与配置文件数据库存储引擎创建表的完整语法字段类型之整型严格模式字段类型之浮点型字段类型之字符类型数字的含义字段类型之枚举与集合字段类型之日期类型字......