03.03 如何自主学习SQL数据库?

wo人生如戏


自学SQL数据库,说难也不难,主要做好以下几点:

首先,您要选择合适的数据库环境

目前流行的数据库环境,主要包括MySQL、Oracle、SQLServer、PostgreSQL、SQLite等。这几个都属于经典的传统关系型数据库,对ANSI-SQL的支持都不错。个人建议最好选择开源数据库系统。

Oracle、SQLServer都属于商业数据库,死贵死贵的,MySQL自从被Oracle收购后,其前景堪忧,很可能跟Java的下场一样,SQLite太小型,对上SQL的支持很有限。本人建议最好选择PostgreSQL。

我不是乱说的,PostgreSQL号称“全世界最强大的开源数据库”,这名号绝对不是盖的,真材实料。虽然国内MySQL的流行程序要高于PostgreSQL,但要看未来。美国的尿性我们都知道,连Android都要搞事情,MySQL以后我们能不能用都是问题。

最重要的,PostgreSQL不但功能强大不弱于大型商业数据库、而且完全开源不需要任何商业授权,她属于全世界,而不是美帝,大胆的学、大胆的用,没有任何后顾之忧。要学就学最有前途的。

其次,您要拥有或构建一个完整的应用场景

俗话说,学以致用,如果您的学习没有任何场景,那就是无的放矢,学起来不但累而且没有成就感。干巴巴的语法虽然看上去很简单,但您不清楚学来干什么,还会有深入学习的兴趣么?就算您硬着头皮死啃,没有成就感您能坚持多久?

所以,您必须有一个完整的应用场景,您学习的目的,就是围绕这个应用场景展开。当然,应用场景不是天生就有的,如果您为了工作,可能场景已经被事先设置好了;如果您只是为了学习,就需要创建一个应用场景。当然不能随便创建场景,您要以自己很熟悉的领域作为应用场景。比如学校的学籍管理、公司的人事管理等等。

有了应用场景,您就可以围绕应用场景展开数据库设计、表结构设计、关联设计、存储过程设计等等。各种应用能够实现可以衡量的结果,您学起来就来了兴趣。完成应用场景需求的过程中,各种SQL语法您很自然就用到和掌握了。

如果您是程序开发人员,最好与您的开发环境融合起来,通过编程实现程序前端、数据库作为后台,各种应用效果就更直观,学起来兴趣就越来越浓。说不准学习的过程还能做出来一个不错的系统,何尝不是意外的收获啊。

最后,您要有长久学习提升的思想准备并持续展开

SQL和数据库有很多实用技巧,您学的越多、学的越久,就会有越多的问题和困惑。有些问题解决起来得心应手、而有些问题却总让您头疼。头疼不是您水平低,很可能是因为您平时没有话费足够的时间研究SQL和数据库。

自学往往没有足够的时间系统学习,这没办法,但您可以做好笔记,把各种处理的经典方案SQL脚本留存起来,以后使用的时候,可以随时查阅。但如果您任何处理都要不停的查找解决方案,那您的学习就太失败了。

我们总会碰到各种奇葩需求,之所以奇葩,主要是我们没处理该类需求的经验、或者我们的知识存在各种断层,要让自己有足够的底气,您只有考多积累,日积月累多思考多试验,崩总想着自己是高手能搞定一切,该查资料就查,查了之后做好笔记记录,争取下次就会处理了,时间长了,无形中您就成了高手了。


灵眼旁观


如果是学生,建议选择mysql作为数据库入门学习比较好。

什么是SQL

SQL就是访问和处理关系数据库的计算机标准语言。也就是说,无论用什么编程语言(Java、Python、C++……)编写程序,只要涉及到操作关系数据库。现代的程序离不开关系数据库,要使用关系数据库,必须掌握SQL。

安装Mysql

和其他关系数据库有所不同的是,MySQL本身实际上只是一个SQL接口,它的内部还包含了多种数据引擎,常用的包括:

  • InnoDB:由Innobase Oy公司开发的一款支持事务的数据库引擎,2006年被Oracle收购;
  • MyISAM:MySQL早期集成的默认数据库引擎,不支持事务。
