ToB企服应用市场:ToB评测及商务社交产业平台
标题:
Python基础之数据库:5、创建表的完整语法、MySQL数据类型
[打印本页]
作者:
河曲智叟
时间:
2022-11-24 04:21
标题:
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个字节(n255),所以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');
复制代码
涉及到时间类型的一般无需我们手动添加,系统都会自动进行添加
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4