开开心心带你学习MySQL数据库之第三篇上

在这里插入图片描述

学校的项目组有必要加入吗?

看你的初心.

~~如果初心是通过这个经历能够提高自己的技术水平 ~~是可以考虑的

~~如果初心是通过这个经历提高自己找工作的概率 ~~这个是不靠谱的,啥用没有

~~如果初心是通过这个体验更美好的大学生活 ~~靠谱的


秋招,应届生,找工作是非常容易的!!! ~~结果是美好的,过程是曲折的. ~~进大厂是不容易的!!!


MySQL数据库和表操作

数据库操作

数据库操作:

  1. 查看所有数据库 show databases;

  2. 创建数据库 create database [数据库名];

  3. 选中数据库 use [数据库名];

  4. 删除数据库 drop database [数据库名];

删库操作非常危险!!!很有可能把你的工作给删没了 ~~也有可能把你老板的工作也给删没了

数据表操作

数据表操作:

前提都是要选中数据库

  1. 查看数据表 show tables;

  2. 创建表

语法:

CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype );

可以使用comment增加字段说明 ~~相当于注释,只是comment这个注释不太好用,只能在创建表的时候用 ~~更推荐使用 “- -”(2个横线)或者“#”作为注释

image-20230903103913230

~~ 注释只是在源码中存在,并不会在数据库里面保存起来

示例:

create table stu_test ( id int, name varchar(20) comment '姓名 ', password varchar(50) comment '密码 ', age int, sex varchar(1), birthday timestamp, amout decimal(13,2), resume text      
); 

创建一张学生表

image-20230902215713634

(id int, name varchar(20))

  • 列的名字在前,类型在后 ~~ 有点违背我们日常的编码习惯

  • C , Java => 类型 变量名 = 0; ~~ int a = 10;

  • 当然,有些编程语言和SQL语句一样,就是把类型放到后面,如Python,Go,C++(部分场景)


    常用的数据类型

  • INT: 整型

  • DOUBLE: 浮点数类型

  • DECIMAL(M, D): 浮点数类型

  • VARCHAR(SIZE): 字符串类型

  • DATETIME: 日期类型


思考一下:

上面的几种数据类型都是有符号的(带有正负的)

问题来了:那么mysql是否有无符号类型???

有!!! ~ 如int, 加上unsigned => unsigned int 无符号类型

重点:mysql官方文档,明确说,无符号类型不建议使用,而且会在未来的版本中不在支持了!!!

而且我们熟知的java是没有无符号类型的 => 说明,无符号是有大问题的!!!

真实案例:

image-20230902203125039

  1. 查看指定表的表结构
desc 表名;

desc => describe的缩写.(描述一个表是啥样子的)
对此博主理解

好比,有一天,你在学校里看到一个妹纸,你说,”哇,这妹子长得贼好看”,等你回寝室了,跟室友说,”今天我遇到一个贼好看的妹子”,你室友问了,”我去,这妹子到底长啥样啊?!”这时,你就得描述描述,至于,具体的描述嘿嘿(*^▽^*)嘿嘿,我就不说了. ~ 现在不是描述妹子,而是描述一张表而已,兄弟们,你们这样就不会不行了吧🙁🙁🙁!!! ~~ 描述一张表可比描述妹子简单多了,描述妹子其实挺难的(博主真心话) ~ 当然,哥们你要是曹植一样有才,为甄宓而作了洛神赋,当我没说.

~~ <<洛神赋>> ~ ~”翩若惊鸿,婉若游龙,荣曜秋菊,华茂春松。髣髴兮若轻云之蔽月,飘飖兮若流风之回雪。”

image-20230903000832697

~~ Type => int(11)意思是这一列在客户端里查询显示的时候结果最多是11个字符,但是11只是和显示有关,和存储无关!!!

~~ Null => YES 表示这一列可以为空,这里的内容是选填项

~~ Default => 列的默认值 ~ NULL

4.删除表

drop table 表名;

image-20230903102534179

详细的语法格式

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...  

示例:

-- 删除 stu_test 表
drop table stu_test;
-- 如果存在 stu_test 表,则删除 stu_test 表
drop table if exists stu_test;  

课后练习题

题目

  • 有一个商店的数据,记录客户及购物情况,有以下三个表组成 :
    • 商品goods(商品编号goods_id ,商品名goods_name, 单价unitprice, 商品类别category, 供 应商provider)
    • 客户customer(客户号customer_id,姓名name,住址address,邮箱email,性别sex ,身份证 card_id)
    • 购买purchase(购买订单号order_id,客户号customer_id,商品号goods_id,购买数量nums)

