韩顺平0基础学Java——第37天

p736-758

MySQL三层结构

1.所谓安装Mysql数据库,就是在主机安装一个数据库管理系统(DBMS),这个管理程序可以管理多个数据库。DBMS(database manage system)
2.一个数据库中可以创建多个表,以保存数据(信息)。
3.数据库管理系统(DBMS)、数据库和表的关系如图所示:

数据保存位置:实际上也是一些文件

SQL语句分类


DDL:数据定义语句[create表,库...]
DML:数据操作语句[增加insert,修改update,删除delete].DQL:数据查询语句[select ]
DCL:数据控制语句[管理数据库:比如用户权限grad revoke ]

简单操作MySQL

数据库

创建数据库

#创建数据库
CREATE DATABASE day37_db01

#创建时带一些规则:编码规则是utf-8,校对规则区分大小写。
#注:utf8_general_ci是不区分大小写
CREATE DATABASE day37_db02 CHARACTER SET utf8 COLLATE utf8_bin

#查询:*表示所有字段,from表示从哪个表,where从哪个字段找,查询内容是tom
SELECT * 
    FROM t1 
    WHERE NAME = "tom"

#删除数据库
DROP DATABASE day37_db01

查询数据库

#查看所有数据库
SHOW DATABASES

#查看前面创建的day37_db02数据库的定义信息
#说明:在创建数据库和表的时候,为了规避关键字,可以使用反引号解决,如:`int`
SHOW CREATE DATABASE day37_db02

备份与恢复数据库

当你只想备份某个库的一部分时:

创建表

CREATE TABLE `user` (
    id INT,
    `name` VARCHAR(255),
    `password` VARCHAR(255),
    `birthday` DATE)
    CHARACTER SET utf8 COLLATE utf8_bin ENGINE INNODB;

修改表

 mysql数据类型(列类型)

日期类还有个年,但是用的少

整型

bit型

create table t05(num BIT(8));

insert into t05 values(255);#8位最大就是255

select * from t05 where num=1;

小数

字符串

注意,char里面是字符,varchar里面是字节,实际上是用的65535-3(系统占用),根据不同编码规则还有区别!比如gbk编码中,2个字节表示一个字符!

1.细节1
char(4)//这个4表示字符数(最大255),不是字节数,不管是中文还是字母都是放四个,按字符计算.

varchar(4)//这个4表示字符数,不管是字母还是中文都以定义好的表的编码来存放数据

不管是中文还是英文字母,都是最多存放4个,是按照字符来存放的.所以具体占多大空间,根据编码规则来决定!

2.细节2
char(4)是定长(固定的大小),就是说,即使你插入'aa',也会占用分配的4个字符的空间.
varchar(4)是变长(变化的大小),就是说,如果你插入了'aa',实际占用空间大小并不是4个字符,而是按照实际占用空间来分配(老韩说明:
varchar本身还需要占用1-3个字节来记录存放内容长度)L(实际数据大小)+(1-3)字节

3.细节3
什么时候使用char,什么时候使用varchar
1.如果数据是定长,推荐使用char,比如md5的密码,邮编,手机号,身份证号码等. char(32)
2.如果一个字段的长度是不确定,我们使用varchar,比如留言,文章
查询速度:char > varchar

4.细节4
在存放文本时,也可以使用Text数据类型.可以将TEXT列视为VARCHAR列,注意Text不能有默认值.大小0-2^16字节如果希望存放更多字符,可以选择MEDIUMTEXT0-2^24或者LONGTEXT 0~2^32
如果varchar不够用,可以考虑使用mediumtext或者longtext,想简单点就直接text

日期

CREATE TABLE t2(
    birthday DATE, 
    job_time DATETIME,
    login_time TIMESTAMP 
    NOT NULL 
    DEFAULT CURRENT_TIMESTAMP 
    ON UPDATE CURRENT_TIMESTAMP);
SELECT * FROM t2;
INSERT INTO t2(birthday,job_time) VALUES("2022-11-11","2023-11-11 10:10:12");

如图,login_time是时间戳,自动更新了

数据库CRUD

insert

注意:

1.插入的数据应与字段的数据类型相同。
比如把'abc'添加到int类型会错误
2.数据的长度应在列的规定范围内,例如:不能将一个长度为8O的字符串加入到长度为40的列中3.在values中列出的数据位置必须与被加入的列的排列位置相对应。
4.字符和日期型数据应包含在单引号中。
5.列可以插入空值[前提是该字段允许为空],insert into table value(null)6. insert into tab_name (列名..)values (),(),()形式添加多条记录
7.如果是给表中的所有字段添加数据,可以不写前面的字段名称
8.默认值的使用,当不给某个字段值时,如果有默认值就会添加,否则报错
 

update

●使用细节:
1.UPDATE语法可以用新值更新原有表行中的各列。

2.SET子句指示要修改哪些列和要给予哪些值。
3.WHERE子句指定应更新哪些行。如没有WHERE子句,则更新所有的行。
4.如果需要修改多个字段,可以通过set字段1=值1,字段2=值2.….
 

delete

1.如果不使用where子句,将删除表中所有数据。
2.Delete语句不能删除某一列的值(可使用update设为null或者"")

3.使用delete语句仅删除记录,不删除表本身。如要删除表,使用drop table语句。drop table表名;

select(重点

order by排序

要睡着了,先挂了

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

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

相关文章

Android 性能之刷新率设置和管理

目录 1. 刷新率和帧率 2. 多种刷新率 3. 基本原理 3.1 屏幕 & 显示控制器 3.2 Composer Service 4. Framework 策略 4.1基本架构 4.2 刷新率设置项的定义 4.2.1 最低刷新率 4.2.2 默认刷新率 & 默认的用户设置刷新率 4.2.2.1 设置入口 4.2.2.2 设置场景 4…

从零开始:在linux系统安装MongoDB数据完整指南 新手常用命令

1 前言 MongoDB 是为快速开发互联网应用而设计的数据库系统。MongoDB 的设计目标是极简、灵活、作为 Web 应用栈的一部分。MongoDB 的数据模型是面向文档的,所谓文档是一种类似于json的结构。 官网教程:https://www.mongodb.com/docs/manual/ 2 安装部…

【接口自动化_11课_框架实战:基于封装的框架进行实战演练-下】

目标: 在原有基础上进行框架优化,本内容不做强制要求,了解即可。 1. Faker(伪造器)模块生成数据 2. 实战:结合框架动态生成请求数据 3. 实战:响应进行动态断言处理 一、 Faker&#xff…

LoFTR关键点特征匹配算法环境构建与图像匹配测试Demo

0,LoFTR CVPR 2021论文《LoFTR: Detector-Free Local Feature Matching with Transformers》开源代码 1,项目主页 LoFTR: Detector-Free Local Feature Matching with Transformers 2,GItHub主页 GitHub - zju3dv/LoFTR: Code for "…

微软蓝屏事件对企业数字化转型有什么影响?

引言:从北京时间2024年7月19日(周五)下午2点多开始,全球大量Windows用户出现电脑崩溃、蓝屏死机、无法重启等情况。事发后,网络安全公司CrowdStrike称,收到大量关于Windows电脑出现蓝屏报告,公司…

畅游时空|虚拟世界初体验,元宇宙游戏如何开发?

在元宇宙中,用户可以通过虚拟身份进行互动、社交、工作和娱乐,体验与现实世界平行的生活和活动。元宇宙不仅仅是一个虚拟空间,更是一个融合了虚拟和现实的生态系统,具有巨大的发展潜力和应用前景。 在不断发展的数字环境中&#x…

简单几步,教你使用scikit-learn做分类和回归预测

前言 scikit-learn是基于Python的一个机器学习库,你可以在scikit-learn库中选择合适的模型,使用它训练数据集并对新数据集作出预测。 对于初学者来说,有一个共同的困惑: 怎么使用scikit-learn库中的模型做预测? 本文…

IOS微软语音转文本,lame压缩音频

在IOS开发中,用微软进行语音转文本操作,并将录音文件压缩后返回 项目中遇到了利用微软SDK进行实时录音转文本操作,如果操作失败,那么就利用原始音频文件通过网络请求操作,最终这份文件上传到阿里云保存,考…

MongoDB教程(十五):MongoDB原子操作

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 文章目录 引言一、MongoD…

11 深度推荐模型演化中的“范式替换“灵活组合

上一课时,我们介绍了 DIEN 模型添加了 RNN中 的 GRU,使模型获得了对序列数据的建模能力;而 DSIN 模型不仅使用了 RNN 中的 bi-LSTM,还使用了 Transformer 组件。 由此可见,在新的演化模型中,根据场景和数据…

Lua脚本简单理解

目录 1.安装 2.语法 2.1Lua数据类型 2.2变量 2.3lua循环 2.4流程控制 2.5函数 2.6运算符 2.7关系运算符 3.lua脚本在redis中的使用 3.1lua脚本再redis简单编写 3.2普通锁Lua脚本 3.3可重入锁lua脚本 1.安装 centos安装 安装指令: yum -y update yum i…

本地部署VMware ESXi服务实现无公网IP远程访问管理服务器

文章目录 前言1. 下载安装ESXi2. 安装Cpolar工具3. 配置ESXi公网地址4. 远程访问ESXi5. 固定ESXi公网地址 前言 在虚拟化技术日益成熟的今天,VMware ESXi以其卓越的性能和稳定性,成为了众多企业构建虚拟化环境的首选。然而,随着远程办公和跨…

CCS光源的高输出TH2系列平面光源

光源在机器视觉系统中起着重要作用,不同环境、场景及应用合适光源都不一样,今天我们来看看高输出TH2系列平面光源。它可以对应高速化的生产线,为提高生产效率做出贡献。 TH2系列光源的特点: 1、实现了更高一级的高亮度 实现了更…

谷粒商城实战笔记-56~57-商品服务-API-三级分类-修改-拖拽功能完成

文章目录 一,56-商品服务-API-三级分类-修改-拖拽功能完成二,57-商品服务-API-三级分类-修改-批量拖拽效果1,增加按钮2,多次拖拽一次保存完整代码 在构建商品服务API中的三级分类修改功能时,拖拽排序是一个直观且高效的…

Java | Leetcode Java题解之第260题只出现一次的数字III

题目: 题解: class Solution {public int[] singleNumber(int[] nums) {int xorsum 0;for (int num : nums) {xorsum ^ num;}// 防止溢出int lsb (xorsum Integer.MIN_VALUE ? xorsum : xorsum & (-xorsum));int type1 0, type2 0;for (int n…

Prometheus配置alertmanager告警

1、拉取镜像并运行 1、配置docker镜像源 [rootlocalhost ~]# vim /etc/docker/daemon.json {"registry-mirrors": ["https://dfaad.mirror.aliyuncs.com"] } [rootlocalhost ~]# systemctl daemon-reload [rootlocalhost ~]# systemctl restart docker2、…

刷题了: 151.翻转字符串里的单词 |卡码网:55.右旋转字符串

151.翻转字符串里的单词 题目链接:https://leetcode.cn/problems/reverse-words-in-a-string/description/ 文章讲解:https://programmercarl.com/0151.%E7%BF%BB%E8%BD%AC%E5%AD%97%E7%AC%A6%E4%B8%B2%E9%87%8C%E7%9A%84%E5%8D%95%E8%AF%8D.html 视频讲解:https://www.bilibi…

vue2之jessibuca视频插件使用教程

vue2之jessibuca视频插件使用教程 jessibuca简介前期准备下载相关jsvue index.html文件引入 组件封装使用小知识 引入iconfont jessibuca简介 Jessibuca是一款开源的纯H5直播流播放器,通过Emscripten将音视频解码库编译成Js(ams.js/wasm)运行于浏览器之中…

基于PyCharm在Windows系统上远程连接Linux服务器中Docker容器进行Python项目开发与部署

文章目录 摘要项目结构项目开发项目上线参考文章 摘要 本文介绍了如何在Windows 10系统上使用PyCharm专业版2024.1,通过Docker容器在阿里云CentOS 7.9服务器上进行Python项目的开发和生产部署。文章详细阐述了项目结构的搭建、PyCharm的使用技巧、以及如何将开发项…

12.Spring事务和事务传播机制

文章目录 1.为什么需要事务2.Spring 中事务的实现2.1 MySQL 中的事务使⽤2.2 Spring 编程式事务2.3 Spring 声明式事务(自动)2.3.1 Transactional 作⽤范围2.3.2 Transactional 参数说明2.3.3 注意事项2.3.4 Transactional ⼯作原理 3.事务隔离级别3.1 事…