[MySQL]基础知识笔记(数据库与表操作)

news2024/12/25 13:09:40

内存与硬盘的区别:

  • 内存:容量小,速度快,造价高,断电后数据丢失
  • 硬盘:容量大,速度慢,造价低,断电后数据不丢失

常见的关系型数据库:

  • 1.ACCESS-微软出的在OFFICE里集成的一个小型数据库;SQLITE-常用在手机APP里,桌面程序
  • 2.SQL Server-微软真正意义上的大型数据库
  • 3.MySQL-用的最多的数据-开源的,免费
  • 4.PostgreSql-具说效率比MySQL要高些,有一部分公司在用
  • 5.Oracle-业内最强的数据库,收费

非关系型数据库:
不规定基于SQL实现,现在更多的是指NoSQL数据库

  • 1.基于键值对:memcached,redis
  • 2.基于文档型:mongodb
  • 3.基于列族:hbase
  • 4.基于图型:neo4j

连接数据库:mysql -u root -p
端口号:3306
主机IP:127.0.0.1

注释:单行:- -  或  #
           多行:/*   */

数据库操作:


    显示当前服务器有哪些真实数据库:

show databases;


information_schema, mysql, performance_schema, sys数据库是mysql自带的存放着MYSQL本身的配置信息;

sakila, worid数据库是MYSQL提供的实例库
    创建数据库:

create database [if not exists] db_name [create_specification[,create_specification]…];


create_specification:

  •  character set charset_name  当前创建库的编码集  utf8mb4
  •  collate collation_name  排序规则

MYSQL中允许用户使用关键字做为数据库名,但是需要用反引号``把关键字引起来


    查看数据库字符集:

show variables like ‘%character%’;


    选择数据库

use 数据库名;


    查看当前使用的是哪个数据库:

select database();


    删除数据库:

drop database [if exists] db_name;


    查警告信息:

show warnings;


    查看当前数据库有哪些表:

show tables;

常用数据类型:


    数值类型:

  • TINYINT                    1字节              对应Byte
  • INT                             4字节             对应Integer
  • BIGINT                       8字节             对应Long
  • DECIMAL(M,D)     M/D最大值+2     对应BigDecimal

    字符串类型:

  • VARCHAR(SIZE)     对应String      可变长度字符串
  • TEXT                        对应String      长文本数据
  • MEDIUMTEXT         对应String      中等长度文本数据
  • BLOB                       对应byte[]    二进制形式的长文本数据

  补充:字节的多少和编码格式有关

  • GBK:编码使用两个节点表示一个汉字
  • UTF-8:编码使用三个或四个字节表示一个字符

    日期类型:

  • DATATIME  8字节  对应java.util.Date,java.sqlTimestamp

表的操作:


    创建表:

create table tabe_name(
  字段名1  数据类型,
  字段名2  数据类型,
  …
);


    查看表结构:

desc 表名;


    删除表:

drop table [if exists] tbl_name [,tbl_name]…;

CRUD:增加(Create),查询(Retrieve),更新(Update),删除(Delete)


    新增(Create):

insert into table_name [字段名,字段名…] values (值1,值2…);


    查询(Retrieve):

select [去重distinct]  字段名1  as 别名,字段名2…  from table_name [where …] [order by 字段名 [ASC|DESC]…] [LIMIT …];


        排序:order by …;    

  • ASC为升序
  • DESC为降序(默认为ASC)

  补充:NULL在MYSQL中比任何值都小,与任何值比较都返回false,与任何值运算都会返回NULL


条件查询(where):


比较运算符:

 

逻辑运算符:and,or,not。
分页查询:LIMIT

select … from table_name [where …] [order by …] LIMIT num;从0开始,筛选n条结果
select … from table_name [where …] [order by …] LIMIT start,num;从start开始,筛选n条结果
select … from table_name [where …] [order by …] LIMIT num OFFSET start;


    修改(Update):

update table_name set 字段名=修改值… [where…] [order by…] [limit …];


    删除(Delete):

dalete from table_name [where…] [order by…] [limit…];

数据库约束:


自动增长:AUTO_INCREMENT
FOREIGN KEY(外键约束):foreign key (字段名) references 主表(列)
CHECK(检查约束):check(字段名 = ‘ ’ or 字段名 = ‘ ’)

 