SQL语句

  • ​ SQL:
-- 创建数据库
create database if not exists bit32mall
default character set utf8 ;-- 选择数据库
use bit32mall;  -- 创建数据库表 
-- 商品 
create table if not exists goods 
( goods_id  int comment  '商品编号 ', goods_name varchar(32) comment '商品名称 ', unitprice  int comment  '单价,单位分 ', category  varchar(12) comment '商品分类 ', provider  varchar(64) comment '供应商名称 ' ); -- 客户 create table if not exists customer 
( customer_id  int comment  '客户编号 ', name varchar(32) comment '客户姓名 ', address  varchar(256) comment '客户地址 ', email  varchar(64) comment '电子邮箱', sex bit comment  '性别 ', card_id varchar(18) comment '身份证 ' );                                            -- 购买create table if not exists purchase 
( order_id  int comment  '订单号 ', customer_id int comment  '客户编号 ', goods_id  int  comment  '商品编号 ',   nums  int comment  '购买数量 ' );    

注:在写复杂sql语句的时候,可以先在记事本中写,然后复制过去,当然也可以在idea中写(有高亮补全的)

~~ 单价的类型使用

~~ double(3,1) 不精确!!!

~~ decimal 是相对较好的选择!!!(更精确) ,存储结构与double不一样,占用的空间更大,同时运算速度更慢

~~int 是更好的选择,即是精确的,同时也能进行高效的计算和存储,不过由于int只能存储整数,加上钱的计算单位为元 角 分, ~~使用分为单位进行计算,表示钱的小技巧.


image-20230903164000186
image-20230903165847940

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/65506.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java切换到Kotlin,Crash率上升了?

前言 最近对一个Java写的老项目进行了部分重构&#xff0c;测试过程中波澜不惊&#xff0c;顺利上线后几天通过APM平台查看发现Crash率上升了&#xff0c;查看堆栈定位到NPE类型的Crash&#xff0c;大部分发生在Java调用Kotlin的函数里&#xff0c;本篇将会分析具体的场景以及…

阜时科技联合客户发布全固态激光雷达面阵SPAD芯片及雷达整机

引言: 首先,我们非常荣幸受邀观摩此次行业盛会。阜时科技在全固态激光雷达面阵SPAD芯片研发上所取得的卓越成果,对于激光雷达大幅降本、扩大市场应用,具有重要意义。先划重点: 1,正式发布之前,阜时科技全固态激光雷达面阵SPAD芯片已被光之矩、武汉万集等多家激光雷达厂…

【小作文】【信】

【邀请信】【22&#xff0c;1邀请教授参加比赛】 【投诉信】【12,2投诉产品质量问题】

【AWS实验】 配置中转网关及对等连接

文章目录 实验概览目标实验环境任务 1&#xff1a;查看网络拓扑并创建基准任务 2&#xff1a;创建中转网关任务 3&#xff1a;创建中转网关挂载任务 4&#xff1a;创建中转网关路由表任务 4.1&#xff1a;创建路由表关联任务 4.2&#xff1a;创建路由传播 任务 5&#xff1a;更…

C++进程、线程、内存管理

目录 进程和线程区别 进程和线程切换的区别 系统调用流程 系统调用是否会引起线程切换 为什么需要使用虚拟内存 进程和线程区别 本质区别&#xff1a; 进程是资源分配的基本单元。 线程是操作系统调度的基本单元。 地址空间&#xff1a; 进程具有独立的虚拟地址空间。 线程…

SpringWeb(SpringMVC)

目录 SpringWeb介绍 搭建 SpringWeb SpringWeb介绍 Spring Web是一个基于 Servlet API 构建的原始 web 框架&#xff0c;用于构建基于MVC模式的Web应用程序。在 web 层框架历经 Strust1&#xff0c;WebWork&#xff0c;Strust2 等诸多产品的历代更选 之后&#xff0c;目前业界普…

fastadmin think-queue supervisor配置

起因是微信支付回调需要同时做发货处理&#xff0c;但是发货接口不能影响,需要队列进行异步处理1. 1.fastadmin 后台购买queue插件(基于think-queue消息队列) 2.代码 2.1 添加文件&#xff1a;application---->extra--->queue.php 内容&#xff1a;我这里用的数据库做…

汇编攻城记-LDR/STR/LDM/STM数据传输

1.1 LDR和STR&#xff08;直接偏移量&#xff09; 带有直接偏移量、前变直接偏移量或后边直接偏移量的加载和存储。 语法 op{type}{cond} Rt, [Rn {, #offset}] ;立即偏移 op{type}{cond} Rt, [Rn, #offset]! ;前索引 op{type}{cond} Rt, [Rn], #offset …

