零基础学MySQL(二)-- 表的创建,修改,删除


在这里插入图片描述


🎈一、创建表

1️⃣基本语法
CREATE TABLE 表名 (
	列名 列类型, 
	列名 列类型, 
	列名 列类型, 
	列名 列类型)
	CHARACTER SET 字符集
	COLLATE 校对规则 
	ENGINE 存储引擎;

注意:创建表时,要根据需保存的数据创建相应的列,并根据数据的类型定义相应的列类型。

2️⃣入门案例

建立一个名为 nba_player 的球员信息表,包括姓名,出生日期,打球位置,身高,臂展,工资,所在球队,字符集为utf8,校对规则区分大小写,存储引擎为INNODB。
在这里插入图片描述

CREATE TABLE nba\_player (
	`name` VARCHAR(255),
	birthday DATE,
	`position` VARCHAR(255),
	height INT,
	arm_span INT,
	sal DOUBLE,
	team VARCHAR(255))
	CHARACTER SET utf8 
	COLLATE utf8_bin 
	ENGINE INNODB; 

🎆二、MySQL常用数据类型

1️⃣数值型(整型)默认有符号
类型大小有符号范围无符号范围
TINTINT(UNSIGNED)占1个字节有符号:-128 ~ 127无符号:0 ~ 255
SMALLINT(UNSIGNED)占2个字节有符号:-2^15 ~ 2^15 - 1无符号:0 ~ 2^16 - 1
MEDIUMINT(UNSIGNED)占3个字节有符号:-2^23 ~ 2^23 - 1无符号:0 ~ 2^24 - 1
INT(UNSIGNED)占4个字节有符号:-2^31~ 2^31 - 1无符号:0 ~ 2^32 - 1
BIGINT(UNSIGNED)占8个字节有符号:-2^63~ 2^63 - 1无符号:0 ~ 2^64 - 1
-- 如果没有指定 UNSIGNED , 就是有符号
CREATE TABLE t3 (
	id TINYINT);
	
-- 如果指定 UNSIGNED , 就是无符号
CREATE TABLE t4 (
	id TINYINT UNSIGNED);

2️⃣数值型(bit)
-- BIT(m) m 在 1-64
CREATE TABLE t05 (num BIT(8));

-- 添加数据 范围 按照你给的位数来确定,比如 m = 8 表示一个字节 0~255
INSERT INTO t05 VALUES(255);

-- 显示按照 bit
SELECT \* FROM t05;

-- 查询时,仍然可以按照数来查询
SELECT \* FROM t05 WHERE num = 1;

3️⃣数值型(浮点型)默认有符号
类型大小
FLOAT(UNSIGNED)占4个字节
DOUBLE(UNSIGNED)占8个字节
DECIMAL【M,D】(UNSIGNED)可变

DECIMAL【M,D】(UNSIGNED)可以支持更加精确的小数位,M是小数位数(精度)的总数,D是小数点(标度)后面的位数。
如果D是0,则值没有小数点部分。M最大为65,D最大为30,如果D省略,默认是0,如果M省略,默认是10。

#演示 decimal 类型、float、double 使用
#创建表
CREATE TABLE t06 (
	num1 FLOAT, 
	num2 DOUBLE, 
	num3 DECIMAL(30,20));
	
#添加数据
INSERT INTO t06 VALUES(88.12345678912345, 88.12345678912345,88.12345678912345);
SELECT \* FROM t06;

4️⃣字符串的基本使用
类型大小
CHAR(size) 固定长度字符串最大 255 字符
VARCHAR(size) 可变长度字符串0 ~ 65535 字节
TEXT0 ~ 2^16 - 1 字节
MEDIUMTEXT0 ~ 2^24 - 1 字节
LONGTEXT0 ~ 2^32 - 1 字节
BLOB0 ~ 2^16 - 1 字节
MEDIUMBLOB0 ~ 2^24 - 1 字节
LONGBLOB0 ~ 2^32 - 1 字节

VARCHAR(size),最大可以存放 65532 字节 【1-3 个字节用于记录大小】
如果表的编码是 utf8,那么最大可以存 (65535-3) / 3 = 21844字符
如果表的编码是 gbk ,那么最大可以存 (65535-3) / 2 = 32766字符

