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

news/2024/5/17 12:12:00/文章来源:https://blog.csdn.net/m0_73740682/article/details/132652153

在这里插入图片描述

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

看你的初心.

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

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

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


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


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.luyixian.cn/news_show_543570.aspx

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

相关文章

【高效编程技巧】编程菜鸟和编程大佬的差距究竟在哪里?

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《高效编程技巧》《C语言进阶》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 &#x1f4cb; 前言1.如何写出好的代码&#xff1f;1.2 如何分析一个函数写的怎么样 2. 代码板式的重要性2.1 代码…

JMeter测试工具

JMeter测试工具 1、下载地址&#xff1a; https://downloads.apache.org/jmeter/binaries/ https://downloads.apache.org/jmeter/binaries/2、启动 解压&#xff1a; 点击bin目录下的jmeter.bat就可以运行 jmeter.bat3、流控规则测试

基于Citespace、vosviewer、R语言的文献计量学可视化分析技术及全流程文献可视化SCI论文高效写作

文献计量学是指用数学和统计学的方法&#xff0c;定量地分析一切知识载体的交叉科学。它是集数学、统计学、文献学为一体&#xff0c;注重量化的综合性知识体系。特别是&#xff0c;信息可视化技术手段和方法的运用&#xff0c;可直观的展示主题的研究发展历程、研究现状、研究…

无涯教程-JavaScript - LOGINV函数

