MySQL 03 :表&&Mysq常用数据类型

文章介绍了MySQL中的常见数据类型,包括整型、小数、字符串的详细使用,如BIT、CHAR、VARCHAR,以及TIMESTAMP的时间戳特性,如何自动更新。还提到了LONGTEXT、TEXT等大文本类型和日期时间类型如DATE、DATETIME、TIMESTAMP的应用,并展示了表的创建、修改及删除操作。
摘要由CSDN通过智能技术生成

MySQL 03 :表

请添加图片描述
请添加图片描述
请添加图片描述

Mysql常用数据类型(列类型)

请添加图片描述

请添加图片描述

请添加图片描述

timestamp[时间戳] 更新一个列的时候,他也会自动更新

Mysq常用数据类型

整型

请添加图片描述
请添加图片描述

数值型

请添加图片描述

#演示bit类型使用 #说明
#1。bit(m)m在1-64
#2。添加数据范围按照你给的位数来确定,比如=8表示一个字节0~255 
#3。显示按照bit
#4。查询时,仍然可以按照数来查询
CREATE TABLE t05 (num BIT(8));

INSERT INTO t05 VALUES(255);

SELECT *FROM t05;

SELECT * FROM t05 WHERE num = 255;

小数

请添加图片描述

字符串

请添加图片描述

CHAR(size) 0~255指的是字符
VARCHAR(size) 0~65535指的是字节,针对UTF8需要除3,针对gbk需要除2
#演示字符串类型使用char varchar
#注释的快捷键shift+ctrl+c,注销注释shift+ctr1+r
-- CHAR(size)
-- 固定长度字符串最大255字符 VARCHAR(size) 0~65535字节
-- 可变长度字符串最大65532字节 【utf8编码最大21844字符1-3个字节用于记录大小】 
-- 如果表的编码是utf8 varchar(size)size =(65535-3)/3 21844
-- 如果表的编码是gbk varchar(size)size=(65535-3)/2=32766


CREATE TABLE t09 (
				name1 CHAR(255));
				
CREATE TABLE t10 (
				name2 VARCHAR(21844));	
				
CREATE TABLE t11 (
				name2 VARCHAR(32766)) CHARSET gbk;			
#假如输入的是32777  error = exist	

字符串细节

请添加图片描述

不区分字符是汉字还是字母
#演示字符串类型的使用细节
#char(4)和varchar(4)这个4表示的是字符,而不是字节
CREATE TABLE t12 (
			`name` CHAR(4));
INSERT INTO t12 VALUES('abcd');			
INSERT INTO t12 VALUES('欧阳娜娜');			
SELECT * FROM t12;

请添加图片描述
请添加图片描述
请添加图片描述

LONGTEXT 是可伸缩的,不会浪费空间,而char浪费空间,但是查询速度快
#如果varchar不够用,可以考试使用nediumtext或者longtext, 
#如果想简单点,可以使用直接使用text
CREATE TABLE t14(content TEXT, conten2 MEDIUMTEXT , conten3 LONGTEXT);
INSERT INTO t14 VALUES('韩顺平教育分布式对象存储系统的容错广泛应用了纠删码技术,比如RS code,但是传统纠删码技术在数据修复过程中占用大量的计算资源和网络资源,在性能方面甚至还不及副本策略。Regenerating codes是一种特殊的纠删码,它能够有效减少修复时候的成本。再生码以块为修复粒度的特性,导致了它在实际应用于对象存储系统中时会产生一系列的问题。现有的对象存储系统Rcstor将对象以一种Geometric Partitioning的方法,将对象按照一个集合序列划分为一系列的块,用序列头部的小块提升流水线并行传输能力,用序列尾部的大块来提升恢复效率。但是这种解决方案在高并发的情况下,会造成网络拥塞导致级联的效应,最终导致系统宕机。为了解决这一难题,我们设计了一个新的对象存储系统—CSStor。CSStor对几何划分后的数据块使用了一种新的放置方式,有助于避免在高并发场景下的雪崩效应,并且提升系统的吞吐量。实现了Rcstor系统的xxx恢复性能,同时保持系统较好的鲁棒性。

','韩顺平教育100','韩顺平教育1000');
SELECT * FROM t14;

时间 TIMESTAMP 需要配置NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

如果我们更新t14表的某条记录,1 ogin time列会自动的以当前时间进行更新
#演示时间相关的类型
#创建一张表,date,datetime,timestamp
CREATE TABLE t15(
			birthday DATE ,
			jobtime DATETIME,
			logintime TIMESTAMP 
			NOT NULL DEFAULT CURRENT_TIMESTAMP 
			ON UPDATE CURRENT_TIMESTAMP);
INSERT INTO t15(birthday,jobtime)VALUES('2022-11-11','2022-11-11 10:10:10');
			-- 登录时间,如果希望1 ogin time列自动更新
SELECT * FROM t15;
#-- 如果我们更新t14表的某条记录,1 ogin time列会自动的以当前时间进行更新

请添加图片描述

CREATE TABLE `emp`(
			id INT,
			`name` CHAR(32),
			sex CHAR(1),
			birthday DATE,
			entry_date DATETIME,
			job VARCHAR(32),
			Salary FLOAT,
			resume TEXT) COLLATE utf8_bin ENGINE INNODB;
			
INSERT INTO `emp` VALUE(100,'韩顺平','男','2022-11-11','2022-12-22 10:10:10','工程师',1000.100,'之所');

SELECT * FROM `emp`;

DROP TABLE `emp`;

修改表

请添加图片描述
请添加图片描述

ALTER TABLE `emp`
   			ADD image VARCHAR(32) NOT NULL DEFAULT '' 
   			AFTER RESUME
DESC emp -- 显示表结构,可以香看表的所有列
ALTER TABLE `emp`
   		MODIFY job VARCHAR(60) NOT NULL DEFAULT ''
ALTER TABLE emp
     DROP sex			
RENAME TABLE emp TO employee
ALTER TABLE employee CHARACTER SET utf8
ALTER TABLE employee CHANGE `name` user_name VARCHAR(32) NOT NULL DEFAULT ''
DESC employee
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值