mysql学习笔记(二)
-- mysql关系型数据库:C/S结构软件(连接认证,发送SQL指令,服务器处理指令返回结果,客户端接收结果解析结果) -- mysql服务器端对象:DBMS->Database->Table->fields -- 数据类型 -- 所谓的数据类型:对数据进行统一的分类 -- SQL中将数据类型分成了三大类:数值类型,字符串类型和时间日期类型 -- 数值型:都是数值,分为整数型和小数型 -- 整数型数据:存放整型数据,细分为五类 -- TinyInt 迷你整型,使用一个字节存储 -- smallInt 小整型,使用2个字节存储 -- mediumint 中整型,使用三个字节存储 -- int 标准整型,使用四个字节存储 -- bigint:大整型,使用八个字节存储 -- SQL中将小数型分为浮点型和定点型 -- 浮点型:小数点浮动,精度有限,而且会丢失精度(自动四舍五入) -- 定点型:小数点固定,精度固定,不会丢失精度 -- 主键:一张表只能有一个字段可以使用对应的键,用来唯一的约束该字段里面的数据,不能重复 create table my_info(name varchar(20),numbers char(10) primary key comment '学号'); show full columns from my_info; -- 一个表只能有一个主键 -- 复合主键 -- 在实际创建表的过程中,很少使用真实业务数据作为主键字段(业务主键,如学号,课程号) -- 大部分使用逻辑性的字段,称为逻辑主键 create table my_student( id int primary key auto_increment comment '逻辑主键,自增长', number char(10) not null comment '学号', name varchar(10) not null ); desc my_student; -- 当自增长被给定的值为null或者默认值的时候会触发自动增长 -- 自增长如果对应的字段输入了值,那么自增长失效,但是下一次还是能够正确的自增长(从最大值+1) insert into my_student(number,name) values('123','xu'); insert into my_student values(null,'234','jian'); show create table my_student; -- 自增长修改 -- 修改只能向更大的数修改,向下修改不生效 alter table my_student auto_increment=5;-- 下一次自增长从5开始 -- 为什么自增长是从1开始?为什么每次都是自增1呢? show variables like 'auto_increment%'; # auto_increment_increment 1 # auto_increment_offset 1 -- 可以修改变量实现不同的效果,修改是对整个数据修改,而不是单张表 -- 修改自增长步长 set auto_increment_increment=5; -- 唯一键 -- 一张表往往有很多字段需要具有唯一性,数据不能重复, -- 但是一张表中只能有一个主键,唯一键(unique key)就可以解决表中有多个字段需要唯一性约束的问题 -- 唯一键的本质与主键差不多,唯一键默认的允许自动为空,而且可以多个为空 -- 增加唯一键 create table my_unique1( number char(10) not null unique comment '学号:唯一', name varchar(10) not null ); desc my_unique1;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