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,精度高,运算速度慢,效率低,计算准

相关推荐
LUCIAZZZ1 小时前
简单的SQL语句的快速复习
java·数据库·sql
Elastic 中国社区官方博客3 小时前
使用真实 Elasticsearch 进行高级集成测试
大数据·数据库·elasticsearch·搜索引擎·全文检索·jenkins·集成测试
@_@哆啦A梦3 小时前
Redis 基础命令
java·数据库·redis
fajianchen3 小时前
MySQL 索引存储结构
数据库·mysql
想做富婆3 小时前
oracle: 多表查询之联合查询[交集intersect, 并集union,差集minus]
数据库·oracle·联合查询
xianwu5435 小时前
反向代理模块jmh
开发语言·网络·数据库·c++·mysql
Leven1995275 小时前
Flink (十三) :Table API 与 DataStream API 的转换 (一)
数据库·sql·flink
geovindu5 小时前
neo4j-community-5.26.0 create new database
数据库·mysql·neo4j
MyY_DO6 小时前
maven mysql jdk nvm node npm 环境安装
java·mysql·maven
因特麦克斯6 小时前
索引的底层数据结构、B+树的结构、为什么InnoDB使用B+树而不是B树呢
数据库