当前位置: 首页 > news >正文

开开心心带你学习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

相关文章:

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

学校的项目组有必要加入吗? 看你的初心. ~~如果初心是通过这个经历能够提高自己的技术水平 ~~是可以考虑的 ~~如果初心是通过这个经历提高自己找工作的概率 ~~这个是不靠谱的,啥用没有 ~~如果初心是通过这个体验更美好的大学生活 ~~靠谱的 秋招,应届生,找工作是非常容易的!!! …...

Mysql批量插入大量数据的方法

使用存储过程进行插入&#xff0c; 在navicate中示例如下&#xff1a; 输入需要的参数点击完成 在begin end中输入代码&#xff0c;示例代码如下 CREATE DEFINERskip-grants userskip-grants host PROCEDURE batch_insert() BEGINdeclare i int default 0; set i0;while i<1…...

centos安装nginx实操记录(加安全配置)

1.下载与安装 yum -y install nginx2.启动命令 /usr/sbin/nginx -c /etc/nginx/nginx.conf3.新建配置文件 cd /etc/nginx/conf.d vim index.conf配了一个负责均衡&#xff0c;如不需要&#xff0c;可将 server localhost: 多余的去掉 upstream web_server{server localhost…...

【中等】49. 字母异位词分组

原题链接&#xff1a;https://leetcode.cn/problems/group-anagrams 49. 字母异位词分组 给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs [“…...

Python3 条件控制

Python3 条件控制 Python 条件语句是通过一条或多条语句的执行结果&#xff08;True 或者 False&#xff09;来决定执行的代码块。 可以通过下图来简单了解条件语句的执行过程: 代码执行过程&#xff1a; if 语句 Python中if语句的一般形式如下所示&#xff1a; if conditi…...

IDEA自定义模板

IDEA自定义模板 &#xff08;1&#xff09;定义sop模板 ①在Live Templates中增加模板 ②先定义一个模板的组 ③在模板组里新建模板 ④定义模板 Abbreviation:模板的缩略名称Description:模板的描述Template text:模板的代码片段应用范围。比如点击Define。选择如下&…...

【Unity3D】UI Toolkit简介

1 前言 UI Toolkit 是一种基于 Web 技术的 GUI 框架&#xff0c;是为了解决 UGUI 效率问题而设计的新一代 UI 系统&#xff08;UGUI 的介绍详见→UGUI概述&#xff09;。与 UGUI 不同&#xff0c;UI Toolkit 没有采用 GameObject 的方式&#xff0c;而是参考了 Web 技术的 XML …...

QT 界面相关操作

1> 创建自定义类时需要指定父类 2> 第一个界面的相关操作 #include "widget.h" #include<iostream> //printf #include<QDebug> //qDebuf #include<QIcon> //图标的头文件 using namespace std; //coutWidget::Widget(QWidget *…...

nestjs:docker build时执行npm install sharp提示downloading libvips socket hang up

问题&#xff1a; 如题 参考&#xff1a; sharp - High performance Node.js image processing 参考chinese-mirror处理 原因&#xff1a; 默认是从github上下载libvips库&#xff0c;但是使用socket协议&#xff0c;linux下不挂载梯子是无法加速的&#xff0c;因此得更换下镜像…...

图像分类学习笔记(七)——MobileNet

一、MobileNetV1 传统的神经网络&#xff0c;内存需求大、运算量大&#xff0c;导致无法在移动设备以及嵌入式设备上运行。之前的VGG16模型权重大小大概有490M&#xff0c;ResNet模型权重大小大概有644M。MobileNet网络是由google团队在2017年提出的&#xff0c;专注于移动端或…...

ssm+vue宠物领养系统源码和论文

ssmvue宠物领养系统源码和论文103 开发工具&#xff1a;idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 技术&#xff1a;ssm 摘 要 本课题是根据用户的需要以及网络的优势建立的一个宠物领养系统&#xff0c;来满足用宠物领养的需求。 本宠物领养系统…...

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

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

leetcode 189. 轮转数组

2023.9.3 k的取值范围为0~100000&#xff0c;此时需要考虑到两种情况&#xff0c;当k为0时&#xff0c;此时数组不需要轮转&#xff0c;因此直接return返回&#xff1b;当k大于等于数组nums的大小时&#xff0c;数组将会转为原来的数组&#xff0c;然后再接着轮转&#xff0c;此…...

亚马逊广告收入突破百亿美元,有望成为下一个收入支柱来源?

据外媒报道&#xff0c;亚马逊新兴的广告业务已经价值数百亿美元&#xff0c;很可能成为其下一个收入支柱来源。 市场研究公司Insider Intelligence的分析师Andrew Lipsman表示&#xff0c;按照目前的发展轨迹&#xff0c;亚马逊广告业务甚至可以与其云计算业务相互抗衡。“毫…...