#演示字符串类型使用 char varchar
CREATE TABLE t09 (
	`name` CHAR(255));
	
CREATE TABLE t10 (
	`name` VARCHAR(32766)) 
	CHARSET gbk;

在存放文本时,也可以使用 TEXT 数据类型,可以将 TEXT 列视为 VARCHAR 列,注意 TEXT 没有默认值,如果不够用可以使用 MEDIUMTEXT 或 LONGTEXT。
BLOB,MEDIUMBLOB,LONGBLOB是二进制文本数据类型,使用较少。

#如果 varchar 不够用,可以考试使用 mediumtext 或者 longtext
#如果想简单点,可以使用直接使用 text
CREATE TABLE t13( 
	content TEXT, 
	content2 MEDIUMTEXT , 
	content3 LONGTEXT);

5️⃣字符串使用细节

细节1:

CHAR(4),这个4表示字符数(最大255),不是字节数,不管是中文还是字母都是放4个按字符计算。
VARCHAR(4),这个4表示字符数,不管是字母还是中文都以定义好的表的编码来存放数据。
不管是中文还是英文字母,都是最多存放4个,是按照字符来存放的。
对于占多少字节取决于编码。

编码类型大小
GBK字母1字节,汉字2字节
UTF-8字母1字节,汉字3字节
Unicode字母2字节,汉字2字节

细节2:

CHAR(4)是定长(固定的大小),就是说,即使你插入’aa’ ,也会占用分配的4个字符的空间。
VARCHAR(4)是变长(变化的大小),就是说,如果你插入了’aa’,实际占用空间大小是2个字符空间再加上1-3个字节,因为VARCHAR本身还需要占用1-3个字节来记录存放内容长度

细节3:

什么时候使用char,什么时候使用varchar
1.如果数据是定长,推荐使用char,比如md5的密码,邮编,手机号,身份证号码等。
2.如果一个字段的长度是不确定,我们使用varchar ,比如留言,文章。
3.查询速度:char > varchar

6️⃣时间类型
类型格式描述
DATEYYYY-MM-DD年-月-日
TIMEHH:MM:SS时:分:秒
YEARYYYY
DATETIMEYYYY-MM-DD HH:MM:SS年-月-日 时:分:秒
TIMESTAMPYYYY-MM-DD HH:MM:SS年-月-日 时:分:秒
#演示时间相关的类型
#创建一张表, date , datetime , timestamp
CREATE TABLE t14 (
	birthday DATE , -- 生日
	job_time DATETIME, -- 记录年月日 时分秒
	login_time TIMESTAMP
		NOT NULL DEFAULT CURRENT\_TIMESTAMP
		ON UPDATE CURRENT\_TIMESTAMP); -- 登录时间, 如果希望 login_time 列自动更新, 需要配置
		
SELECT \* FROM t14;
INSERT INTO t14(birthday, job_time)
	VALUES('2022-11-11','2022-11-11 10:10:10'); -- 如果我们更新 t14 表的某条记录,login_time 列会自动的以当前时间进行更新

TIMESTAMP 在 INSERT 和 UPDATE 时,自动更新。

🎇三、修改与删除表

1️⃣添加列

基本语法:

ALTER TABLE 表名
	ADD 列名 列类型

练习:球员表 nba_player 上面添加一个 enter_nba_time 列,INT类型(要求在team后面)

ALTER TABLE nba_player


# Spring全套教学资料

**Spring是Java程序员的《葵花宝典》,其中提供的各种大招,能简化我们的开发,大大提升开发效率!目前99%的公司使用了Spring,大家可以去各大招聘网站看一下,Spring算是必备技能,所以一定要掌握。**

**目录:**

![](https://img-blog.csdnimg.cn/img_convert/0116042e473bfdc1535bf37bc8ae6cc0.webp?x-oss-process=image/format,png)

![](https://img-blog.csdnimg.cn/img_convert/0d5c8802071d2de19b682b61e2b5eb47.webp?x-oss-process=image/format,png)

**部分内容:**

![](https://img-blog.csdnimg.cn/img_convert/fcb1a485dcf7e6c7d0fb4c80ac279810.webp?x-oss-process=image/format,png)

![](https://img-blog.csdnimg.cn/img_convert/6e55f56df6d7e516a439906fdc7f2c2d.webp?x-oss-process=image/format,png)

# Spring源码

*   第一部分 Spring 概述
*   第二部分 核心思想
*   第三部分 手写实现 IoC 和 AOP(自定义Spring框架)
*   第四部分 Spring IOC 高级应用
    基础特性
    高级特性
*   第五部分 Spring IOC源码深度剖析
    设计优雅
    设计模式
    注意:原则、方法和技巧
*   第六部分 Spring AOP 应用
    声明事务控制
*   第七部分 Spring AOP源码深度剖析
    必要的笔记、必要的图、通俗易懂的语言化解知识难点

![](https://img-blog.csdnimg.cn/img_convert/b68b3bd06af2d278faa1f7e8be3e4bb5.webp?x-oss-process=image/format,png)

![](https://img-blog.csdnimg.cn/img_convert/30685acdcbf06c64bf192ca17a5d68cb.webp?x-oss-process=image/format,png)

# 脚手框架:SpringBoot技术

> 它的目标是简化Spring应用和服务的创建、开发与部署,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用的微服务功能,可以和spring cloud联合部署。
>
> Spring Boot的核心思想是约定大于配置,应用只需要很少的配置即可,简化了应用开发模式。

*   SpringBoot入门
*   配置文件
*   日志
*   Web开发
*   Docker
*   SpringBoot与数据访问
*   启动配置原理
*   自定义starter

![](https://img-blog.csdnimg.cn/img_convert/a8a23afef9ac3e04f8fe1754c7fad689.webp?x-oss-process=image/format,png)

![](https://img-blog.csdnimg.cn/img_convert/f5e48eaa37451a796aa7ce012464ee22.webp?x-oss-process=image/format,png)

# 微服务架构:Spring Cloud Alibaba

> 同 Spring Cloud 一样,Spring Cloud Alibaba 也是一套微服务解决方案,包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。

*   微服务架构介绍
*   Spring Cloud Alibaba介绍
*   微服务环境搭建
*   服务治理
*   服务容错
*   服务网关
*   链路追踪
*   ZipKin集成及数据持久化
*   消息驱动
*   短信服务
*   Nacos Confifig—服务配置
*   Seata—分布式事务
*   Dubbo—rpc通信

![](https://img-blog.csdnimg.cn/img_convert/9344b8118763c52f7fdb6becfc5d58df.webp?x-oss-process=image/format,png)

![](https://img-blog.csdnimg.cn/img_convert/f43e249fa64cd8ff467ba0d4361125ec.webp?x-oss-process=image/format,png)

# Spring MVC

**目录:**

![](https://img-blog.csdnimg.cn/img_convert/24161c6d6049b56448343d1a2eef9182.webp?x-oss-process=image/format,png)

![](https://img-blog.csdnimg.cn/img_convert/0938defd7ccfdcfa793b03ae0e057029.webp?x-oss-process=image/format,png)

![](https://img-blog.csdnimg.cn/img_convert/f58e94bb76717ef24a07b4a230325e7f.webp?x-oss-process=image/format,png)

**部分内容:**

![](https://img-blog.csdnimg.cn/img_convert/55c057be4ef71fa5625ac8d79e6c099c.webp?x-oss-process=image/format,png)

![](https://img-blog.csdnimg.cn/img_convert/849a2e1c4e5e603f47ef647f72b26eb7.webp?x-oss-process=image/format,png)



ta—分布式事务
*   Dubbo—rpc通信

[外链图片转存中...(img-iL5qpBE3-1714225349175)]

[外链图片转存中...(img-yK9VzFoD-1714225349176)]

# Spring MVC

**目录:**

[外链图片转存中...(img-z64pRthn-1714225349176)]

[外链图片转存中...(img-Mls0dDL5-1714225349177)]

[外链图片转存中...(img-c0inh6nG-1714225349177)]

**部分内容:**

[外链图片转存中...(img-vK4IodwX-1714225349177)]

[外链图片转存中...(img-iQQyhAFV-1714225349178)]



> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/topics/618154847)收录**
  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值