‍作者简介:‍告别,今天

高质量专栏 :☕java趣味之旅

(零基础)专栏:MSQL数据库

欢迎点赞️评论收藏关注

衷心的希望我的作品能给大家带来收获。

前言:

让我们如大自然般悠然自在地生活一天吧, 别因为有坚果外壳或者蚊子翅膀落在铁轨上️而翻了车。让我们该起床时️就赶紧起床️, 该休息️时就安心休息️, 保持安宁而没有烦扰的心态;身边的人要来就让他来,要去就让他去, 让钟声️回荡,让孩子哭喊— 下定决心好好地过一天。

希望大家都可以过好每一天。也希望我的博客,能给大家带来收获。

1. 数据库的操作  

 

1.1 显示当前的数据库

SHOW DATABASES;//输入的单词之前要带有空格,多个空格是可以的,至少要有一个,最后要带上分号,而且必须是英文分号,要大写就全部大写,要不是大写就全部小写

以上的四个就是MySQL自带的数据库“系统库”;这几个系统库不能乱搞,容易把数据库给搞嘎了.

set?是什么? 在这里是集合的意思 sec (second)秒 如果看到0.00 sec的意思,花的时间小于10毫秒,而不是没花时间!

当我们出错时,如下图

会告诉我们在哪里出错,在错误最后是最核心信息

1.2 创建数据库

创建的数据库名字,要求不能和SQL的“关键字”重复,如果实在想用关键字作为数据库名,可以使用反引号,把这个名字引起来,反引号键盘的esc下面

语法:

create database;

后续创建数据库的时候,建议大家,使用utf 8作为字符集,否则MySQL 5.7默认字符集是拉丁文不支持中文,MySQL 8默认好像就是utf 8了

utf8 不包含 emoji 表情 utf8mb4 是完全体 utf8 (mysql 独有的)

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,

create_specification] ...]

create_specification:

[DEFAULT] CHARACTER SET charset_name

[DEFAULT] COLLATE collation_name

说明:

大写的表示关键字 [] 是可选项 CHARACTER SET: 指定数据库采用的字符集 COLLATE: 指定数据库字符集的校验规则

示例:

创建名为 db_test1 的数据库

CREATE DATABASE db_test1;

说明:当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是: utf8_general_ci

如果系统没有 db_test2 的数据库,则创建一个名叫 db_test2 的数据库,如果有则不创建

CREATE DATABASE IF NOT EXISTS db_test2;

如果系统没有 db_test 的数据库,则创建一个使用utf8mb4字符集的 db_test 数据库,如果有则

不创建

CREATE DATABASE IF NOT EXISTS db_test CHARACTER SET utf8mb4;

说明:MySQL的utf8编码不是真正的utf8,没有包含某些复杂的中文字符。MySQL真正的utf8是使用utf8mb4,建议大家都使用utf8mb4

1.3 使用数据库

后续的进一步操作,都是需要先选中再操作。接下来的操作都是针对这个被选中的数据库进行的,在存在多个数据库的情况下,这样的设定是非常有用的。“选中”就像我们玩的红警一样,选中单位才能下达指令

use 数据库名;

1.4 删除数据库

DROP DATABASE [IF EXISTS] db_name;

如果删除掉自带的数据库,数据库就得重装了

高风险操作 有可能从删库到跑路

说明:

数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除

drop database if exists db_test1;

drop database if exists db_test2:

删除数据库的操作非常危险~ 数据删了就无了,一旦删除了比较重要的数据,很可能在这个职位就待不下去了。

2. 常用数据类型

2.1 数值类型:

分为整型和浮点型:

此处的float和double都是和java/c类似都是IEEE754 标准规定的格式来表示的

使用以上的表示方式,表达数据存在精度偏差! 所以,使用上述的float和double的时候不适合用来表示那种对于“精度要求 ”很高的场景

扩展资料 

数值类型可以指定为无符号(unsigned),表示不取负数。

1字节(bytes)= 8bit。

对于整型类型的范围:

1. 有符号范围:-2^(类型字节数*8-1)到2^(类型字节数*8-1)-1,如int是4字节,就

是-2^31到2^31-1

2. 无符号范围:0到2^(类型字节数*8)-1,如int就是2^32-1

尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下,与其如此,还不如设计时,将int类型提升为bigint类型。

2.2 字符串类型

varchar 后面参数的数字,单位是“字符”,而不是“字节”。

TEXT 这里的长度是靠“自适应”的。 比较依赖自动扩容 实际开发中,很多时候为了明确数据存储的上限,往往会慎重使用TEXT,更多使用 varchar。

例如: 预估项目涉及到的数据最多要占据多少空间,才能申请要搞一个啥样配置的服务器。

BLOT 是存储二进制数据,前面三个类型都是存储 文本数据 (字符串) 文本,本质上也是二进制~~ 此处所说的“二进制” 其实指的是,当前存储的这些数据,在对应的码表上无法查到的, 二进制包括 图片 音频 视频 可执行程序 .class (.java 文件编译生成)

2.3 日期类型

TIMESTAMP 这个类型代表“时间戳”

3.表的操作

需要操作数据库中的表时,需要先使用该数据库:

如果我们没有选中数据库,我们查看数据库是无法进行的,如下图

use db_test;

我们创建一个JAVA1的数据库,然后我们显示表看看是怎样。

由于此时没有表,在这个数据库里看到的就是空的集合

然后我们切换系统的数据库

3.1 查看表结构

desc 表名;

示例:

字段 Field 也可以叫做列 类型 Type 数据库中的Null表示的是这个单元格没填。 Default 表示这两页的默认值

3.2 创建表

语法:

create table 表名(列名 类型,列名 类型,列名 类型……);

CREATE TABLE table_name (

field1 datatype,

field2 datatype,

field3 datatype

);

可以使用comment增加字段说明。

示例:

create table stu_test (

  id int,

  name varchar(20) comment '姓名',

  password varchar(50) comment '密码',

  age int,

  sex varchar(1),

  birthday timestamp,

  amout decimal(13,2),

  resume text

);

3.3 删除表

语法格式:

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

示例:

-- 删除 stu_test 表

drop table stu_test;

-- 如果存在 stu_test 表,则删除 stu_test 表

drop table if exists stu_test;

 不仅仅是删除表的本身,也删除了表里面的数据 删库,是把所有的表都删了 删表,只是删除其中的某一个

总结

操作数据库:

-- 显示

show databases;

-- 创建

create database xxx;

-- 使用

use xxx;

-- 删除

drop database xxx;

常用数据类型: 

INT:整型

DECIMAL(M, D):浮点数类型

VARCHAR(SIZE):字符串类型

TIMESTAMP:日期类型

 操作表:

-- 查看

show 表;

-- 创建

create table 表名(

字段1 类型1,

字段2 类型2,

...

);

-- 删除

drop talbe 表名;

精彩链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: