MySQL(数据库)

1.数据库?

数据库是管理数据(增删改查CRUD)的软件

MySQL(开源&免费) 是一个数据库软件 (客户端-服务器)结构的软件

客户端服务器通过网络进行通信

客户端(Client):主动发起请求的一方,客户端给服务器发起的数据称为请求(request)

服务器(Server):被动接受请求的一方,服务器给客户端返回的数据称为响应(response)

2.mysql安装

安装mysql服务器和客户端

mysql服务器:真正存储数据的部分 (开始菜单 搜索服务 找到MySql),数据存储在硬盘中

服务器7*24小时运行,(每时每刻)

客户端:

1)官方客户端(自带命令行客户端)

workbench官方提供的图形化的客户端

2)第三方客户端 例:DataGrip

客户端链接成功:

3.相关数据库操作

1)创建数据库

复制代码
create database 数据库名;

数据库是唯一的,不能创建两个名字一样的数据库

复制代码
create database if not exists java241120;

此时不会因为数据库同名报错,发现数据库已经存在是不会继续创建数据库的

创建数据库的时候可以手动指定字符集 charset(字符集名字),mysql默认的字符集是拉丁文,不支持中文,(GBK,UTF8支持中文的编码)

不同的字符集,不同的编码方式,汉字占的字节数不同,使用utf8编码汉字通常是3个字节;

使用默认字符集gbk编码,汉字占2个字节

复制代码
character set charset_name;

2)查看数据表

列出当前的mysql服务器上一共有哪些数据库

复制代码
show databases;

3)选中数据库

复制代码
use 数据库名;

针对哪个数据库里的表进行增删改查操作;

4)删除数据库

复制代码
drop database 数据库名;

删除了database中所有的表,和表里所有的数据;

4.相关数据表的操作(前提:选中数据库)

1)创建表

复制代码
create table 表名(列名 类型,列名 类型...);

如果表名/列名和关键字一样,要用反引号``来把表名/列名引起来

2)查看该数据库中的所有表

复制代码
show tables;查看当前选中数据库的所有表;

3)查看指定表的结构

复制代码
desc 表名;

describe描述;field字段;int(11) 11表示显示的宽度,显示int类型的时候最多占11个字符的宽度;Null YES 允许这一列为空值;Key 约束;Default 默认值;Extra 额外信息;

4)删除表

复制代码
drop table 表名;

删除表及表中的数据;

5)常见数据类型

|---------------|-----------|-------------------------------|
| 数据类型 | 大小 | 说明 |
| TINYINT | 1字节 | |
| SMALLINT | 2字节 | |
| INT | 4字节 | |
| BIGINT | 8字节 | |
| FLOAT(M.D) | 4字节 | 单精度,M指定长度,D指定小数位数,会发生精度丢失 |
| DOUBLE(M,D) | 8字节 | |
| DECIMAL(M,D) | M/D最大值+2 | 双精度,M指定长度,D指定小数位数,精确数值 |
| VARCHAR(SIZE) | 0-65535字节 | 可变长度字符串,SIZE表示该类型里最多存储几个字符 |
| TEXT | 0-65535字节 | 长文本数据 |
| BLOB | 0-65535字节 | 二进制形式的长文本数据(音乐,图片,视频,属于二进制数据) |
| MEDIUMTEXT | | 中等长度文本数据 |
| DATETIME | 8字节 | 时间日期 |
| TIMESTAMP | 4字节 | 时间戳 |

计算机使用时间戳表示数据:以1970年1月1日0时0分0秒作为基准,计算当前时刻和基准时刻的 秒数/毫秒数/微秒数 之差

decimal,精度高,运算速度慢,效率低,计算准

相关推荐
Fanche40431 分钟前
SQL 语句基础(增删改查)
运维·数据库·sql·mysql·web安全·oracle
King.62432 分钟前
SQL2API 核心理念:如何重构数据服务交付范式
大数据·开发语言·数据库·人工智能·sql·lua
YiSLWLL1 小时前
Tauri 2.3.1+Leptos 0.7.8开发桌面应用--Sqlite数据库的写入、展示和选择删除
数据库·vscode·rust·sqlite·sqlx
KENYCHEN奉孝1 小时前
一个基于Django的写字楼管理系统实现方案
数据库·python·django·sqlite
斯普信专业组1 小时前
磐维数据库在BClinux-8.4系统上的部署指南
数据库
Elastic 中国社区官方博客1 小时前
Elasticsearch 8.18 中提供了原生连接 (Native Joins)
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
island13141 小时前
《突破控件限制:用Qt绘图API解锁高级界面定制能力》
java·数据库·qt
APItesterCris1 小时前
Python + 淘宝 API 开发实战:自动化采集商品详情与 SKU 数据清洗指南
大数据·运维·数据库·自动化
w23617346012 小时前
深入解析布尔注入:原理、实战与防御
数据库·网络安全·sql注入·布尔注入·数据库注入
Elastic 中国社区官方博客5 小时前
如何在不同版本的 Elasticsearch 之间以及集群之间迁移数据
大数据·数据库·elasticsearch·搜索引擎·全文检索·logstash