使用MySQL时,不同的表还可以使用不同的数据库引擎。如果你不知道应该采用哪种引擎,记住总是选择InnoDB就好了。

要在Windows或Mac上安装MySQL,首先从MySQL官方网站下载最新的MySQL Community Server版本:https://dev.mysql.com/downloads/mysql/

选择对应的操作系统版本,下载安装即可。在安装过程中,MySQL会自动创建一个用户,并提示输入口令。要在Linux上安装MySQL,可以使用发行版的包管理器。

运行MySQL

MySQL安装后会自动在后台运行。为了验证MySQL安装是否正确,我们需要通过这个命令行程序来连接MySQL服务器。

在命令提示符下输入,然后输入口令,如果一切正确,就会连接到MySQL服务器,同时提示符变为。

输入退出MySQL命令行。注意,MySQL服务器仍在后台运行。

如何学习Mysql

1.我们应该学习基本的关系模型,搞清楚什么是主键、外键,索引的作用等等。尝试自己创建数据库,定义字段,熟悉字段类型。

2. 尝试建立多个表,通过外键学习,理解表和表之间需要建立 “一对多”、“一对一”、“多对一”的关系。这样才能够按照应用程序的逻辑来组织和存储数据。

3. 学习使用mysql查询数据,包括基本查询(select)、条件查询、投影查询、排序、分页查询、聚合查询、多表查询等。

4. 学习使用mysql更新数据,主要语句包括 Insert 、Upate、Delete


建议找一份适合的入门教程,自己可以按教程一步步慢慢学习理解。建议从mysql入手sql语言的学习。你可以百度 廖雪峰,他的官方网站有mysql的入门教程,非常适合初学者入门学习。

关注「程序君」,分享实用的编程开发技巧,也欢迎大家在回答下面留言,一起学习交流分享,另外码字不易,请点赞支持。十分感谢!

程序君


首先,你要明白,SQL 是用于访问和处理数据库的标准的计算机语言。而数据库的种类非常多。大型数据库有:Oracle、Sybase、DB2、SQL server;小型数据库有:Access、MySQL等。但SQL应用上实际上差别不大,知识数据库功能不同,毕竟语言都是相通的。本回答以多用的MySQL为主。

下载MySQL

