《MySQL数据库从零搭建到高效管理|库的基本操作》

目录

一、数据库的操作

[1.1 展示数据库](#1.1 展示数据库)

[1.2 创建数据库](#1.2 创建数据库)

[1.3 使用数据库](#1.3 使用数据库)

[1.4 查看当前数据库](#1.4 查看当前数据库)

[1.5 删除数据库](#1.5 删除数据库)

[1.6 小结](#1.6 小结)

二、常用数据类型

[2.1 数值类型](#2.1 数值类型)

[2.2 字符串类型](#2.2 字符串类型)

[2.3 日期类型](#2.3 日期类型)


一、数据库的操作

打开MySQL命令行客户端,安装完MySQL后会有两个客户端,这两个客户端的区别是编码方式不同。建议使用 -Unicode这个客户端,该客户端使用的是utf8编码格式。

输入设置好的密码,就可以操作数据库了。


1.1 展示数据库

sql 复制代码
SHOW DATABASES;

注意:sql 的关键字是大小写不敏感的,使用大写或小写都可以。

使用该 sql 语句可以查看当前计算机中所有的数据库


1.2 创建数据库

sql 复制代码
CREATE DATABASE [IF NOT EXISTS] db_name [CHARACTER SET charset_name];

【说明】:

  • 是可选项。在写sql语句时可以带上 里的内容也可以不带。
  • CHARACTER SET:指定数据库采用的字符集。注意:MySQL的utf8编码不是真正的utf8,没有包含某些复杂的中文字符。MySQL真正的utf8是使用utf8mb4,建议大家都使用utf8mb4。
  • IF NOT EXISTS 是指当计算机中不存在要创建的数据库时,允许创建。如果存在该数据库了,则不会继续创建,能避免在批量操作时因为报错而影响之后的 sql 语句。

1.3 使用数据库

sql 复制代码
use 数据库名;

这表示正在使用该数据库,可以在该库中进一步操作。


1.4 查看当前数据库

sql 复制代码
select database();

该sql语句可以查看我们当前正在使用的数据库名


1.5 删除数据库

sql 复制代码
DROP DATABASE [IF EXISTS] db_name;

此时,我们刚刚创建的 shop 数据库已经从计算机上删除。


1.6 小结

sql 复制代码
展示数据库
SHOW DATABASES;

创建数据库
CREATE DATABASE [IF NOT EXISTS] db_name [CHARACTER SET charset_name];

使用数据库
use db_name;

查看当前数据库
select database();

删除数据库
DROP DATABASE [IF EXISTS] db_name;

二、常用数据类型

2.1 数值类型

|--------------|------------|-------------------------------|--------------------------------|
| 数据类型 | 大小 | 说明 | 对应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 |


2.2 字符串类型

|---------------|---------------|-------------|--------------|
| 数据类型 | 大小 | 说明 | 对应Java类型 |
| VARCHAR(SIZE) | 0~65535字节 | 可变长度字符串 | String |
| TEXT | 0~65535字节 | 长文本数据 | String |
| MEDIUMTEXT | 0~16777215字节 | 中等长度文本数据 | String |
| BLOB | 0~65535字节 | 二进制形式的长文本数据 | byte |


2.3 日期类型

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


积跬步,以致千里

下章预告------> 表操作

本专栏内容均以 MySQL 8.0 为案例

相关推荐
Bioinfo Guy2 小时前
高分Panel复现系列|转录因子网络太乱?用模块框把重点圈出来
数据库·生物信息学·生信可视化
ltl3 小时前
Disaggregated DB 合集:Socrates、PolarDB、Taurus 的共同模式
数据库
Blossom i6 小时前
大数据预处理与采集实验一:使用Python操作MySQL数据库
数据库·mysql
InfinitePlus6 小时前
Docker MySQL搭建一主一从
mysql·docker
雾时之林6 小时前
Linux--软件管理、源码包安装
linux·服务器·数据库
老纪的技术唠嗑局8 小时前
超级干货分享:中小企业使用 OceanBase 实践经验汇总
数据库
坐吃山猪8 小时前
Docker07-MySQL
mysql·docker·容器
CLOUD ACE8 小时前
谷歌云代理|零售商Target 如何利用 Spanner Graph 提升零售发现体验并将数据库维护成本降低 50%
数据库·零售
AI大模型-小雄8 小时前
Codex写分页接口为什么越翻越慢?用Cursor Pagination解决重复与漏数据
大数据·数据库·elasticsearch·搜索引擎·chatgpt·后端开发·codex
少晓年9 小时前
从 MySQL 迁移到人大金仓 KingbaseES:完整指南与实践
数据库·mysql