MATLAB中isequal函数转化为C语言

背景 有项目算法使用matlab中isequal函数进行运算&#xff0c;这里需要将转化为C语言&#xff0c;从而模拟算法运行&#xff0c;将算法移植到qt。 MATLAB中isequal简单介绍 语法 tf isequal(A,B) tf isequal(A1,A2,...,An) 说明 如果 A 和 B 等效&#xff0c;则 tf is…...

【MTK平台】根据kernel log分析wifi scan的时候流程

一 概要: 本文主要讲解根据kernel log分析下 当前路径下(vendor/mediatek/kernel_modules/connectivity/wlan/core/gen4m/)wifi scan的时候代码流程 二. Log分析: 先看Log: 2.1)在Framework层WifiManager.java 方法中,做了一个标记,可以精准的确认时间 这段log可以…...

CVE-2023-23752:Joomla未授权访问漏洞复现

CVE-2023-23752&#xff1a;Joomla未授权访问漏洞复现 前言 本次测试仅供学习使用&#xff0c;如若非法他用&#xff0c;与本文作者无关&#xff0c;需自行负责&#xff01;&#xff01;&#xff01; 一.Openfire简介 Joomla是一个免费的开源内容管理系统&#xff08;CMS&a…...

MATLAB中circshift函数转化为C语言

背景 有项目算法使用matlab中circshift函数进行运算&#xff0c;这里需要将转化为C语言&#xff0c;从而模拟算法运行&#xff0c;将算法移植到qt。 MATLAB中circshift简单介绍 circshift是循环移位函数。可以使用于数组和矩阵元素的循环移位。 当A是数组 Bcircshift(A,p);如果…...

浅谈React生命周期

React组件的生命周期可以分为三个阶段&#xff1a;挂载阶段、更新阶段和卸载阶段。下面对每个生命周期方法进行详细解释。 挂载阶段&#xff1a; constructor(props): 在组件被创建时调用&#xff0c;用于初始化组件的状态&#xff08;state&#xff09;和绑定事件处理函数。…...

基于龙格-库塔算法优化的BP神经网络(预测应用) - 附代码

基于龙格-库塔算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码 文章目录 基于龙格-库塔算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码1.数据介绍2.龙格-库塔优化BP神经网络2.1 BP神经网络参数设置2.2 龙格-库塔算法应用 4.测试结果&#xff…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...

路由基础-路由表

本篇将会向读者介绍路由的基本概念。 前言 在一个典型的数据通信网络中&#xff0c;往往存在多个不同的IP网段&#xff0c;数据在不同的IP网段之间交互是需要借助三层设备的&#xff0c;这些设备具备路由能力&#xff0c;能够实现数据的跨网段转发。 路由是数据通信网络中最基…...

GeoServer发布PostgreSQL图层后WFS查询无主键字段

在使用 GeoServer&#xff08;版本 2.22.2&#xff09; 发布 PostgreSQL&#xff08;PostGIS&#xff09;中的表为地图服务时&#xff0c;常常会遇到一个小问题&#xff1a; WFS 查询中&#xff0c;主键字段&#xff08;如 id&#xff09;莫名其妙地消失了&#xff01; 即使你在…...

使用ch340继电器完成随机断电测试

前言 如图所示是市面上常见的OTA压测继电器&#xff0c;通过ch340串口模块完成对继电器的分路控制&#xff0c;这里我编写了一个脚本方便对4路继电器的控制&#xff0c;可以设置开启时间&#xff0c;关闭时间&#xff0c;复位等功能 软件界面 在设备管理器查看串口号后&…...

生信服务器 | 做生信为什么推荐使用Linux服务器?

原文链接&#xff1a;生信服务器 | 做生信为什么推荐使用Linux服务器&#xff1f; 一、 做生信为什么推荐使用服务器&#xff1f; 大家好&#xff0c;我是小杜。在做生信分析的同学&#xff0c;或是将接触学习生信分析的同学&#xff0c;<font style"color:rgb(53, 1…...

day51 python CBAM注意力

目录 一、CBAM 模块简介 二、CBAM 模块的实现 &#xff08;一&#xff09;通道注意力模块 &#xff08;二&#xff09;空间注意力模块 &#xff08;三&#xff09;CBAM 模块的组合 三、CBAM 模块的特性 四、CBAM 模块在 CNN 中的应用 一、CBAM 模块简介 在之前的探索中…...

可下载旧版app屏蔽更新的app市场

软件介绍 手机用久了&#xff0c;app越来越臃肿&#xff0c;老手机卡顿成常态。这里给大家推荐个改善老手机使用体验的方法&#xff0c;还能帮我们卸载不需要的app。 手机现状 如今的app不断更新&#xff0c;看似在优化&#xff0c;实则内存占用越来越大&#xff0c;对手机性…...

Python打卡训练营学习记录Day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...