开开心心带你学习MySQL数据库篇之二

如何增大自己进入大厂的概率?

作业写得扎实,博客写得扎实,github/gitee搞的扎实 => 进入大厂的概率就会超过其他同学.


对于最近java行业有点饱和的看法?

大家不要只关注编程语言,这就把路走窄了!!!

~~ 投简历的时候,各种相关的岗位都是可以尝试的

~~ 除了投后端开发,还可以投前端开发,安卓开发,测试开发,还可以投运维

~~ 只要是相关岗位,都是可以投的

至少整个互联网行业还是有很大的发展潜力的


在时间不充裕的情况下,找实习的优先级要高于刷题的

~~ 刷题只是纸上谈兵

~~ 真正有个实习经历的同学,对于没有实习经历的同学来说,那就叫降维打击


秋招找工作

秋招找工作,和你学了啥,学多好,会多少,有关系,但是关系不大.

比技术更重要的是心态(关键), 心态 => 行为 => 结果

扫描二维码关注公众号,回复: 16500059 查看本文章

秋招中典型的情况: 你连续投了几十份简历,一点反应都没有 ~~既没有人让你面试,也没有人让你笔试,甚至没有人告诉你,你的简历挂了 ~~ 非常普遍的,这种情况可能让一半的同学心态崩溃,摆烂了

秋招是非常容易的,结果是美好的,过程是曲折的

image-20230831215347417

很多同学都是这个情况!! ~~ 都是前期很不顺利,突然到达了某个节点,一下就起飞了,就拿到2,3个offer

当你处于这个阶段的时候,心态保持平常心,做好该做的事情 => 按照既定的节奏投简历/复习………


MySQL

MySQL是一个客户端服务器结构的程序!!!同时服务器是数据库的本体(数据是在服务器这里组织和存储的).

数据库服务器是如何组织数据的呢?

数据库(逻辑上的数据集合) ~~记录教务信息

=> 数据表 ~~学生表,老师表,作业表

=> 有很多行,每一行是一个“记录”

~~学生表

学号 姓名 性别
1 fly
2 0213
3 江小白

注:这就是对于数据的组织形式要求比较严格,这是关系型数据库的特点

=> 针对每一行,还有很多列,每一列称为一个字段,如“学号”,”姓名”,”性别”


数据库操作

数据库操作,也就是SQL语句,开始学习吧!

先使用mysql客户端一下,毕竟后续的sql都是自带的mysql客户端来进行编写的

image-20230901002231072

后面参加工作,那公司的数据库是否要设置个复杂一些的密码,来保证安全呢???

~~这就非常重要!!!=>数据往往是一个公司的命脉,保证数据安全是一个非常关键的事情!!!

~~安全是相对的,只要破解密码的成本,超过了数据价值本身,就是安全的

例子:

~~警察蜀黍抓住一伙做假钞的犯罪分子

~~ 他们这个假钞做的贼好,足以以假乱真,属于是那种验钞机都验不出来的那种

~~ 当然,重点来了,做一张100的假钞,成本110 (笑死我了)

~~ 这就变成了一个非常悲伤的故事了


连数据库服务器

1.输入密码进行登录

image-20230901103542220

如果输入密码后发生闪退,怎么办?

首先得明确的是,闪退原因有很多种,具体是啥原因得看报错信息!!!

~~ 打开cmd

image-20230901110547314

~~ 找到MySQL 5.7 Command Line Client的文件位置,并用cmd打开

image-20230901110517839
image-20230901111120292

image-20230901111313725

~~ 根据报错信息,来定位问题,对症下药

例子:密码输入错误的场景

image-20230901113235016

Access denied => 原因基本就是密码错了

~~ 密码设置的太复杂了,输入就容易错

~~ 或者是字母大小写,英文中文标点,numlock………

另外一个典型的问题,服务器没有启动

image-20230901121551037

~~ 找到服务里面的MYSQL57启动起来就行了

image-20230901121941337

最常见的就是以上两个原因,当然还有其它原因


mysql server 其实很少会在window是上使用,目前这样使用只是为了学习它,在工作中,绝大多数情况,mysql服务器都是linux系统上的 ~~ linux mysql 环境比windows上要容易很多,坑也少很多


mysql的第一组基本操作: 数据库操作

1.查看当前数据库

show databases;

image-20230901123408070

(1) show 和 databases之间有一个或者多个空格

(2) 注意是 databases,不是database ~~ 我们要看的是多个数据库,不是一个

(3) 使用英文分号结尾 ~~ 客户端里的任何一个sql都需要使用分号“;”来结尾

强烈建议勾选:

~~ 和中文标点说再见了,因为无论在任何情况下,输入的标点都是英文,对我们程序猿来说很有用的!!!

image-20230901124129116

(4)刚装的MySQL,看到的只有系统自带的几个数据库

image-20230901124800895

(5)客户端是允许一个sql语句分多行写的

~~如果不写直接换行,此时客户端以为你一个sql语句还没写完

image-20230901135847228

(6)执行完一个sql之后,会得到一个反馈.

~~反馈会告诉我们,当前执行结果有多少记录,以及消耗多少时间
12 rows in set (0.00 sec)

set => 集合 sec => second(秒)

说明:查看当前数据库的当前时间,小于10ms的,但是即使使1ms,对于计算机来说,也是挺慢的了!!!

~~ 该时间既是和硬件有关,也和软件有关,还和你的电脑运行环境有关