聚合查询:


        聚合函数:

count统计个数;sum总和;avg平均值;max最大值;min最小值。
    group by字句:

select 字段名… from table_name [where…] group by 要分组的字段名 [having 分组后的条件];


SQL的执行过程是:from->where->select->group by->order by->limit

联合查询:


    内连接:

select 字段名 from 表名 as 别名 where 连接条件 and 其他条件;


    外连接:
左外连接,左边表数据都会显示,没有以null填充

select 字段名 from 表名1 left join 表名2 on 连接条件;


有外连接,右边表数据都会显示,没有以null填充;

select 字段名 from 表明1 right join 表名2 on 连接条件;


    自连接:
连接的表是同一张表,主要作用是把列转为行,从而实现数据之间的运算;

select * from 表名 as 别名1,表名 as 别名2;


    子查询:
一个查询的条件依赖于另一个查询的结果;
        单行子查询:

select * from 表名 where 字段名=(select * from 表名…);


        多行子查询:

select * from 表名 where 字段名 in (select * from 表名…);


    合并查询:把两个不同表中的数据合并到一个结果集中,查询的列一定要相同;

  • union:合并并去重;
  • union all:显示所有数据,不去重。

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

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

相关文章

【RPA开发】Beautiful Soup 使用详解

爬虫时通过 requests.get 方法获得 html 源代码后,通常需要从源代码中提取关键信息,这有多种方式,比如使用正则表达式匹配,也可通过 python 的第三方库 Beautiful Soup 实现定位提取关键信息,类似的库还有 lxml 第三方…

如何配置java环境以及tomcat详细步骤

jdk 下载安装及配置 jdk 官网地址: https://www.oracle.com/java/(opens new window) #1、jdk 下载 进入官网,定位到:Java -> Java SE -> Oracle JDK 点击进入,如下图所示: 选择 Java archive,再鼠标下拉页面,选择 Java SE 8 (8u202 and earlier) 下载 jdk-8u2…

一款综合地图应用Vue组件,内置了百度、高德、天地图瓦片

一、开源项目简介 新德汇地图应用类库 基于Openlayers的地图应用Vue组件。内置了百度、高德、天地图瓦片,并支持与方正、超图、山海经纬、航天精一等PGIS厂商对接。包含文本、图形、html、热力图、轨迹回放等20个组件,支持与ECharts结合实现散点、飞行…

scratch电子画板 少儿编程 电子学会图形化编程scratch编程等级考试二级真题和答案解析2023年3月

目录 scratch电子画板 一、题目要求 1、准备工作 2、功能实现 二、案例分析

12.java程序员必知必会类库之HTML解析库

前言 HTML是开发经常遇见的一种报文格式。但是我们日常中,更多是用它来渲染数据。利用他的很多各种标签,格式化我们的数据。一般前端接触的比较多。 但是,随着爬虫技术在互联网上越来越流行,如何处理我们爬到的HTML。。。我们当…

[DASCTF Apr.2023 X SU战队2023开局之战] crypto复现

感觉突然啥都不会了,后来拿到官方WP,也没整明白,这官方的WP没有代码只讲了些道理,复现一下也不容易。 1,easySign 这是个自制的签名题。 from secret import r, t from Crypto.Util.number import *flag bxxx flag bytes_to_long(flag) e 0x10001def gen_keys…

53.网页设计规则#2_配色

选择正确的颜色 让主色调与你的网站个性相匹配:颜色传递意义 a. 红色吸引了很多人的注意,象征着权力、激情和兴奋。 b. 橙色不那么具有攻击性,并传达出幸福、愉快和创造性。 c. 黄色意味着快乐、光明和智慧 d. 绿色代表和谐、自然、成长和健康…

数学建模第六天:数学建模算法篇之插值及MATLAB实现

目录 一、前言 1、引例 2、插值与拟合模型 二、插值 1、插值相关定义 2、拉格朗日插值 3、分段线性插值 4、matlab实现 5、二维插值及matlab实现 一、前言 1、引例 伍老师最近苦不堪言,最近胡吃海喝,管不住嘴,感觉自己最近张胖了&am…

【数据去重】海量数据实时去重方案

