MySQL-数据库的基础操作 o(´^`)o

文本目录:

❄️一、数据库操作:

[☑ 1、查看所有的数据库:](#☑ 1、查看所有的数据库:)

[☑ 2、创建数据库:](#☑ 2、创建数据库:)

[☑ 3、使用数据库:](#☑ 3、使用数据库:)

[☑ 4、删除数据库:](#☑ 4、删除数据库:)

❄️二、常用的数据类型:

[➷ 1、数值类型:](#➷ 1、数值类型:)

[➷ 2、字符串类型:](#➷ 2、字符串类型:)

[➷ 3、日期类型:](#➷ 3、日期类型:)

❄️三、表的操作:

[☑ 1、创建表:](#☑ 1、创建表:)

[☑ 2、查看表的结构:](#☑ 2、查看表的结构:)

[☑ 3、删除表:](#☑ 3、删除表:)

❄️总结:


对于这些操作呢,如果没有理解的呢也可以去 MySQL 的官网上去查看:

MySQL官网

❄️一、数据库操作:

[☑](#☑ 1、查看所有的数据库:) 1、查看所有的数据库:

SHOW DATABASES;

我们来演示一遍:

这呢就是这个 SQL 语句的执行结果了。


[☑](#☑ 2、创建数据库:) 2、创建数据库:

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name

[create_option] ...

create_option : [DEFAULT] {

CHARACTER SET [=] charset_name

| COLLATE [=] collation_name

| ENCRYPTION [=] {'Y' | 'N'}

}
注意:

1、大写的为关键字

2、[] 表示可选项

3、CHARACTER SET :指定数据库采用的字符集

**4、**COLLATE :指定数据库字符集的校验规则

5、ENCRYPTION :表示是否加密

我们演示一遍:

1、我们来创建一个 test_db 的数据库:

使用:CREATE DATABASE test_db;

这个呢就是最简单的创建库的方式,这里显示OK,证明创建完成,我们查询也可看见这个库。


2、我们来创建一个 test_db2 的数据库:

使用:CREATE DATABASE IF NOT EXISTS test_db2;

这个的意思是:如果没有 test_db2 这个数据库的话就创建这个数据库,如果有就报错。

这个在上面我们已经创建了,所以这里会出错,就是 1 warning 这个就是报错。

这个就是使用 CREATE DATABASE IF NOT EXISTS 来创建库了。


3、我们来创建一个 test_db3 的数据库:

使用:

CREATE DATABASE IF NOT EXISTS test_db3 CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

**这个意思就是:**在 2 的基础上, 指定数据库采用的字符集,指定数据库字符集的校验规则

创建库最好使用这个方法。


注意:

我们的 create 和 database 呢就 关键字,正常情况下,不能使用 关键字来创建库,但是我们可以使用语法来使用 关键字创建库。我们来看如何创建:

create database `database`;

**这样就可以 创建以关键字为名的 数据库了。**任何的关键字都可以这样做。


[☑](#☑ 3、使用数据库:) 3、使用数据库:

use 数据库的名字;

这里的 ; 呢是可加可不加的。

我们再来看一个和它可以一起使用的一个语法 ------查询我们选择使用的数据库

SELECT DATABASE();

我们没有选择要使用的数据库,所以呢这里为NULL。

我们来看当我们使用之后呢,这里面显示的是什么:

在我们选择使用之后呢,这里就是我们选择的那个数据库了。


[☑](#☑ 4、删除数据库:) 4、删除数据库:

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name;

对于这个语法呢,我们是不应该去使用的,因为我们在生产或者测试的情况下,是不应该删除的。

这个就是我们的删除操作了。


❄️二、常用的数据类型:

[➷](#➷ 1、数值类型:) 1、数值类型:

分为 整形 和 浮点型:

|---------------------------------|----------------|--------------------------------------|-----------------------------------------|
| 数据类型 | 大小 | 说明 | 对应的Java类型 |
| BIT[(M)] | M指定长度,默认为1 | 二进制数,M范围从1到64,存储数值范围从 0 到 2^M-1 | 常用Boolean对应BIT,此时默认是 1 位,即只能存 1 和 0 |
| 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 | 和 DECIMAL(M,D) 一样 | BigDecimal |


[➷](#➷ 2、字符串类型:) 2、字符串类型:

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


[➷](#➷ 3、日期类型:) 3、日期类型:

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


❄️三、表的操作:

那么我们在操作表之前呢,我们需要先选择要操作的表,我们才能对其进行操作:

这样我们就选择好了,我们要使用的 数据库了。


[☑](#☑ 1、创建表:) 1、创建表:

语法:

CREATE TABLE [IF NOT EXISTS] table_name (
field1 datatype,
field2 datatype,
field3 datatype
);

来解释一下什么意思:

注意:

在字段的后面可以使用 comment 增加对字段的解释。


我们来演示一遍如何创建表,我们来创建一个 学生表(Student)

这样我们就把 student 这个表给创建完成了。 我们再来查看一下 这个数据库 下有哪些表:

这样使用------show tables来查看有哪些表。


[☑](#☑ 2、查看表的结构:) 2、查看表的结构:

语法:

DESC 表名;

我们来使用看看:


[☑](#☑ 3、删除表:) 3、删除表:

语法:

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...

这个就是:如果存在这个表的话,就进行删除操作。


❄️总结:

OK,到这里呢,我们的关于 MySQL 的第一篇博客的分享就到这里就结束了,我们下一篇来了解一下 ------ 表的增删查改。欲知后事如何,且听下回~,拜拜~~~

相关推荐
一只淡水鱼669 分钟前
【mybatis】基本操作:详解Spring通过注解和XML的方式来操作mybatis
java·数据库·spring·mybatis
张声录111 分钟前
【ETCD】【实操篇(十六)】基于角色的访问控制:ETCD 安全管理指南
数据库·安全·etcd
warrah17 分钟前
redis——岁月云实战
数据库·redis·缓存
秀儿y18 分钟前
Redis-十大数据类型
数据库·redis·缓存·oracle
凡人的AI工具箱38 分钟前
每天40分玩转Django:Django类视图
数据库·人工智能·后端·python·django·sqlite
知识的宝藏42 分钟前
Django models中的增删改查与MySQL SQL的对应关系
sql·mysql·django·django models
路在脚下@42 分钟前
MySQL的索引失效的原因有那些
数据库·mysql
凡人的AI工具箱1 小时前
每天40分玩转Django:实操图片分享社区
数据库·人工智能·后端·python·django
CT随1 小时前
MongoDB
数据库·mongodb
新子-存在了1 小时前
linux中 mysql备份
linux·运维·mysql