Mysql基础进阶速成版
一:sql语句:
1.创建一张表:写成公式:创建函数(create table)+表名+(配置字段)。配置字段公式:字段名称+字段类型,常用的类型有:整数类型int(8),int(16),int(32).....,小数类型float(8),float(16)......,字符串类型varchar(8),varchar(16).....时间类型data,datetime,二进制文件blob,文本类型text....等等这些
每条sql语句后面都要加英文分号;
13. create table table_name(
14. int_name int(6), -- 6显示长度
15. varvhar_name varchar(5), -- 5个字符
16. sex char(1),
17. age int(3),
21. );
查看表结构公式:desc + 表名字
desc table_name;
查询表中的数据:select * from +表名(后面会详细讲查询语句)
show * from table_name;
在表中插入数据:insert into +表名 + values +数据,除了整数和浮点类型,其他都要有引号单引双引都可以,如果输入类容有引号,要遵守引号使用规则
insert into table_name values (1,'字符串','男','20');
修改表中的数据:update + 表名 + set + 要修改的字段名。
updata table_name set int_name=2;
updata table_name set varchar_name = '很长的字符串';
增加一列数据,也就是增加一个字段:alter table+ 表名 + add +字段名 + 字段类型
alter table table_name add wight float(16);
删除字段:alter + table + 表名 + drop +字段名
alter table table_name drop wight;
修改字段 :alter + table + 表名 + modify + 字段名字 + 字段类型(不能修改字段名字)
alter table table_name modify wight int(6);
修改字段:alter table +表名 + change + 原字段名+新字段名+新字段类型
alter table table_name change wight new_wight float(32);
删除表:drop table + 表名
drop table table_name;
非外键约束:也就是给字段添加一些禁制,在创建字段的时候在字段后面添加:
primary key 主键约束,这个字段的数据不能为空且不能重复
not null:保存数据的时候这个字段的值不能为空
defalt 不填写时候的默认值,check后面跟的是填写的选项
auto increment:在加入数据的时候该字段的值会自动向上增加
unique:唯一约束,
以上这些约束,在保存数据的时候如果违背了这些约束那么程序会报错
# 一个个人信息表:
create table table_name(proson int(8) primary key auto increment,name varchar(5) not null,sex char(1) default '男' check (sex='男' || sex='女'),age int(3)
);
如果表已经创建好了怎么添加约束呢:
alter table +表格名称 add constraint +约束名称 +增加的约束类型 +(列名)
还可以使用修改表中字段的方式添加约束:alter table+表名+modify +字段名字+字段类型+约束
alter table table_name add constraint primary key (proson);
alter table table_name modify proson int(8) auto increment;
外键约束:
这个是用来作两张表之间的约束的,外键是指表中某个字段(A)的值依赖于另一张表中某个字段(B)的值,而被依赖的字段(B)必须具有主键约束或者唯一约束,被依赖的表(B表)我们通常称之为父表或者主表,设置外键约束的表(A表)称之为子表或者从表。
举个栗子:有两张表,你们班级的表()里面有每个学生的信息,辅导员的表里面有辅导员的信息(),你们班级的表中有一个字段teacher表示每个学生的辅导员是谁,辅导员表中有一个字段students表示有哪些班的学生,那么学生表中的teachar字段的取值范围(辅导员人数)取决于辅导员表中的students的取值来决定。这样就把两张表联系起来了。还是有点抽象?
创建辅导员表:
create table teacher(id int(4) primary key auto increment,name varchar(10) not null,class char(4)
);
向里面添加数据
insert into teacher values (null,'土木一班','a104');
insert into teacher values (null,'土木二班','a105');
insert into teacher values (null,'土木三班','a106');# 或者一次全部插入用逗号隔开insert into teacher values (null,'土木三班','a106'),(null,'土木二班','a105'),(null,'土木一班','a104');
创建学生表:
create table student(id int(6) primary key auto increment,name varchar(5) not null,on_class int(4)
);
插入学生数据
insert into student values (null,'张三',1),(null,'李四',1),(null,'王五',2);
添加外键约束
alter table 表名 add constraint 约束名称 约束类型 (列名) references 被引用的表名称 (列名)
这里会报错,那是因为还没加约束之前就有数据了,先将数据清空在添加约束
foreign key : 外键约束
fk_class:这两个表之间的约束名称
alter table student add constrain fk_class foreign key (on_class) references teacher (class);
两个表有外键约束,删除的时候报错?那是因为删除主表的时候有外键约束着,是不能删除的,所以要先删除从表在删除主表。
新建表两个表的数据和结构要一致:create table + 新建表表名+as select * from+已有表名
新建表两个表的结构要一致,新表没有数:
create table + 新建表表名+as select * from+已有表名+where 1=2;
其实就是后面的where条件判断,你判断什么样它就新建成什么样
create table student2 as select * from student1;
create table student3 as select * from student1 where 1=2;
删除数据,保留字段:delete from+表名 或者 truncate table +表名
两者的区别在于delete是将表中的数据一条条的删除(可以回滚),truncate是创建一个结构和原表一样的表,然后将原表删除(注意:数据不能回滚!!)
delete from student;
truncate table student;
表中的数据查找;
select + 需要查询的字段名称+from+表名 ,*代表所有的数据
需要查找的字段名之间使用逗号隔开,如果是用空格隔开代表对中国字段取一个别名,在显示中显示的是这个别名,如果是对字段使用运算符,那个查询出来的值就是这个字段的每个数据使用这个运算后的数据。
select * from student;
select age,weight,name from student;
select age '年龄',weight '体重',name '姓名' from student;
# 将查询出来的年龄加二十岁
select age+20,weight,name from student;
排序查询查找: select + 需要查询的字段名称+from+表名 +order by +对字段排序的字段名+升降。asc表示升序(默认),desc降序
select * from student order by age asc;
条件查询: select + 需要查询的字段名称+from+表名+where +条件
如果是多个条件,使用and并或者&&,or或者||来连接
select * from student where age>20;
select * from student where name='张三';
select * from student where age>20 and name='张三';
select * from student where age>20 && name='张三';
内容太多了,后面的章节放到下一个文章里了。 都看到这里了记得点个赞呗!!!
相关文章:
Mysql基础进阶速成版
一:sql语句: 1.创建一张表:写成公式:创建函数(create table)表名(配置字段)。配置字段公式:字段名称字段类型,常用的类型有:整数类型int(8),int(16),int(32).....,小数类型float(8),float(16).…...
Tomcat安装与配置要点和难点以及常见报错和解决方案
Tomcat 的安装及配置教程如下,将按照清晰的步骤进行说明: 一、安装前的准备 安装 JDK:Tomcat 是基于 Java 的 Web 服务器,因此需要先安装 JDK(Java Development Kit)。 你可以根据自己的操作系统选择适合的 JDK 版本,并确保它已正确安装和配置。 二、下载 Tomcat 访问 A…...
【Oracle】Oracle导入导出dmp文件
文章目录 前言一、什么是dmp?二、imp/impdp、exp/expdp对比及示例1.区别2.imp/impdp对比及示例a. impb. impbp 3.exp/expdp对比及示例a. expb.expdp 3.其他事项 三、执行导入导出前置条件1.创建角色并授权2.创建目录映射 前言 在工作中,经常会遇到需要备…...
渗透测试模拟实战-tomexam网络考试系统
渗透测试,也称为“pentest”或“道德黑客”,是一种模拟攻击的网络安全评估方法,旨在识别和利用系统中的安全漏洞。这种测试通常由专业的安全专家执行,他们使用各种技术和工具来尝试突破系统的防御,如网络、应用程序、主…...
“神经网络之父”和“深度学习鼻祖”Geoffrey Hinton
“神经网络之父”和“深度学习鼻祖”Geoffrey Hinton在神经网络领域数十年如一日的研究,对深度学习的推动和贡献显著。 一、早期贡献与突破 反向传播算法的引入:Hinton是将反向传播(Backpropagation)算法引入多层神经网络训练的…...
[消息队列 Kafka] Kafka 架构组件及其特性(一)
工作中的消息队列用的是Kafka,一直没有系统的了解,这边集中整理一下。 目录 Kafka主要组件有十个部分。 1.Broker(服务器) 2.Record(消息) 3.Producer(生产者) 4.Consumer&…...
【Flutter 面试题】 JIT 与 AOT分别是什么?
【Flutter 面试题】 JIT 与 AOT分别是什么? 文章目录 写在前面口述回答写在前面 🙋 关于我 ,小雨青年 👉 CSDN博客专家,GitChat专栏作者,阿里云社区专家博主,51CTO专家博主。2023博客之星TOP153。 👏🏻 正在学 Flutter 的同学,你好! 😊 Flutter 面试宝典(…...
QT获取最小化,最大化,关闭窗口事件
QT获取最小化,最大化,关闭窗口事件 主程序头文件: 实现: changeEvent,状态改变事件 closeEvent触发点击窗口关闭按钮事件 其代码它参考: /*重写该函数*/ void MainWindow::changeEvent(QEvent *event) {…...
Oracle作业调度器Job Scheduler
Oracle数据库调度器 (Oracle Database Scheduler) 在数据库管理系统中,数据库调度器负责调度和执行数据库中的存储过程、触发器、事件等。它可以确保这些操作在正确的时间和条件下得到执行,以满足业务需求。 1、授权用户权限 -- 创建目录对象 tmp_dir…...
Vue 组件之间的通信
在 Vue.js 中,组件是构建应用程序的基本单位。然而,当你的应用程序变得复杂时,组件之间的通信变得至关重要。本文将介绍几种 Vue 组件之间通信的方式,帮助你更好地管理和组织代码。 父子组件通信 父组件可以通过 props 向子组件传…...
Elementary OS 7.1简单桌面调整
Elementary OS的Pantheon桌面环境提供了一种非常独特和直观的用户体验。默认情况下,Pantheon桌面并没有提供传统的窗口最小化、最大化按钮。但是可以通过安装和使用特定的工具来调整和自定义这些设置。 可以通过以下步骤来启用窗口的最小化和最大化按钮:…...
【C++ | 析构函数】类的析构函数详解
😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 ⏰发布时间⏰:2024-06-06 1…...
ceph radosgw 原有zone placement信息丢失数据恢复
概述 近期遇到一个故障环境,因为某些原因,导致集群原有zone、zonegroup等信息丢失(osd,pool等状态均健康)。原有桶和数据无法访问,经过一些列fix后修复, 记录过程 恢复realm和pool相关信息 重…...
【动手学深度学习】残差网络(ResNet)的研究详情
目录 🌊1. 研究目的 🌊2. 研究准备 🌊3. 研究内容 🌍3.1 残差网络 🌍3.2 练习 🌊4. 研究体会 🌊1. 研究目的 了解残差网络(ResNet)的原理和架构;探究残…...
freertos初体验 - 在stm32上移植
1. 说明 freertos内核 非常精简,代码量也很少,官方也针对主流的编译器和内核准备好了移植文件,所以 freertos 的移植是非常简单的,很多工具(例如CubeMX)点点鼠标就可以生成一个 freertos 的工程࿰…...
ubuntu使用 .deb 文件安装VScode
使用 .deb 文件安装 下载 VSCode 的 .deb 文件: wget -q https://go.microsoft.com/fwlink/?LinkID760868 -O vscode.deb使用 dpkg 安装: sudo dpkg -i vscode.deb如果有依赖项问题,使用以下命令修复: sudo apt-get install -f...
9.1.1 简述目标检测领域中的单阶段模型和两阶段模型的性能差异及其原因
9.1目标检测 场景描述 目标检测(Object Detection)任务是计算机视觉中极为重要的基础问题,也是解决实例分割(Instance Segmentation)、场景理解(Scene Understanding)、目标跟踪(Ob…...
系统化自学Python的实用指南
目录 一、理解Python与设定目标 二、搭建学习环境与基础准备 三、入门学习阶段 四、中级进阶阶段 五、项目实践与持续深化 六、持续学习与拓展 一、理解Python与设定目标 Python概述:详细介绍Python的历史沿革、设计理念、主要特点(如易读、易维护…...
加密货币初创企业指南:如何寻找代币与市场的契合点
撰文:Mark Beylin,Boost VC 编译:Yangz,Techub News 原文来源:香港Web3媒体Techub News 在 Y Combinator 创始人 Paul Graham 《Be Good》一文中概述了初创企业如何找到产品与市场契合点的方法,即制造人…...
【十二】图解mybatis日志模块之设计模式
图解mybatis日志模块之设计模式 概述 最近经常在思考研发工程师初、中、高级工程师以及系统架构师各个级别的工程师有什么区别,随着年龄增加我们的技术级别也在提升,但是很多人到了高级别反而更加忧虑,因为it行业35岁年龄是个坎这是行业里的共…...
SPM12实战:手把手教你搞定fMRI数据预处理(从时间矫正到空间平滑)
SPM12实战:零基础入门fMRI数据预处理全流程解析 第一次接触功能磁共振成像(fMRI)数据分析时,面对SPM12复杂的界面和晦涩的术语,很多新手都会感到无从下手。这篇文章将带你从零开始,用最直观的方式掌握fMRI数…...
intv_ai_mk11作品分享:会议纪要提炼、政策白话解读、技术术语通俗化实例
intv_ai_mk11作品分享:会议纪要提炼、政策白话解读、技术术语通俗化实例 1. 模型简介与核心能力 intv_ai_mk11是一款基于Llama架构的中等规模文本生成模型,特别擅长处理各类文本转换和解释任务。这个开箱即用的解决方案已经完成本地部署,用…...
在ALV当中上传的excel形式的layout,没法删除怎么办?
明明点了上边的删除键(-)也保存了,下次进入还是存在。OAOR,上传的模板都在里面,点击删除即可...
PasteMD免配置环境:Docker镜像封装,3条命令完成私有化AI格式化服务部署
PasteMD免配置环境:Docker镜像封装,3条命令完成私有化AI格式化服务部署 1. 项目简介:剪贴板智能美化工具 PasteMD是一个完全私有化的AI文本格式化工具,它基于Ollama本地大模型运行框架和强大的llama3:8b模型构建。这个工具的核心…...
Hackintool终极指南:三步解决黑苹果显卡、音频和USB配置难题
Hackintool终极指南:三步解决黑苹果显卡、音频和USB配置难题 【免费下载链接】Hackintool The Swiss army knife of vanilla Hackintoshing 项目地址: https://gitcode.com/gh_mirrors/ha/Hackintool 还在为黑苹果配置而烦恼吗?显卡驱动不工作、音…...
AMD Ryzen SDT调试工具:突破性实战指南,让你的处理器性能飙升200%
AMD Ryzen SDT调试工具:突破性实战指南,让你的处理器性能飙升200% 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. …...
Llama-3.2V-11B-cot开源大模型案例:科研论文插图数据真实性初筛
Llama-3.2V-11B-cot开源大模型案例:科研论文插图数据真实性初筛 1. 项目背景与价值 科研论文插图的真实性核查是学术出版领域的重要环节。传统人工检查方式存在效率低、主观性强等问题。Llama-3.2V-11B-cot多模态大模型为解决这一问题提供了创新方案。 这款基于M…...
C语言开发者视角:Kandinsky-5.0-I2V-Lite-5s高性能推理引擎调用
C语言开发者视角:Kandinsky-5.0-I2V-Lite-5s高性能推理引擎调用 1. 引言:当静态告警遇上动态生成 想象一下这样的场景:工业监控系统捕捉到设备异常,触发静态告警图片。传统方案中,这张图片需要人工介入分析ÿ…...
如何快速上手tuic:从零开始的安装与配置教程
如何快速上手tuic:从零开始的安装与配置教程 【免费下载链接】tuic 项目地址: https://gitcode.com/gh_mirrors/tu/tuic tuic是一款高效的GitHub加速工具,能够帮助用户解决GitHub访问速度慢、连接不稳定等问题,让开发者更流畅地获取G…...
终极网络工具集实战:ACL库中DNS解析、Ping检测与邮件发送的完整解决方案
终极网络工具集实战:ACL库中DNS解析、Ping检测与邮件发送的完整解决方案 【免费下载链接】acl A powerful server and network library, including coroutine, redis client, http, websocket, mqtt with C/C for multi-platform including Linux, Android, iOS, Ma…...
