目录

  • 一、数据库分类
    • 1.关系型数据库:
    • 2.非关系型数据库:
  • 二、MySQL相关基础
  • 三、MySQL数据库基础操作
    • 1.显示数据库
    • 2.创建数据库
    • 3.删除数据库
    • 4.使用数据库
  • 四、常用数据类型
    • 1.数值类型
    • 2.字符串类型
    • 3.日期类型
  • 五、MySQL表基础操作
    • 1.创建表
    • 2.查看表
  • 六、MySQL表的CRUD
    • 1.新增(create)
    • 2.查询(Retrieve)
      • (1)全列查询(查整列)
      • (2)指定列查询
      • (3)查询字段为表达式
      • (4)查询信息起别名
      • (5)去重查询:distinct
      • (6)排序:obey by
      • (7)条件查询:where
      • (8)分页查询:limit
    • 3.修改(Update)
    • 4. 删除(Delete)

数据库(MySQL):是一个具体的软件(实现数据库这个软件中,会用到很多的数据结构),这类软件的功能就是管理数据(组织和描述),管理起来的目的,就是为了用SQL这样的语言进行“增删改查”。

一、数据库分类

1.关系型数据库:

要求数据格式得规范统一,组织的数据都是以的方式,类似于excel,可以把同类数据放到同一个表中,每一行就是一条记录,每一个记录中包含了很多列,这些列的类型和含义要求是统一的。对数据的校验更加容易做到,也更严格。eg:Oracle:数据库圈子中的王者(收费)、MySql、SqlServer(学校使用)

2.非关系型数据库:

不要求数据的格式规范统—(数据的格式更加灵活),组织数据是以**“文档”/“键值对”**方式来组织的,每个记录就是一个“文档”,这个文档里有哪些属性字段,都不必完全相同。对数据校验没那么严格,但是更高效,更适合于现在的分布式系统。eg:MongoDBRedis、Hbase。

二、MySQL相关基础

(1)MySQL是通过服务器管理数据的。
MySQL服务器上有若干个数据库(视为一组数据逻辑上的集合)
一个数据库包含若干个表
一个表包含若干行(若干条记录)
一个行包含若干列(若干个字段)
(2)MySQL是把数据存储在“外存”上的(包括但不限于:硬盘、U盘、光盘、软盘)。
原因:1 MySQL要管理的数据量比较大
2 期望有更低的成本
3 期望能够持久化存储(掉电之后数据不丢失)
(3)数据由控制台显示到界面上的流程
控制台输入命令——mysql客户端构造一个请求——请求通过网络发送给服务器——服务器收到请求,并解析出其中的命令——服务器执行命令,完成增删查改操作——将结果打包成响应——通过网络把响应发回给客户端——客户端在解析后最终显示到界面上。

三、MySQL数据库基础操作

1.显示数据库

show databases

2.创建数据库

字符集名:数据库中默认的utf8有些表情(emoji表情)表示不了,改为utf8mb4就是完整的字符集。
校验规则更准确的是说:比较规则

create database [if not exists] 创建的数据名 [create_specification]
create_specification:
character set 指定数据库采用的字符集名
collate 指定数据库字符集的校验规则名

3.删除数据库

drop database [if exists] 数据库名

4.使用数据库

use 数据库名

四、常用数据类型

1.数值类型

unsignd已被弃用

数据类型 大小 说明 对应的java值
bit[(m)] M指定位数,默认为1 二进制数,M范围从1到64,存储数值范围从0到2^M-1 常用Boolean对应BIT,此时默认是1位,即只能存0和1
tinyint 1字节 Byte
smallint 2字节 Short
int 4字节 Integer
bigint 8字节 Long
float(m,d) 4字节 单精度,M指定长度,D指定小数位数。会发生精度丢失 Float
double(m,d) 8字节 Double
decimal(m,d) m/d最大值+2 双精度,M指定长度,D表示小数点位数。精确数值 BigDecimal
numeric(m,d) m/d最大值+2 双精度,M指定长度,D表示小数点位数。精确数值 BigDecimal

(1)float(m,d)(有效数字长度,小数点后的位数) 例:float(3,1)小数点后一位,有效数3位 99.6是合法的 float和double类型不够精确尤其是有涉及到钱方面的数据,因此引入decimal(m,d)这个“变长”内存存储,比float和double更精确,但同时也占内存空间以及花费更多运算时间,更好的办法是在涉及到钱数的时候用int代替以上类型。

2.字符串类型

数据类型 大小 说明 对应java值
varchar(size) 0-65535字节 可变长度字符串 String
text 0-65535字节 长文本数据 String
mediumtext 0-16 777 215字节 中等长度文本数据 String
blob 0-65535字节 二进制形式的长文本数据 byte[]

varchar(size)中的size表示字符串最大长度单位是字符 text 没有参数,不是用户指定一个长度了,会根据用户插入的数据来动态确定占得空间 blob 是保存二进制类型的数据,eg:图片,MP3,视频等格式,一般是把图片以文件的形式放到硬盘中,在数据库中记录路径。前面都是保存文本型的数据。

3.日期类型

数据类型 大小 说明 对应java值
datetime 8字节 范围从1000到9999年,不会进行时区的 检索及转换 java.util.Date、 java.sql.Timestamp
timestamp 4字节 范围从1970到2038年,自动检索当前时 区并进行转换。 java.util.Date、 java.sql.Timestamp

timestamp时间戳

五、MySQL表基础操作

1.创建表

创建表之前要先选中数据库

create table [表名] (列名 列类型,列名 列类型);

2.查看表

(1)查看表

show tables

(2)查看指定表结构

desc [表名]

NULL:是否允许这个列的值为空值(null),类似于EXCLE里面有个值没填
Default:列的默认值,此处就为null。可以用特殊手段来修改
Extra:额外的约束
3.删除表

drop table [表名]

六、MySQL表的CRUD

1.新增(create)

(1)单行数据+全列插入

 insert into [表名] values (列的值,列的值...);

(2)多行数据 + 指定列插入
列名与create创建中的相对应

insert into [表名] (列名,列名...) values
(列的值,列的值...),
(列的值,列的值...);

注:MySQL默认字符集是拉丁文的,不支持中文utf8,要修改字符集。
通过模糊查询来查看当前字符集

show variables like '%character%';
database 数据库
server 服务器

2.查询(Retrieve)

(1)全列查询(查整列)

select * from 表名;

(2)指定列查询

临时表,不保存在内存和磁盘中。

select [列名],[列名]... from [表名];

(3)查询字段为表达式

比如查总数

select [表达式],[表达式]... from [表名];

(4)查询信息起别名

as可省略

select [列名],[表达式] as [别名] from [表名];

(5)去重查询:distinct

seclect distinct [列名],[表达式]... from [表名];

(6)排序:obey by

适合在硬盘上排序
可以指定按多列排序,若列1相同则按列2排。NULL视为最小值。
默认顺序:升序
desc:降序

select [列名],[表达式]...from [表名] obey by [列名1],[列名2] [desc];

(7)条件查询:where

比较运算符

运算符 说明
>,>=,<,<= 大于,大于等于,小于,小于等于
= 等于,NULL 不安全,例如 NULL = NULL 的结果是 NULL
<=> 等于,NULL 安全,例如 NULL <=> NULL 的结果是 TRUE(1)
!=,<> 不等于
between a0 and a1 范围匹配,[a0, a1],如果 a0 <= value <= a1,返回 TRUE(1)
in(option,…) 如果是 option 中的任意一个,返回 TRUE(1)
is null 是 NULL
in not null 不是 NULL
like 模糊匹配。% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字符

逻辑运算符

运算符 说明
and 多个条件必须都为 TRUE(1),结果才是 TRUE(1)
or 任意一个条件为 TRUE(1), 结果为 TRUE(1)
not 条件为 TRUE(1),结果为 FALSE(0)

where条件可以使用表达式,不可以使用别名去设置条件
and的优先级高于or
模糊查询:like

-- %(通配符)匹配任意多个字符(也可以是数字)
-- _匹配的任意一个字符
select [列名] from [表名] where [列名] like '%茗%' --查到的都是中间有茗字的
select [列名] from [表名] where [列名] like '茗_' --查到的是茗啥

NULL的查询:is [not] null

select [列名] from [表名] where [列名] is not null --列名已知
select [列名] from [表名] where [列名] is null --列名未知

(8)分页查询:limit

有些数据太多要考虑到数据库服务器磁盘IO和数据库客户端到服务器的网络IO的容量,所以设置分页查询。

select ... from [表名] where obey by limit n;
-- 后两个表达意思一样 s 从第几条数据开始,n选几条结果
select ... from [表名] where obey by limit s,n;
select ... from [表名] where obey by limit n offset s;eg:每页有3条记录,显示三页
select ... from [表名] where obey by limit 3 offset 0;-- 第一页,从0条数据开始
select ... from [表名] where obey by limit 3 offset 3;-- 第二页,从第3条数据开始
select ... from [表名] where obey by limit 3 offset 6;-- 第三页,从第6条数据开始

3.修改(Update)

updata [列名],[列名] set [列名]=[列名值],[列名]=[列名值] where 条件

4. 删除(Delete)

delect from [表名] where 条件;

MySQL数据库、表常用命令相关推荐

  1. 查看MySQL数据库表的命令介绍

    如果需要查看MySQL数据库中都有哪些MySQL数据库表,应该如何实现呢?下面就为您介绍查看MySQL数据库表的命令,供您参考. 进入MySQL Command line client下 查看当前使用 ...

  2. mysql怎么命令查看表的数据_查看MySQL数据库表的命令介绍

    如果需要查看MySQL数据库中都有哪些MySQL数据库表,应该如何实现呢?下面就为您介绍查看MySQL数据库表的命令,供您参考. 进入MySQL Command line client下 查看当前使用 ...

  3. MySQL数据库的常用命令

    本文转载自:https://blog.csdn.net/hzw6991/article/details/87757426 一 .常用操作数据库的命令 1.show databases; 查看所有的数据 ...

  4. MySQL数据库的常用命令语句记录——安全用户语句及函数

    2019独角兽企业重金招聘Python工程师标准>>> 安全用户语句及函数 CREATE USER:创建用户 CREATE USER 'user'[@'host'] [ IDENTI ...

  5. cmd查看mysql数据库表_cmd中查看MySQL数据库表数据及结构

    0. 1 .cmd进入mysql安装的bin目录(C:\Program Files\XXXXXX\MySQL Server 5.6\bin) mysql -hlocalhost -uroot -p 回 ...

  6. Oracle数据库的常用命令(创建用户、用户授权、用户登录、表空间、备份还原 )

    Oracle数据库的常用命令 Oracle数据库的常用命令 一.创建用户及授权相关命令 二.用户登录相关命令 三.表空间相关命令 四.备份的还原 Oracle数据库的常用命令 一.创建用户及授权相关命 ...

  7. unicode表_Python数据库操作 Mysql数据库表引擎与字符集#学习猿地

    # Mysql数据库表引擎与字符集 ![](./imgs/752951346A5F4E7EBDE362FA97107707.png) ### 1.服务器处理客户端请求 其实不论客户端进程和服务器进程是 ...

  8. 命令行下操作MySQL数据库,各种命令的使用入门示例。(附图)

    版权声明:觉得此文有用的,不嫌麻烦的,就留个言呐,或者点个赞呐(额,就是文章底部的"顶"啦),要是嫌弃麻烦呢,也麻烦点个赞嘛,要是实在不想点赞呢,也不是不可以. 但是,你要是想踩一 ...

  9. 7.Mysql数据库表引擎与字符集

    7.Mysql数据库表引擎与字符集 1.服务器处理客户端请求 其实不论客户端进程和服务器进程是采用哪种方式进行通信,最后实现的效果都是:客户端进程向服务器进程发送 一段文本(MySQL语句),服务器进 ...

  10. ER图和关系模型到MySQL数据库表

    本篇主要介绍了MySQL数据库表从ER图到关系模型,再到数据库表的创建过程及其表结构的修改.通过本篇的学习,可以掌握以下内容: ● 应用ER图和关系模型创建数据库表 ● 数据库表结构的修改 1.moo ...

最新文章

  1. git 创建分支,更改并提交
  2. 如何从XMLHttpRequest创建自定义获取API
  3. 通过ajax提交到url路由
  4. 【Elasticsearch】在 Elastic Cloud 上的 Elasticsearch 服务中,如何针对日志和指标用例确定热温架构的规模
  5. Python爬虫入门五之URLError异常处理
  6. plc通信程序 c语言,三菱PLC编程口通信C语言源代码(3)
  7. centos下smartctl安装配置(硬盘S.M.A.R.T信息及坏块检测命令)
  8. java velocity js_JavaScript 模板引擎 Velocity.js_js
  9. 【聚来宝】创业 兼职 教程 资料
  10. 逆向-攻防世界-logmein
  11. Python面向对象编程-类和实例
  12. android 横向头像栏,Android实现个人资料页面头像背景模糊显示包(状态栏)
  13. mysql的设置参数中max_allowed_packet
  14. php中::双冒号作用
  15. 手动给无线网设置一个DNS服务器地址,手动修改手机局域网无线网络的DNS地址
  16. Converged Multimedia Networks
  17. 即食花胶的功效与作用 即食花胶怎么吃?
  18. 高斯 GANSS GS87-D 设置指南
  19. 保弘实业|大学生为什么要学会理财
  20. ArcGIS Pro鹰眼图快速制图

热门文章

  1. 谷歌与Facebook的关系数据库之战
  2. 2016年中国未来的新兴行业推荐
  3. java课设的总结和体会,JAVA设计培训心得体会【两篇】
  4. uni-app tababr“+”突起按钮触发弹窗解决方案
  5. c语言改变图片颜色,用c语言把bmp格式的彩色图片转换成黑白的
  6. 语中最美的十大经典爱情句子
  7. 使用python爬取某药品网站药品说明
  8. ip地址、子网掩码及ip地址的相关计算
  9. stm32F407按键例程安富莱
  10. VMware虚拟机鼠标闪烁