LOGINV函数替代Excel 2010中的LOGNORM.INV函数。 描述 该函数返回x的对数正态累积分布函数的逆函数,其中ln(x)的分布通常带有参数mean和standard_dev。 如果pLOGNORMDIST(x,...),则LOGINV(p,...) x 使用对数正态分布来分析对数转换的数据。 语法 LOGINV (probability, me…

BLDC无感方波控制

BLDC无感控制 反电动势过零检测反电动势检测方法比较器模式采样过零信号闭环的建立 BLDC 方波启动技术转子预定位电机的外同步加速电机运行状态的转换 程序部分 反电动势过零检测 它的主要核心就是通过检测定子绕组的反电动势过零点来判断转子当前的位置。 三相六状态 120通电…

Scala的函数式编程与高阶函数,匿名函数,偏函数,函数的闭包、柯里化,抽象控制,懒加载等

Scala的函数式编程 函数式编程 解决问题时&#xff0c;将问题分解成一个一个的步骤&#xff0c;将每个步骤进行封装&#xff08;函数&#xff09;&#xff0c;通过调用这些封装好的步骤&#xff0c;解决问题。 例如&#xff1a;请求->用户名、密码->连接 JDBC->读取…

Glide的使用及源码分析

前言 依赖 implementation com.github.bumptech.glide:glide:4.16.0 github: GitHub - bumptech/glide: An image loading and caching library for Android focused on smooth scrolling 基本使用 //加载url Glide.with(this) .load(url) .placeholder(R.drawable.placehol…

CS420 课程笔记 P2 - 内存编辑和基础的 GameHacking 尝试

文章目录 IntroductionOperating SystemToolsMemory ScanningMemory ScanExamples!Conclusion Introduction 本节将介绍操作系统的基础知识和内存扫描&#xff0c;这可以说是 game hacking 中最重要的技能&#xff0c;我们不会深入讨论操作系统&#xff0c;因为这本身就是一门…

有趣AI视频合辑(一):让人惊艳的AI广告宣传片、最有爱的手机机器人、黑豹梅西……...

最近开通了视频号&#xff08;hanniman同名&#xff09;&#xff0c;短期定位&#xff0c;是把“最新”以及“过往11年”我看过的「有趣AI视频」都精选出来——也就是说&#xff0c;这些视频 基于个人11年的AI产品经理认知积累&#xff0c;人肉筛选&#xff1b;非常有趣、令人眼…

自建音乐服务器Navidrome之一

这里写自定义目录标题 1.1 官方网站 2. Navidrome 简介2.1 简介2.2 特性 3. 准备工作4. 视频教程5. 界面演示5.1 初始化页5.2 专辑页 前言 之前给大家介绍过 Koel 音频流服务&#xff0c;就是为了解决大家的这个问题&#xff1a;下载下来的音乐&#xff0c;只能在本机欣赏&…

el-table实现纯前端导出(适用于el-table任意表格)

2023.9.1今天我学习了如何使用el-table实现前端的导出功能&#xff0c;该方法的好处有无论你的el-table长什么样子&#xff0c;导出之后就是什么样子。 1.安装三个插件 npm install file-save npm install xlsx npm install xlx-style 2.创建Export2Excel.js // 根据dom导出表…

2023谷歌开发者大会直播大纲「终稿」

听人劝、吃饱饭,奉劝各位小伙伴,不要订阅该文所属专栏。 作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 跨域学习者,从事过全栈研发、产品经理等工作,现任研发部门 CTO 。荣誉:2022年度博客之星Top4、博客专家认证、全栈领域优质创作者、新星计划导师,“星荐官共赢计…

【LeetCode】515.在每个树行中找最大值

题目 给定一棵二叉树的根节点 root &#xff0c;请找出该二叉树中每一层的最大值。 示例1&#xff1a; 输入: root [1,3,2,5,3,null,9] 输出: [1,3,9]示例2&#xff1a; 输入: root [1,2,3] 输出: [1,3]提示&#xff1a; 二叉树的节点个数的范围是 [0,10^4]-2^31 < No…

Spark-Core核心算子

文章目录 一、数据源获取1、从集合中获取2、从外部存储系统创建3、从其它RDD中创建4、分区规则—load数据时 二、转换算子(Transformation)1、Value类型1.1 map()_1.2 mapPartitions()1.3 mapPartitionsWithIndex(不常用)1.4 filterMap()_扁平化&#xff08;合并流&#xff09;…

数据结构(Java实现)-反射、枚举以及lambda表达式

Java的反射&#xff08;reflection&#xff09;机制是在运行状态中&#xff0c;对于任意一个类&#xff0c;都能够知道这个类的所有属性和方法&#xff1b;对于任意一个对象&#xff0c;都能够调用它的任意方法和属性&#xff0c;既然能拿到那么&#xff0c;我们就可以修改部分…

Java学习之序列化

1、引言 《手册》第 9 页 “OOP 规约” 部分有一段关于序列化的约定 1&#xff1a; 【强制】当序列化类新增属性时&#xff0c;请不要修改 serialVersionUID 字段&#xff0c;以避免反序列失败&#xff1b;如果完全不兼容升级&#xff0c;避免反序列化混乱&#xff0c;那么请…

【小沐学Python】UML类图的箭头连线关系总结(python+graphviz)

文章目录 1、简介1.1 类图1.2 Graphviz 2、Graphviz2.1 安装2.2 命令行测试2.3 python测试 3、关系3.1 实现3.2 泛化3.3 关联3.4 依赖3.5 聚合3.6 组合 结语 1、简介 UML&#xff08;unified modeling language&#xff0c;统一建模语言&#xff09;是一种常用的面向对象设计的…

3D视觉测量:空间圆孔拟合圆(附源码)

文章目录 0. 测试效果1. 基本内容1.1 3D空间拟合圆1.2 3D空间拟合圆代码1.3 基于2D方法的空间圆优化文章目录:3D视觉测量目录微信:dhlddxB站: Non-Stop_0. 测试效果 基于2D方法的空间圆拟合效果 1. 基本内容 空间圆拟合(Spatial Circle Fitting)是一个用于拟合三维空

mysql:[Some non-transactional changed tables couldn‘t be rolled back]不支持事务

1. mysql创建表时默认引擎MyIsam&#xff0c;因此不支持事务的操作&#xff1b; 2. 修改mysql的默认引擎&#xff0c;可以使用show engine命令查看支持的引擎&#xff1a; 【my.conf详情说明】my.cnf配置文件注释详解_xiaolin01999的博客-CSDN博客 3. 原来使用MyIsam创建的表…

UE4 春节鞭炮

先搞个基类&#xff0c;一个鞭炮的 搞个鞭炮类&#xff0c;存多个鞭炮 在构造函数的位置先生成对应的鞭炮数 将鞭炮绑定到绳子上&#xff0c;随绳子摆动而一起摆动 在基类里面写爆炸事件 最后用Timer去调用