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

相关推荐
LCY1331 分钟前
django自动添加接口文档
数据库·django·sqlite
黄同学real17 分钟前
解决Windows版Redis无法远程连接的问题
数据库·windows·redis
罗念笙31 分钟前
MySQL InnoDB引擎中的聚簇索引和非聚簇索引有什么区别?
数据库
阿杰来学编程1 小时前
数据库约束
数据库·mysql
JeffreyGu.1 小时前
Oracle中In和Exists区别分析
数据库·oracle
NineData2 小时前
NineData社区版抢先体验,获取无人机、双肩包、充电宝等周边福利
数据库
用户6279947182622 小时前
南大通用GBase 8c B兼容模式的加解密函数实践指南
数据库
hj10433 小时前
记录一个SQL自动执行的html页面
数据库·sql
xjz18423 小时前
MySQL 5.7 性能优化全攻略:从查询到配置的深度调优
mysql
用户6279947182623 小时前
南大通用GBase 8s数据库包解析
数据库