(https://www.mysql.com/cn/downloads/)

MySQL就是一个关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 关系数据库管理系统 应用软件之一。

下载Workbench

(https://dev.mysql.com/downloads/workbench/)

这个工具主要是为我们提供了图形化管理界面,为我们简化了操作。

当然如果你喜欢在这种非图形界面下操作的话,可以选择不安装,毕竟每人习惯不一样。

教程

(一)入门

首先,先得学习SQL的基础语句操作,这些语句用于存取数据以及查询、更新和管理关系数据库系统,了解MySQL可以做什么。

第一步:(https://www.shiyanlou.com/courses/9)

这个课程主要是在结合学习语法的同时带领大家进行基本操作的实验。

第二步:(https://www.w3cschool.cn/sql/8zragfoj.html)

阅读并熟悉操作的SQL的基础语句和操作符,因为上面的课程并没有过一遍SQL操作的基础语法,但不用都背下来,用多了自然就记住了,需要用的时候查一查。这时候就要自己熟悉这些语句的功能,并根据教程语句一步步操作。

并且这些基础很重要,一定要多练习,通常面试的时候也都会涉及到SQL的基础语法。

(二)进阶

了解MySQL性能调试和优化方案;

了解MySQL基本架构和性能优化的基本原理;

第三步:阅读一本书,如果想要基础真的扎实,建议还是买一本实体书。SQL方面的书很多,有的其实很不错,但它们都有一个共同的特点,就是讲授的内容太多了,多数人其实不需要了解那么多。所以这里推荐的是《SQL必知必会》,一本就够了。

教程就不推荐太多了,不然大家做的也累。这几步下来,MySQL会用了就行。接下来就靠大家自己在工作中的应用和实战中积累经验,知道遇到问题时搜索什么关键词。

如果这篇文章对大家有帮助,欢迎点赞关注我以示支持!


路人甲


学生时代,入门数据库,学习成本最底的就是 SQL server软件,微软出品。

你可以百度下截一个SQL server express 2005版本的,它是免费的。

然后上W3School ,学习基本SQL语法,建库,建表,增加,修改,删除,查询。后边是增加字段,索引,视图,自定义函数,存储过程,了解 数据库备份及还原,加密,解密 (TDE加解密是SQL server2008才出来的) 等。边学边动手,才有印象。

然后上 CSDN, 博客园,这两个程序员非常集中的地方,找到数据库频道,看看别人问的那些数据库方面的问题,你自己是否能够解决。

边学习边操练,理论经验有了,动手能力上去了,你在数据库方面就慢慢能独立处理问题了。

SQL server学会了,学习其它数据库成本就大大降低了。

如果需要了解其它细节,可以关注我并私聊。谢谢。


资深IT老张


学SQL还是要多读多写

读,是指要有一套学习辅导书籍或视频教程,我觉得至少要先知道SQL 是做什么的,能够解决什么问题,才是该如何学好。

网上的辅导书籍和视频教程很多,这里推荐我看过的一些比较好的书籍和视频教程

书籍类:

《SQL基础教程》

《SQL必知必会》

这两本应该是写的比较通俗易懂的书籍了,此外一些数据库的安装,操作可以网上搜索一下相关的图文教程,基本上只要你的关键字正确,都可以找到你想要的内容。

视频类

视频类的教程一般网上也有,但是质量参差不齐,有兴趣的可以关注我们的公众号(SQL数据库开发)获取我收藏的一些较好的视频教程。

说完读,下面就是写了

上面这些资料都是为我们写SQL语句作的准备,但是真正要学会SQL 还是要多动手动脑。

SQL 终归还是一门语言,有它固定的语法,这些语法就需要我们去记住。如何记住呢?那就是不停的练习写SQL 代码,并且用SQL 代码解决一些问题,比如每学完一个知识点就去做一道题,这样效果会很好。

此外,凡事都有个过程,学习也不例外,学SQL 如果只是学个皮毛,一周时间就够了。但是真正去解决问题你就会发现无从下手,所以还是要多月多练,并且要养成做笔记的习惯,不会的内容一定要弄懂才进行下一步。

不管是学SQL ,还是学其他东西,我相信方法都类似,只是看你是否坚持下去了。


SQL数据库开发


找一个简单的数据库学习,比如mysql。主要学习数据库原理。在学习 sql 语法。 如果偏向开发就侧重sql。如果偏向运维,就侧重数据库本身。mysql 是世界上最受欢迎的数据库。网上资料也很多。上手比较快。


架构师之路


首先SQL(Structured Query Language)指的是结构化查询语言的简称,它是一种关于数据的编程语言,也是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

现在主流的数据库有关系数据库(Relational Database),如Oracle、MySQL、SQLServer等。

如果数据库是Oracle的话,那就先学习简单的增删改查,

就是select语句、update语句、insert语句、delete语句还有其他from语句、where语句、group by语句 order by语句等

如果这些学会了,那你基本就可以上手了,剩下的其他语句还有很多,比如exists语句 with语句,over() partition语句,

你还可以学习索引 分区这类型的优化知识。

还有很多分析语句如

row_num() over(partition by ... order by ...)

rank() over(partition by ... order by ...)

dense_rank() over(partition by ... order by ...)

count() over(partition by ... order by ...)

max() over(partition by ... order by ...)

min() over(partition by ... order by ...)

sum() over(partition by ... order by ...)

avg() over(partition by ... order by ...)

first_value over(partition by ... order by ...)

last_value over(partition by ... order by ...)

lag() over(partition by ... order by ...)

lead() over(partition by ... order by ...)

这些语句可以让你进阶

你还可以学习PL/SQL中存储过程、函数,序列、触发器等,如果你还想更深层的学,你可以DBA这些知识

比如权限问题,建立表空间问题,创建用户、杀死session等,备份数据库等。


IT大数据科技


其实学习数据库语言比较简单,如果你开始接触过,其他类的语言,然后再学习一些数据的基本概念,如何建立一个完整的数据库?就要学习数据库的完整性约束性条件!总而言之,SQL语言并不难,能很容易理解,前提是要掌握数据库的基本概念,逻辑清晰!

没有软件的可以私我!我有破解版的08版的SQL


分享到:


相關文章: