大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说Python基础之数据库:5、创建表的完整语法、MySQL数据类型「终于解决」,希望您对编程的造诣更进一步.
- 一、创建表的完整语法
- 1、创建表的语法
- 2、创建表的条件
- 3、数字的含义
- 二、MySQL数据类型
- 1、字段类型之整型
- 2、字段类型之浮点型
- 3、字段类型之字符类型
- 4、字段类型之枚举与集合
- 5、字段类型之日期类型
一、创建表的完整语法
1、创建表的语法
create table 表名(
字段名1 字段类型(数字) 约束条件,
字段名2 字段类型(数字) 约束条件,
字段名3 字段类型(数字) 约束条件,…)
2、创建表的条件
- 字段名和字段类型必须填写
- 数字和约束条件是可选的,可以不填
- 约束条件也可以写多个,空格隔开就可以
3、数字的含义
在创建表的时候,字段名后会加上数据的类型,而数据类型的后面又会加上数字,数字在很多地方都是用来限制储存数据的长度,但是在整型中数字是用来控制展示的长度,因此在写整型时,通常不用加数字
create table t12(id int(3)); 不是用来限制长度
insert into t12 values(12345);
create table t13(id int(5) zerofill); 而是用来控制展示的长度
insert into t13 values(123),(123456789);
create table t14(id int);
二、MySQL数据类型
1、字段类型之整型
整型的种类:
-
tinyint
- 特点:最大可以储存1个bytes(正负号占一个bit)
-
smallint
- 特点:最大可以储存2个biyts(正负号占一个bit)
-
int
- 特点:最大可以储存4个biyts(正负号占一个bit)
-
bigint
- 特点:最大可以储存8个biyts(正负号占一个bit)
MySQL中整型默认自带正负号,正负号会占用一个bit,也就是说整型的最大值会受正负号影响,下面可以通过添加数据的方式验证正负号的存在
取消正负号:
在创建表的阶段,在整型类型后添加关键词,就可以取消正负号
create table 表名(字段名 整型的类型 unsigned);
2、字段类型之浮点型
浮点型的种类:
- float(m,d)
- 特点:单精度浮点型 8位精度(4字节) m总个数,d小数位
- double(m,d)
- 特点:双精度浮点型 16位精度(8字节) m总个数,d小数位
- decimal(m,d)
- 特点:DECIMAL是一种定点类型,即所有值都有一个固定的小数位数。这 一点的重要性在于DECIMAL值不会像浮点数那样存在四舍五入的问题
- M的取值范围是1〜65,D的取值范围是0〜30,且不超过M
3、字段类型之字符类型
字符类型的种类:
- char(n)
- 特点:固定长度,最多255个字符
- carchar(n)
- 特点:可变长度,最多65535个字符
区别:
char(n) 固定长度,char(4)不管是存入几个字符,都将占用4个字节,varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),所以varchar(4),存入3个字符将占用4个字节。
4、字段类型之枚举与集合
- 枚举(多选一)
- 枚举指在创建表的时候,指定的字段名后可以填入枚举类型,在关键词后方括号内,填入多个数据值,后期在往该字段名下添加数据时,只能添加枚举后括号内多个数据值的其中一个,否则将会报错
- 关键词:enum(数据值1, 数据值2,…)
枚举:
多选一
create table t15(
id int,
name varchar(32),
gender enum("male","female","others")
);
insert into t15 values(1,"tony","猛男");
insert into t15 values(2,"jason","male");
insert into t15 values(3,"kevin","others");
- 集合(多选多/多选一)
- 集合和枚举的功能相似,也是在定义字段名阶段,在字段名后方添加集合关键词,在括号内填入多个数据值,在后期添加该字段名的数据的时候,可以填入指定的一个或多个数据值,指定外的数据值无法添加
- 关键词:set(数据值1, 数据值2,…)
集合
多选多/多选一
create table t16(
id int,
name varchar(16),
hobbies set("basketabll","football","doublecolorball")
);
insert into t16 values(1,"jason","study");
insert into t16 values(2,"tony","doublecolorball");
insert into t16 values(3,"kevin","doublecolorball,football");
5、字段类型之日期类型
类型的种类:
datetime 年月日时分秒
date 年月日
time 时分秒
year 年
代码用法:
create table t17(
id int,
name varchar(32),
register_time datetime,
birthday date,
study_time time,
work_time year
);
insert into t17 values(1,"jason","2000-11-11 11:11:11","1998-01-21","11:11:11","2000");
涉及到时间类型的一般无需我们手动添加,系统都会自动进行添加
原文地址:https://www.cnblogs.com/kangssssh/archive/2022/11/23/16919701.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/4502.html