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

news2024/11/28 12:43:16

在这里插入图片描述

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

看你的初心.

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

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

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


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


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.coloradmin.cn/o/968169.html

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

相关文章

《开发实战》13 | 用好Java 8的日期时间类,少踩一些“老三样”的坑

13 | 用好Java 8的日期时间类&#xff0c;少踩一些“老三样”的坑 初始化日期时间 如果要初始化一个 2019 年 12 月 31 日 11 点 12 分 13秒这样的时间&#xff0c;Date date new Date(2019, 12, 31, 11, 12, 13);输出的时间是 3029 年 1 月 31 日 11 点 12 分 13 秒&#xf…

时间语义与窗口

时间语义 在Flink中&#xff0c;时间语义分为两种 &#xff1a; 处理时间和事件时间。时间语义与窗口函数是密不可分的。以窗口为单位进行某一段时间内指标统计&#xff0c;例如想要统计8点-9点的某个页面的访问量&#xff0c;此时就需要用到了窗口函数&#xff0c;这里的关键…

【倒着考虑】CF Edu 21 D

Problem - D - Codeforces 题意&#xff1a; 思路&#xff1a; 这道题需要倒着步骤考虑&#xff0c;就是先去假设已经分为了两部分&#xff0c;这左右两部分的和相等&#xff0c;然后去想上一个步骤 倒着一个步骤后&#xff0c;可以发现这样的性质&#xff1a; Code&#xf…

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

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

【小沐学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;是一种常用的面向对象设计的…

java-参数传递机制

java参数传递机制都是值传递。 基本类型参数传输都是数据值。 传递到方法中的值是拷贝后的值。 引用类型参数传输的都是地址值。 如果是数组的参数传递&#xff0c;那么是引用传递&#xff08;本质上还是值传递&#xff0c;但是由于数组的值传递是传递数组的内存地址&#xf…

如何使用『Nginx』配置后端『HTTPS』协议访问

前言 本篇博客主要讲解如何使用 Nginx 部署后端应用接口 SSL 证书&#xff0c;从而实现 HTTPS 协议访问接口&#xff08;本文使用公网 IP 部署&#xff0c;读者可以自行替换为域名&#xff09; 申请证书 须知 请在您的云服务平台申请 SSL 证书&#xff0c;一般来说证书期限…

数据结构(Java实现)-Map和Set

搜索树 概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是具有以下性质的二叉树: 若它的左子树不为空&#xff0c;则左子树上所有节点的值都小于根节点的值 若它的右子树不为空&#xff0c;则右子树上所有节点的值都大于根节点的值 它的左右子树也…

JavaScript运行机制与实践应用

一、JavsScript运行机制 1、JavaScript 是一种解释型语言&#xff0c;它的执行机制主要包括以下几个步骤&#xff1a; 2、事件循环 3、JavaScript运行模型 4、JavaScript任务 5、JavaScript宏任务和微任务 6、案例分析 console.log(script start) setTimeout(function () {co…

DB-GPT使用

一、源码安装 安装 请按照以下步骤安装DB-GPT 1. Hardware Requirements 如果你的显存不够&#xff0c;DB-GPT支持8-bit和4-bit量化版本 2. Install git clone https://github.com/eosphoros-ai/DB-GPT.git目前使用Sqlite作为默认数据库&#xff0c;因此DB-GPT快速部署不…

PixelSNAIL论文代码学习(2)——门控残差网络的实现

文章目录 引言正文门控残差网络介绍门控残差网络具体实现代码使用pytorch实现 总结 引言 阅读了pixelSNAIL,很简短&#xff0c;就用了几页&#xff0c;介绍了网络结构&#xff0c;介绍了试验效果就没有了&#xff0c;具体论文学习链接 这段时间看他的代码&#xff0c;还是挺痛…

【数学建模竞赛】Matlab逻辑规则,结构基础及函数

逻辑基础 逻辑变量 在Matlab中&#xff0c;逻辑变量是一种特殊类型的变量&#xff0c;用于表示逻辑值。逻辑变量只有两个可能的值&#xff1a;true&#xff08;真&#xff09;和false&#xff08;假&#xff09;。在Matlab中&#xff0c;我们可以使用0和1来表示逻辑变量的值。…

数据结构(Java实现)-字符串常量池与通配符

字符串常量池 在Java程序中&#xff0c;类似于&#xff1a;1&#xff0c; 2&#xff0c; 3&#xff0c;3.14&#xff0c;“hello”等字面类型的常量经常频繁使用&#xff0c;为了使程序的运行速度更快、更节省内存&#xff0c;Java为8种基本数据类型和String类都提供了常量池。…

Excel_VBA程序文件的加密及解密说明

VBA应用技巧及疑难解答 Excel_VBA程序文件的加密及解密 在您看到这个文档的时候&#xff0c;请和我一起念&#xff1a;“唵嘛呢叭咪吽”“唵嘛呢叭咪吽”“唵嘛呢叭咪吽”&#xff0c;为自己所得而感恩&#xff0c;为付出者赞叹功德。 本不想分享之一技术&#xff0c;但众多学…

【Java核心知识】JUC包相关知识

文章目录 JUC包主要内容Java内置锁为什么会有线程安全问题Synchronize锁Java对象结构Synchronize锁优化线程间通信Synchronize与wait原理 CAS和JUC原子类CAS原理JUC原子类ABA问题 可见性和有序性为什么会有可见性参考链接 显式锁Lock接口常用方法显式锁分类显式锁实现原理参考链…

数据结构(Java实现)-排序

排序的概念 排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操稳定性&#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记录&#xff0c;若经过排序&#xff…

chatgpt谈论日本排放污水事件

W...Y的主页 &#x1f60a; 代码仓库分享 &#x1f495; 近日&#xff0c;世界发生了让人义愤填膺的时间——日本排放核污水。这件事情是那么的突然且不计后果&#xff0c;海洋是我们全人类共同的财产&#xff0c;而日本却想用自己一己私欲将全人类的安全置之度外&#xff0c…

攻防世界-Caesar

原题 解题思路 没出现什么特殊字符&#xff0c;可能是个移位密码。凯撒密码加密解密。偏移12位就行。

Spring Cloud--从零开始搭建微服务基础环境【三】

&#x1f600;前言 本篇博文是关于Spring Cloud–从零开始搭建微服务基础环境【三】&#xff0c;希望你能够喜欢 &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大家&#xff0c;…

全网都在用的nnUNet V2版本改进了啥,怎么安装?(一)

nnUNet&#xff0c;这个医学领域的分割巨无霸!在论文和比赛中随处可见他的身影。大家对于nnUNet v1版本的教程都赞不绝口&#xff0c;因为它简单易懂、详细全面&#xff0c;让很多朋友都轻松掌握了使用方法。 最近&#xff0c;我也抽出时间仔细研究了nnUNet v2&#xff0c;并全…