MySQL基础入门

MySQL入门

1.1. 数据库

最近想为找工作做几个项目实战演练一下,其中一个是基于SpringBoot搭建一个头条咨询网站。项目中用到了MySQL数据库,最近学习了一下基础知识(非科班出身有太多的课要补。。。)。

数据库主要分为两种,一种是关系型数据库,另一种是非关系型数据库。虽说现在非关系型数据库发展很快,但是关系型数据库的地位依旧不可动摇,并逐渐发展成为关系型数据为主,非关系型数据为辅的局面,所以学好关系型数据库是非常重要的。MySQL是最常用的关系型数据库之一,其定义了一个数据库管理系统(DBMS),其基本的操作语言是SQL(结构化查询语言,Structural Query Language),无论什么数据库,其操作语言基本都是基于SQL的。

1.2.关系模型

数据库中的基本构成是表,任何一个数据库都是基于关系模型的,比如:一对多、多对多、一对一关系。

数据库中可以存在多张表,每张表之间的关系来源于上述关系模型。

每一张表的组成类似于Excel表格,由行和列组成,每一列代表一个字段,这些字段是根据业务需求来具体设定的。在项目的数据库设计中,业务字段设计是第一步也是非常关键的一步,需要合理地将业务需求合理地转化为数据库中的业务字段,同时构造合适的关系模型。每一行代表一条记录(record),由不同的字段的内容组成。

1.3.主键和外键

主键是用来唯一确定表中每行记录的字段,通常主键不能采用有业务属性的字段,比如人的年龄之类的。比如在学校可以使用学号最为每一个学生的唯一识别,可以在数据库中将“student_id”设置为主键。

外键是用来构建一对多(或多对一)的关系,比如一个班级中可以有多个学生,那个班级表和学生表可以构成一对多的关系,那么可以使用班级的ID作为外键,来对学生表中的班级信息进行约束。但是使用外键会降低性能,一般使用程序的逻辑来实现外键的功能。

1.4.CRUD操作

CRUD(create、retrieve、update、delete)就是我们常说的增删改查,在SQL语言中,增删改查分别对应的是:

①INSERT INTO <表名> (字段1, 字段2, …) VALUES (值1, 值2, …);

②DELETE FROM <表名> WHERE …;

③UPDATE <表名> SET 字段1=值1, 字段2=值2, … WHERE …;

④SELECT (字段1,字段2,…) FROM <表名> WHERE <条件表达式>

基本的SQL语法可以参阅廖雪峰的官方网站:https://www.liaoxuefeng.com/wiki/1177760294764384

这里仅给出几个要点和常用的语法:

①使用SELECT 1来测试数据库是否正常连接;

②查询是SQL语言最常用的操作,关于查询有很多常见的操作,比如:

​ 排序:order by (字段) DESC(默认是增序);

​ 分页查询:SELECT id, name, gender, score FROM students ORDER BY score DESC LIMIT 3 OFFSET 0;

​ 聚合查询:SELECT count(字段)FROM <表名>

全部评论

相关推荐

xdm&nbsp;早上喝奶茶差点喷出来。事情是这样的,我们班有个哥们儿,简称&nbsp;L,去年秋招拿了字节sp,专业方向是后端。我们当时都震惊:这哥们儿平时课上从来不发言,期末小组作业基本是划水的那种,刷题平台&nbsp;commit记录我点进去看过,绿格子稀稀拉拉。但他面试一路绿灯。一面二面三面&nbsp;hr&nbsp;面,全过,给的还是sp。当时班级群里恭喜他的、问他经验的、约饭的,热闹了一周。他说自己"运气好,准备充分"。我们都信了,直到三月初他入职。入职第二周开始,班里另一个进字节的同学W(在隔壁组的)开始跟我他的不对劲。一开始是写代码慢,后来写不出来,再后来是组里&nbsp;mentor&nbsp;让他fix&nbsp;一个简单&nbsp;bug&nbsp;都搞了一下午没动静。最离谱的是上周。W&nbsp;说他们大部门搞了个新人分享会,让新人讲一下自己负责模块的设计思路。L&nbsp;上去讲了&nbsp;20分钟,全程念稿子,问答环节别人随便问一个"那你这里为什么用&nbsp;Redis&nbsp;不用&nbsp;Memcached",他直接卡&nbsp;30秒说"这个我回去再确认一下"。会后他&nbsp;mentor&nbsp;直接找&nbsp;leader&nbsp;谈,leader&nbsp;找&nbsp;hr&nbsp;谈,hr调出了他面试录像,全程对比口型和回答节奏,发现他二三面有大量时长在偷偷看屏幕外(推测开了双机位&nbsp;AI&nbsp;答题)。(这段是&nbsp;W后来转述给我的,他自己也是听他组里同事八卦来的)昨天下班前,W&nbsp;告诉我L&nbsp;被辞退了,让他自己走,不走就走仲裁但会发函到学校。L&nbsp;现在已经回学校了,朋友圈仅三天可见。我说真的,我不是个心眼小的人,但是我看到这个消息的时候真的有种"嗯,挺好"的感觉。去年秋招我投字节后端,简历挂。我准备了八个月,背&nbsp;八股&nbsp;+&nbsp;刷&nbsp;500&nbsp;题&nbsp;+项目改了三版,连面试机会都没拿到。班里这哥们儿凭着一个外挂上岸,最后还是被甩出来了。不是说作弊就一定会被发现,但是当面试拿到的&nbsp;offer远远超出真实能力的时候,迟早会有这一天。试用期三个月不是给你过家家的,是真的要写代码、要在会议上回答问题、要扛需求的。我现在反而有点同情他。同情他相信"上岸就是终点"。发出来不是为了嘲笑谁,就是想说给那些正在被身边作弊上岸的同学搞得很&nbsp;emo&nbsp;的&nbsp;uu&nbsp;们听——别急,回旋镖很长,但它一定会回来。你继续刷你的题,写你的项目,背你的八股。该是你的迟早是你的,不是你的早晚还得还回去。xdm&nbsp;共勉。
牛客12588360...:我不想评论面试方式,作弊是绝对不对的,但是你八股加刷题也不过是个做题小子,他穿帮纯粹是他菜,你也没有高明到哪里去
点赞 评论 收藏
分享
04-15 14:58
中南大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务