Git的基本使用笔记——狂神说

版本控制 版本迭代&#xff0c; 版本控制( Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史&#xff0c;方便查看更改历史记录&#xff0c;备份以便恢复以前的版本的软件工程技术。 实现跨区域多人协同开发 追踪和记载一个或者多个文件的…

【蔚来汽车日常实习】蔚来汽车Java后端实习

【蔚来汽车日常实习】蔚来汽车Java后端实习 时间&#xff1a;2023 8.23 面试记录 两轮面试技术面 HR自我介绍介绍你的项目关于你的研究生方向 为什么不去高AI了说一下你对SpringBoot的理解说一下你对Data注解的理解 以及为什么可以填充说一下Spring IOC说一下 Spring aopHas…

合宙Air724UG LuatOS-Air LVGL API控件--日历 (Calendar)

日历 (Calendar) LVGL 提供了一个用来选择和显示当前日期的日历控件。 示例代码 – 高亮显示的日期 highlightDate lvgl.calendar_date_t() – 日历点击的回调函数 – 将点击日期设置高亮 function event_handler(obj, event) if event lvgl.EVENT_VALUE_CHANGED then da…

(15)线程的实例认识:同步,异步,并发,并发回调,事件,异步线程,UI线程

参看&#xff1a;https://www.bilibili.com/video/BV1xA411671D/?spm_id_from333.880.my_history.page.click&vd_source2a0404a7c8f40ef37a32eed32030aa18 下面是net framework版本 一、文件构成 1、界面如下。 (1)同步与异步有什么区别&#xff1f; …

有哪些前端可以做的性能优化点

前端性能优化是一个广泛的主题&#xff0c;涉及许多不同的技术和策略。以下是一些常见的前端性能优化点&#xff1a; 资源压缩和最小化&#xff1a; 使用工具如Terser来压缩和最小化JavaScript代码。使用CSS压缩工具如CSSNano。压缩HTML内容。 图片优化&#xff1a; 使用适当的…

单片机TVS/ESD二极管防护

TVS 瞬态电压抑制二极管Transient Voltage Suppressor ESD 静电释放二极管 Electro-Static discharge 这两种本质上都是二极管。都是利用了二极管正向导通、反向截止的特性。二极管在反向截止截止条件下&#xff0c;如果电压继续增大&#xff0c;将会引发雪崩&#xff0c;使得…

聚合多个电商API接口平台

API接口测试&#xff08;点击免费测试&#xff09; 随着数字化商业时代的到来&#xff0c;API接口已成为电商资源连接利器&#xff0c;也是全球传统互联网企业转型的基础。 2021年 Google Cloud 研究显示&#xff0c;全球互联网企业近3/4的企业持续投入数字化转型&#xff0c…

SpringMVC之异常处理器

文章目录 前言一、基于配置的异常处理二、基于注解的异常处理总结 前言 SpringMVC提供了一个处理控制器方法执行过程中所出现的异常的接口&#xff1a;HandlerExceptionResolver。 HandlerExceptionResolver接口的实现类有&#xff1a;DefaultHandlerExceptionResolver&#x…

JVM类的加载过程

加载过程 JVM的类的加载过程分为五个阶段&#xff1a;加载、验证、准备、解析、初始化。 加载   加载阶段就是将编译好的的class文件通过字节流的方式从硬盘或者通过网络加载到JVM虚拟机当中来。&#xff08;我们平时在Idea中书写的代码就是放在磁盘中的&#xff0c;也可以通…

什么是RTC

参考&#xff1a; https://zhuanlan.zhihu.com/p/377100294 RTC&#xff08;Real time communication&#xff09;实时通信&#xff0c;是实时音视频的一个简称&#xff0c;我们常说的RTC技术一般指的是WebRTC技术&#xff0c;已经被 W3C 和 IETF 发布为正式标准。由于几乎所…

文件操作(c/c++)

文件操作可以概括为几步&#xff1a; 打开文件&#xff0c;写入文件&#xff0c;读取文件&#xff0c;关闭文件 FILE FILE 是一个在C语言中用于文件操作的库函数&#xff0c;它提供了一系列函数来实现文件的创建、打开、读取、写入、关闭等操作。FILE 库函数可以帮助开发者处理…

精品基于SpringCloud实现的电影院购票系统设计-微服务-分布式

《[含文档PPT源码等]精品基于SpringCloud实现的电影院购票系统设计的设计与实现-微服务-分布式》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程等 软件开发环境及开发工具&#xff1a; 开发语言&#xff1a;Java 框架&#xff1a;springcloud JDK版…