~~ 因为当前我的客户端和服务器在一个主机上,虽然是通过网络通信,但是走的使环回网卡(一种特殊的网卡),所以与网络情况无关

数据库的很多操作都是低效的 ~~ 在一个大型系统中,数据库很容易成为性能瓶颈


2.创建数据库

create database [数据库名];

image-20230901164959477

(1)是database,不是databases!!!

(2)fly0213是数据库名字

~~数据库名字由数字,字母,下划线构成.数字不能开头,名字也不能是sql中的关键字(即有特定含义的单词)

~~和java变量的命名规则相同

(3)如果就是想拿关键字作为数据库名 ~~ 可以使用反引号``把数据库名给引起来!!!~~ 键盘左上角的按键~,和~是一个按钮(保证你是英文状态),esc下面, tab 上面,1的左边

(4)创建数据库的时候,名字不能重复

(5)写sql的时候,sql的关键字都是大小写不敏感的

create database 与 CREATE DATABASE 是一样的效果

(6)创建数据库的时候,还可以指定字符集

image-20230901193329059

image-20230901193602651


什么是字符集?

计算机中,表示一个汉字,需要几个字节?

~~不同的字符集下,汉字,需要的字节不同

~~平时常用的字符集

~~1.gbk windows简体中文版,默认字符集,2个字节表示一个汉字(这是国人自己发明点哟~!)

学习C语言的过程中,VS默认也是gbk,会导致你潜意识认为一个汉字是两个字节

~~2.utf8 更通用的字符集,不仅仅能表示中文,通常是三个字节表示一个汉字的

~~3.unicode(算编码方式,严格的说不能算是一个完全的字符集)

注:一般情况下编程中都是使用utf8的


3.选中数据库

use 数据库名;

要想针对某个数据库进行后续操作(增删查改)

此时就得先明确是针对那个数据库的进行的,毕竟数据库有很多,不止一个!!!


面试题

面试题:给定你某个游戏的名字,问你这个游戏属于哪个类别?(注:这是秋招的真题,游戏公司常这样问)

~~以LOL为例

1.moba 2.RTS 3.FPS 4.RPG

正确答案:1.moba

面试和高考,完全不同!!!

~~高考是有统一考纲,统一标准的

~~面试题完全取决于面试官的个人情况,但是,可以从统计意义上找到一些高频问题,当然超纲问题被问到你心态基本就崩了,被问到送命题你就无了

超纲问题如下:

~~1.某人去面试的时候,面试官就问他,让他估算一下,中国有多少家庭有2套房?

~~2.为什么井盖是圆的?

送命题如下:

1.如果阿里和腾讯都给你发offer,你去哪家公司?

唯一的正确答案:当然是去咱家

解析:这就好比有一天,你女朋友问你,”你觉得是杨幂好看,还是迪丽热巴好看?”,

兄弟勒,这时,你的求生欲得拉满,你必须说,”他们都没有你好看啊!只有你,XXX,才是我心中最好看的人”,一旦你说了,其中任何一个人好看,你就得凉凉!!~~ 上面这道面试题也是这样

2.你有没有女朋友/男朋友?

强烈建议:回答没有,即使你有也得说没有!!!

一旦说有,你面试凉凉!!!

原因如下,你一旦说有,面试官他就会以此提问,说:”我们公司在上海,但是你女朋友有天拿到了一个北京的offer,你咋办???”

你回答说,跟女朋友一起去北京,~~人家要你干啥,一首凉凉送给你

你回答说,分手 ~~唉!你这个人天性凉薄,价值观就不端正 ~~那也拜拜

你回答说,异地 ~~更不靠谱

………

总之,坑很多,你不是在坑中,就是在去下一个坑的路上 ~~面试基本凉凉

3.如果让你从你们室友里踢出去一个人,你要踢谁?

~~不管你踢谁,你面试都要凉凉


为什么要选中数据库?

跟玩RTS类游戏,如SC2,war3,因为玩这类游戏,需要你控制很多单位,需要先选中,才能下达指令一样.

选中数据库,选中之后,会有个提示~~

image-20230901211530563


4.删除数据库

drop database [数据库名];

image-20230901220805262

删除操作非常非常危险,一定要慎重再慎重!!!

一旦删除了,数据就没了,难以恢复~~ 毁灭性打击 !!!

~~当然, 公司是不会给一个实习生,新来的员工删除的权限的!!!

先备份再删除也是不妥当的

~~由于数据库的数据是在实时更新的,备份,也是备份的昨天/1小时前的数据(旧的数据),删库仍然会把一批新的数据给搞没了


表操作

1.查看数据库当中的表

一定要先选中再操作,否则要报错!!!

image-20230901225310151

image-20230901225733167

2.创建表

创建表的时候,需要指定列,以及列的类型.

就需要先认识下,类型都有啥 ~~和C/Java非常相似

数据类型

1.分为整数和浮点数

image-20230901231115308
扩展资料
数值类型可以指定为无符号(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.字符串类型

数据类型 大小 说明 对应java类型
VARCHAR (SIZE) 0-65,535字节 可变长度字符串 String
TEXT 0-65,535字节 长文本数据 String
MEDIUMTEXT 0-16 777 215字节 中等长度文本数据 String
BLOB 0-65,535字节 二进制形式的长文本数据 byte[]

image-20230901233105174

image-20230901233458504

3.日期类型

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

image-20230901234848840

image-20230901234955429

3.查看指定表的表结构

4.删除表

猜你喜欢

转载自blog.csdn.net/m0_73740682/article/details/132633034