数据库之表的创建及数据类型

目录

创建表

简单语法:

固定格式:

案例

数据类型

文本类型

文本型

字符串型

二进制文本

枚举型

集合型

数字类型

整数型

浮点型

Date类型

DATE()日期

DATETIME() 日期和时间的组合

TIMESTAMP() 时间戳

TIME() 时间

YEAR() 2 位或 4 位格式的年

常用数据类型

案例

创建一个包含所有数据类型的表


创建表

简单语法:

CREATE TABLE 表名(
    列名 列类型,
    列名 列类型
    );

固定格式:

 create table tb_name(
     字段1 类型 COMMENT‘学生姓名’,
     字段2 类型,
     字段3 类型,
     ..........	
)engine=innodb [default] [character set utf8mb4 collate utf8mb4_090_ai_ci]

详解:

        标准的建表(table)语法(列定义之间以英文逗号,隔开):
        数据表的每行称为一条记录(record)每一列称为一个字段(field)

        COMMENT --- 用来注释

        ENGINE --- 存储机制

案例

CREATE TABLE `g_u` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `g_id` int(11) NOT NULL COMMENT '商品id',
 u_id` int(11) NOT NULL COMMENT '用户id',
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2800001 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

AUTO_INCREMENT --- 自动递增

AUTO_INCREMENT=2800001 --- 从280001开始,递增每次+1

CHARSET=utf8mb4 --- 指定字符集为uft8mb4

COLLATE=utf8mb4_0900_ai_ci --- 指定校队规则为utf8mb4_0900_ai_ci

NOT NULL --- 表明不能为空

数据类型

        在 MySQL 中,有三种主要的类型:文本数字日期/时间类型

文本类型

文本型

        TINYTEXT --- 小的文本 --- 255个字符

        TEXT --- 65,535个字符

        MEDIUMTEXT --- 中等文本 --- 16,777,215个字符

        LONGTEXT --- 大文本 --- 4,294,967,295 个字符

字符串型

        char(length)--- 保存固定长度的字符串 ---  255 个字符

        varchar(length)--- 保存可变长度的字符串 --- 255 个字符 ---- 超过则转换为text类型

二进制文本

        BLOB --- 65,535个字节

        MEDIUMBLOB --- 16,777,215个字节

        LONGBLOB --- 4,294,967,295 个字节

枚举型

        ENUM(a,b,c,d)  --- a,b,c,d中的其中一个

集合型

        SET(a,b,c,d)  --- a;a,b;a,b,c;a,c;可以是这种包含两个或两个以上

数字类型

整数型

        TINYINT(size) --- -128 - 127 --- 1byte

        SMALLINT(size) --- -32768 - 32767 --- 2byte

        MEDIUMINT(size) --- -8388608 - 8388607 --- 3byte

        INT(size) --- -2147483648 -  2147483647 --- 4byte

        BIGINT(size) --- -9223372036854775808 - 9223372036854775807 --- 8byte

UNSIGNED TINYINT --- 无符号位,相当于直接为正整数

浮点型

        FLOAT(size,d) --- size:总的位数,d:小数点后多少位

        DOUBLE(size,d) --- size:总的位数,d:小数点后多少位

        DECIMAL --- 作为字符串存储的都被类型,允许固定的小数点 --- 相当于如果位数不够需要补0

Date类型

DATE()日期

        格式 --- YYYY-MM-DD

        范围 --- 从 '1000-01-01' 到 '9999-12-31'

DATETIME() 日期和时间的组合

        格式 --- YYYY-MM-DD HH:MM:SS

        范围 --- 从'1000-01-01 00:00:00' 到 '9999-12- 31 23:59:59'

TIMESTAMP() 时间戳

        格式 --- YYYY-MM-DD HH:MM:SS

        范围 --- 使用 Unix 纪元('1970-01-01 00:00:00' UTC) 至 '2038-01-09 03:14:07' UTC

TIME() 时间

        格式 --- HH:MM:SS

        范围 --- 支持的范围是从 '-838:59:59' 到 '838:59:59'

YEAR() 2 位或 4 位格式的年

        4 位格式所允许的值 --- 1901 到 2155。

        2 位格式所允许 的值 --- 70 到69,表示从 1970 到 2069

常用数据类型

案例

创建一个包含所有数据类型的表

create table multi_tb(
	id int(11) comment '编号',
	company_name char(6) comment '公司名称',
	introduce varchar(100) comment '介绍',
	content1 tinytext  comment '内容1',
	content2 text  comment '内容2',
	content3 mediumtext comment '内容3',
	content4 longtext comment '内容4',
	description1 blob comment '描述1',
	description2 mediumblob comment '描述2',
	description3 longblob comment '描述3',
	iq tinyint comment '0705数据库IQ',
	salary smallint comment '薪资',
	five_plan mediumint comment '五年计划',
	code_num bigint comment '代码量',
	gender enum('f','l') comment '性别',
	hobby set('A','B','C','D') comment '业余爱好',
	share_price float(10,3) comment '股票价格',
	temperature double(4,2) comment '温度',
	amount decimal comment '数量',
	birth_date date comment '出生日期',
	register_date datetime comment '注册日期',
	last_modify_date timestamp comment '修改日期',
	time time comment '时间'
)engine=InnoDB default character set utf8mb4 collate utf8mb4_0900_ai_ci;

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

White乄joker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值