MySQL的基本操作(超详细)

avatar
作者
筋斗云
阅读量:3

👨‍💻作者简介:👨🏻‍🎓告别,今天

📔高质量专栏 :☕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;

说明:MySQLutf8编码不是真正的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,如int4字节,就

-2^312^31-1

2. 无符号范围:02^(类型字节数*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 表名;

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!