sql 4,创建表类型

server/2024/11/14 15:40:39/
1,整数类型(类型,占有空间,范围)标准sql:int / integer   4字节  无符号 0 - 2/32-1  有符号 -2 31 / 2 / 31 -1 smallint        2字节  无符号 0 - 2/16-1  有符号 -2 17 / 2 / 17 -1mysql方言:tinyint         1字节  无符号 0 - 2/8 -1  有符号 -2 7 / 2/7-1mediumint       3字节  无符号 0 - 2/24 -1  有符号 -2 23 / 2/23-1bigint          8字节  无符号 0 - 2/64 -1  有符号 -2 63 / 2/63-1有符号: 列名 整数类型 -> 有符号| 有符号 有负值和正值列名 整数类型 unsigned -> 无符号|无符号 没有负值,都是正值,将负值部分,绝对值后,加入正值部分!注意: 选合适范围,范围合适先占有空间最小的!           练习1创建一个ddl_d1库中,创建一个t1表,包含: 年龄和学号(范围不确定,但是没有负值)
CREATE TABLE t1(t1_age TINYINT UNSIGNED COMMENT '年龄,无符号,范围就是 0 - 255',t1_number BIGINT UNSIGNED COMMENT '学号,最大的,且没有负号'
)

2,

建表类型[浮点/定值]
浮点类型(类型,M,D)float(m,d)   4字节   m 24   d 8double(m,d)  8字节   m 53   d 30
定值类型(类型,M,D)decimal(m,d) 动态占有 m 65   d 30
使用对比:精度要求不高,例如:身高,体重 float / double 精度要求特别高,钱 工资,价格 decimal 

3,

建表类型[字符串]
字符串类型char 固定长度类型 一旦声明固定占有对应的空间 M 最大255 [性能较好]varchar 可变长度类型 一旦声明,可以插入小于的长度,自动进行伸缩 M 占有的空间不能超过一行的最大显示65535字节 [性能一般]text 大文本类型,声明不要指定长度,有固定的大小限制, text [65535] , 不占有一行的最大限制空间
细节理解1. char声明的时候可以不写m char = char(1)2. char声明了最大长度限制,输入的文本小于长度限制,会在右侧补全空格 char(5) -> 'abc' -> 'abc  '3. char类型在读取的时候,会自动去掉右侧的空格 'abc  ' -> 'abc'4. varchar声明的时候,必须添加m限制 varchar(m)5. mysql4.0以下版本 varchar(20) -> 20字节限制  mb3 -> 66. mysql5.0以上版本 varchar(20) -> 20字符限制7. varchar类型中识别空格,插入空格 读取也是有空格
演示varchar最大限制前提: mysql中一行数据最大的占有空间是65535字节,除了TEXT or BLOBs类型的列(不占有65535限制 法外狂徒)一行-> name1列 -> name1列占有的最大空间65535字节varchar类型默认会使用1字节标识是否为null -> 65535-1 = 65534字节字符集utf8mb4 1个字符 = 4个字节   65534 / 4 = 16383
解决方案 :1. 缩小字符大小限制 m变小 [不合理]2. 可以修改字符集 [不合理]3. 可以将字符串类型变成TEXT,不占有一行的限制

4,

建表类型[时间类型]时间类型 year    1 yyyy | yy   '1910' | 1910time    3 HH:MM:SS    '10:10:10' date    3 YYYY-MM-DD  '1910-10-10'datetime 8 YYYY-MM-DD HH:MM:SS '1910-10-10 10:10:10'timestamp 4 YYYY-MM-DD HH:MM:SS '1970-10-10 10:10:10'注意情况1. year可以写两位年 00 - 99  00-69 =2000 - 2069 70 - 99 = 1970 - 1999 推荐四位的年2. 时间类型,要遵循他们的格式插入,插入的时候就是按字符插入,时间默认不会自动赋值扩展自动填写时间:
  1.插入默认添加时间datatime | timestamp default current_timestamp 2.修改默认更改时间datatime | timestamp default current_timestamp on update current_timestamp 
  演示: 创建t2表,注册日期 字段插入自动添加时间,更新数据不变更新日期 字段插入自动添加时间,更新数据时间改变
*/
CREATE TABLE t2(name1 VARCHAR(20),reg_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '注册日期,插入数据自动维护时间',up_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT  '更新日期,插入数据填写时间,更新数据自动改变时间'
)

5,修改表中字段的名字

alter table books change 要修改的字段名 修改后的字段名 字段名的类型alter table books change book_num book_num1 TINYINT

6,修改表的字段类型

alter table 表名 modify 要修改的字段 要修改为的字段类型alter table books MODIFY book_num1 int

7,删除表中某个字段

alter table 表名 drop 字段名alter table books drop books_num1

8,新增字段

alter table books add 新增的字段名  字段类型alter table books add books_num2 int

9,修改表名

alter table books rename book


http://www.ppmy.cn/server/109880.html

相关文章

动态规划-买卖股票的最佳时机Ⅳ

题目描述 给你一个整数数组 prices 和一个整数 k ,其中 prices[i] 是某支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。也就是说,你最多可以买 k 次,卖 k 次。 注意:你不能同…

grpc-spring 通信(选型,grpc-ecosystem/grpc-spring)

需求 需要一个在稳定网络环境里高性能且开发和部署成本较小,且多平台,且对视频传输和消息订阅和推送的支持比较好的, 一套环境 先说结论因为结论先得到的, 问AI了, 发现一个新东西gRPC ,看了下非常好。 再说过程&…

【GPT】Coze使用开放平台接口-【2】创建工作流-语音伪造检测工作流

在Coze使用开放平台接口-【1】创建插件,我们已经成功创建了开放平台的插件,也创建了对应的工具。本文档就根据创建好的插件,来创建对应的工作流,来让接口能够用起来。 下面直接用现成的插件快商通AI开放平台,来创建语音…

MFC工控项目实例之七点击下拉菜单弹出对话框

承接专栏《MFC工控项目实例之六CFile添加菜单栏》 1、在SEAL_PRESSUREDlg.h文件中添加代码 class CSEAL_PRESSUREDlg : public CDialog { ...afx_msg void OnTypeManage(); ... } 2、在SEAL_PRESSUREDlg.cpp文件中添加代码 BEGIN_MESSAGE_MAP(CSEAL_PRESSUREDlg, CDialog)//…

3127.构造相同颜色的正方形

1.题目描述 给你一个二维 3 x 3 的矩阵 grid ,每个格子都是一个字符,要么是 B ,要么是 W 。字符 W 表示白色,字符 B 表示黑色。 你的任务是改变 至多一个 格子的颜色,使得矩阵中存在一个 2 x 2 颜色完全相同的正方形。…

Linux开放防火墙端口

目录 一、使用 firewalld 开启端口二、使用 iptables 开启端口 在 Kylin Linux 上,开启防火墙端口的步骤与其他 Linux 发行版类似。如果 Kylin Linux 使用 firewalld(这在许多基于 CentOS 或 RHEL 的发行版上是默认的),你可以按照…

Spring高手之路22——AOP切面类的封装与解析

文章目录 1. AOP是如何收集切面类并封装的?2. Advisor 是什么,它是怎么构建的?2.1 什么是 Advisor2.2 Advisor 的构建(源码分析时序图说明) 3. TargetSource 的构建和作用3.1 TargetSource 的作用3.2 TargetSource 的构…

分片结果转发: _process_prompt ;if shard.start_layer != 0: 说明不是处理prompt的

目录 分片结果转发: _process_prompt if shard.start_layer != 0: 说明不是处理prompt的 参数 方法体 注意事项 EXO是串行方式的算力共享架构 分片结果转发: _process_prompt 这段代码定义了一个名为 _process_prompt 的异步方法,它属于某个类(尽管类的定义在这段…