《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 为案例

相关推荐
jiayou641 天前
KingbaseES 表级与列级加密完全指南
数据库·后端
GBASE2 天前
G术时刻 |GBase 8s数据库事务并发控制之封锁技术介绍(下)
数据库
xiezhr2 天前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba
唐青枫3 天前
MySQL JSON 实战详解:从存储、查询、更新到 JSON_TABLE 与索引
sql·mysql
吃糖的小孩3 天前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库
小满8783 天前
5.Mysql事务隔离级别与锁机制
mysql
笃行3504 天前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行3504 天前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行3504 天前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库
元Y亨H4 天前
技术笔记:MySQL 字符集排序规则与大小写敏感性问题解决方案
mysql