文章目录 Prologue布隆过滤器去重什么是布隆过滤器实现的核心思想怎么理解 内嵌RocksDB状态后端去重引入外部K-V存储去重 Prologue 数据去重(data deduplication)是我们大数据攻城狮司空见惯的问题了。除了统计UV等传统用法之外,去重的意义更…

信号完整性分析基础知识之传输线和反射(四):不连续点和端接

每当信号遇到阻抗变化,就会出现反射现象,反射对信号质量影响很大。信号完整性工作最重要的部分之一就是预测不连续点对信号的影响,以及设计工程可接受的备选方案。 尽管电路板在设计上是可控阻抗互连,但是信号在以下结构中仍然会遇…

如何选择最佳的实时聊天软件

在客户服务和支持领域,实时聊天正在改变游戏规则已不是什么秘密。从推动销售到提升客户体验和提高保留率,实时聊天已成为与客户互动和支持的一种全新的方式。客户和支持专业人员都注意到了这一点。 研究发现,高达41%的消费者更喜欢实时聊天&…

李宏毅 深度学习

目录 深度学习与自然语言处理 | 斯坦福CS224n 课程带学与全套笔记解读(NLP通关指南完结)pytorch快速入门csdn快速入门OS包PIL包Opencv包Dataset类Tensorboard的使用torchvision.transforms 的使用torchvision中数据集的使用DataLoader的使用(torch.util…

【C++】:想知道如何实现互译字典吗?来看二叉搜索树

二叉搜索树好文! 文章目录 前言一、实现搜索二叉树二、二叉搜索树的应用 1.K模型2.KV模型总结 前言 二叉搜索树概念 : 二叉搜索树又称二叉排序树,它或者是一棵空树 ,或者是具有以下性质的二叉树 : 若它的左子树不为空&#xff0…

Orcale中OCILogon和OCIServerAttach登录方式的区别分析

参考文档《Oracle Call Interface Programmers Guide》 在Orcale和DM数据库提供的API中,通过OCI方式接口连接数据库的方法有多个,这里只讨论OCILogon和OCIServerAttach的比较。 1、官方描述 根据文档里的描述: OCILogon():This function is…

DJ4-5 路由和选路

目录 一、路由与转发的相互作用 二、路由的基本概念 1. 默认路由器 2. 路由算法 三、网络的抽象模型 1. 节点图 2. 费用 Cost 四、路由算法分类 1. 静态路由算法 2. 动态路由算法 3. 全局路由算法 4. 分布式路由算法 一、路由与转发的相互作用 二、路由的基本概念 …

美团赴抖音之“约”:让本地生活补贴大战来得更猛烈些?

面对抖音在本地生活领域的强势挑战,美团似乎准备好了正面迎战。 近期,美团动作频频。最开始,美团在美团App美食页面下的“特价团购”打出“限时补贴,全网低价”的口号。对此,一位行业人士分析称,“之前美团…

java commons-io 工具类的使用

commons-io是第三方程序员编写的工具类,并不是java本身带的方法。是在java提供的工具类基础上,开发的工具类。简化了代码的用法,可以提升开发效率。 用法 1.下载jar包 2.在程序中新建lib目录,把jar包放进去 3.在jar包上右键&…

learn_C_deep_6 (布尔类型、布尔与“零值“、浮点型与“零值“、指针与“零值“的比较)

目录 语句和表达式的概念 if语句的多种语法结构 注释的便捷方法(环境vs) if语句执行的过程 逻辑与&& 逻辑或|| 运算关系的顺序 else的匹配原则 C语言有没有布尔类型 C99标准 sizeof(bool)的值为多少? _Bool原码 BOOL…

音视频八股文(6)-- ffmpeg大体介绍和内存模型

播放器框架 常用音视频术语 • 容器/文件(Conainer/File):即特定格式的多媒体文件, 比如mp4、flv、mkv等。 • 媒体流(Stream):表示时间轴上的一段连续数据,如一 段声音…

dubbogo如何实现路由规则功能

dubbo-go中如何实现路由规则功能 路由规则( routing rule )是为了改变网络流量所经过的途径而修改路由信息的技术,主要通过改变路由属性(包括可达性)来实现。在发起一次 RPC 调用前起到过滤目标服务器地址的作用&…