1
xxxy 2018-05-28 16:37:01 +08:00 1
讲道理,有发帖的时间花半个小时大概就能过一遍了
|
2
Linxing 2018-05-28 16:51:47 +08:00 via iPhone
讲真的 就算你不知道怎么写 你也要看得懂吧 也要了解原理 索引啊这些都是基本的
|
3
current 2018-05-28 16:54:24 +08:00
最基本的 crud 总的会吧。。。。
|
4
chaleaochexist OP |
5
chaleaochexist OP @current 只会 r...
|
6
KgM4gLtF0shViDH3 2018-05-28 16:58:22 +08:00 via iPhone
肯定不能接受啊,这个写的时候有没有提示
|
7
noli 2018-05-28 16:58:45 +08:00
讲真,MsSQL, MySQL, PostgreSQL 这么多种 SQL 方言我也不是全懂。
但是我有工具可以 gen SQL。 至于微调什么的还是交给专职 DBA 比较好。 |
8
RorschachZZZ 2018-05-28 16:59:16 +08:00
这就和 1+1=2 一样,有不会的吗。。。。
|
9
phpcxy 2018-05-28 17:16:58 +08:00
大学老师教的 SQL 语句够我用了~
|
10
tumi9527 2018-05-28 17:24:25 +08:00
后端这些都是基本的吧
|
11
CoderGeek 2018-05-28 17:26:32 +08:00
no。。。
|
12
qq976739120 2018-05-28 17:28:24 +08:00
现在找工作这么容易了?为啥我面试都问到优化细节...
|
13
zhaishunqi 2018-05-28 17:29:58 +08:00
还是自己会比较好吧.
因为作为后台的话,你可能会接触到提数脚本的编写.烂点没关系,至少你得自己写出来啊,不用每个都去查吧. 可能有些比较偏的函数记不住就算了,用的时候知道有去查下就好. |
14
0044200420 2018-05-28 17:31:10 +08:00
极端情况没网络就完了
|
15
leven87 2018-05-28 17:31:32 +08:00 via Android
基本功。
|
16
xxxy 2018-05-28 17:36:25 +08:00
@chaleaochexist 面试前到 leetcode 刷刷就行了
|
17
newtype0092 2018-05-28 17:40:17 +08:00
@RorschachZZZ 1+1 不应该是 select 'Hello World'; 么?
|
18
cxbig 2018-05-28 17:42:49 +08:00
后端也是分很细的,一般不要求普通 dev 手写 SQL。
为了便于管理,大多数情况,我们会要求程序员使用 ORM 来处理所有的 CRUD。 |
19
akstrom 2018-05-28 17:42:57 +08:00
这些心态不适合做后端,不管是业务后端还是服务器后端,劝你改行
|
20
iyaozhen 2018-05-28 17:43:08 +08:00 via Android
一般建表用工具吧,手写很容易出错吧
|
21
2bbing 2018-05-28 17:44:44 +08:00
我一直以为会 sql 以及相关简单优化和理解是后端开发的必备点。。。
|
22
tjsdtc 2018-05-28 17:47:44 +08:00
讲真,好多前端工程工程师都会写
|
23
NSAtools 2018-05-28 17:49:45 +08:00
讲真,这是基础
|
24
EmdeBoas 2018-05-28 17:52:09 +08:00
...我们的产品都会...
|
25
maemual 2018-05-28 17:53:28 +08:00
大概了解,具体语法细节用的时候再搜就好了。
|
26
UIXX 2018-05-28 17:56:57 +08:00
你可以忘记具体语法,但是你一定要用过,得会用,一些数据库基本引擎原理要懂。
PS. 如果你要应聘,一定要过一遍。保证能手写。 |
27
2379920898 2018-05-28 17:58:42 +08:00
经常用链式操作。。 原声 SQL 早忘光光了
|
28
yuanfans 2018-05-28 18:04:39 +08:00
讲道理,有发帖看回帖这个时间,都过完一遍了
|
29
1313213 2018-05-28 18:13:19 +08:00
最基本的应该会写吧
|
30
onepunch 2018-05-28 18:17:02 +08:00 1
有句老话叫 “勿在浮沙筑高台” ,一知半解总有你哭的一天
|
31
leotso 2018-05-28 18:18:57 +08:00 via iPhone
这应该属于基本功吧……顺便做个调查 有多少人知道递归查询
|
32
mumbler 2018-05-28 18:19:45 +08:00 1
给你个 google 能不能写,能就没事
|
33
karllynn 2018-05-28 18:26:32 +08:00
这不是基本功么。。这么菜鸡当什么后端
|
34
lijsh 2018-05-28 18:29:21 +08:00
我们的测试都是手写 SQL 暴力改数据库创造测试情景的
|
35
SingeeKing 2018-05-28 18:32:28 +08:00
会写是必须的,到底要不要写是另一码事。
不要过度依赖 ORM,要是用了小众数据库或者一些特别复杂的操作还是要依托 pureSQL |
36
laravel 2018-05-28 18:33:59 +08:00
经常登录 mysql 命令行玩玩就会了,多看看文档
|
37
initialdp 2018-05-28 18:36:53 +08:00
不可接受。
|
38
sunchen 2018-05-28 18:47:56 +08:00
我们运营,测试,产品经理都会
|
39
Raymon111111 2018-05-28 18:49:43 +08:00
这个真的是两小时就能学会的东西...
|
40
felinx 2018-05-28 19:03:30 +08:00
不收
|
41
nekolr 2018-05-28 19:17:24 +08:00 via Android
基本的 CRUD 要会,这个学习花不了多少时间。剩下复杂的一般也用不到,用到了能借助搜索引擎解决也行,这个慢慢积累。一般的后端这个程度就可以了
|
42
boris1993 2018-05-28 19:32:19 +08:00 via Android 2
我觉得吧,只要用的到,就要学就得至少会用
我大学学的 C#,出来实习第一份工作干的是 IBM 主机,z/OS 系统,COBOL 语言。编程是公司给教,后面我要兼任管理员,咋办,爬 18 摸文档库啃,现在用户管理权限管理这俩必会的已经熟练了 然后业务变动改做 Java,但是同样,Java 没怎么写过,框架也是头一次听说,MySQL,Redis,都没见过,咋办?爬教程一点点学,搭框架,写个小玩具,一边写一边学 然后某银行 DevOps 投标 POC,仗着 Linux 玩得转,铁着头去了,然后发现 Jenkins 之类的,见过没用过更没配过,咋办?还 TM 不是爬教程去学,最后 POC 的要求达到了 逼逼了这么多,我想说的就是,你既然要搞技术,那就不是说这玩意我能不能不会,而是这玩意有用那我就学一个。技多不压身,谁知道你这技能啥时候就派上用场了,更何况增删改查都是基本操作 |
43
yeepZhang 2018-05-28 19:50:29 +08:00
...这都要纠结发个帖子问...
|
44
nl101531 2018-05-28 19:58:07 +08:00 via Android
作为后端,快排还是需要手撕的啊。。。
|
46
mhycy 2018-05-28 20:00:11 +08:00
说白了还是懒
|
47
qiyuey 2018-05-28 20:01:35 +08:00
反正我是记不住,都是生成的
|
48
nieyujiang 2018-05-28 20:02:48 +08:00 via iPhone
写两次就会了
|
49
janus77 2018-05-28 20:55:53 +08:00 via Android
如果工作接触数据库 crud 必须会
驱动 纯算法 操作系统这类可以不用会吧 |
50
371657110 2018-05-28 21:05:08 +08:00
我一个前端都会手写了.
|
51
liprais 2018-05-28 22:00:13 +08:00 1
没事,知道自己不会就行了
反正大部分工程师都不会,但都以为自己会 |
52
pandago 2018-05-28 22:02:47 +08:00 via iPhone
要会的
|
53
0x11901 2018-05-28 22:11:58 +08:00
现在工作这么好找了么……
|
54
CFO 2018-05-28 22:37:53 +08:00 via Android
我也就只会简单的 crud 加个简单的 join 有的同事写的复杂 sql 我看都看不懂…
|
55
ilylx2008 2018-05-28 22:50:57 +08:00 via Android
不可接受
写代码不考虑 sql 性能的,就像小孩一样永远长不大 |
56
xpresslink 2018-05-28 23:05:01 +08:00
我不会写代码想找个程序员工作,楼主觉得可接受么?
|
57
dobelee 2018-05-28 23:25:46 +08:00 via Android
請問 sql 語句都不會寫,到時候你好意思跟人談到 sql 優化、數據遷移、mysql 問題定位、mysql 高可用、mysql 集群嗎?更別提特性繁多的 SQLServer 和 Oracle 等。
insert into 不用說了,就建表的語句,是 DDL 最最最基礎的技能,我大學畢業之前就已經手打過至少 1000 次建表語句,我只能說,要么你不用它,要么你不用心。 另外,這些開篇技能都欠缺,我完全可以斷定你也不會其他數據庫基礎理論,如第三範式、b 樹索引、存儲引擎等相關知識。 所以你覺得好嗎? |
58
zhangbohun 2018-05-29 00:48:28 +08:00 via Android
select 最难
|
59
jiangzhuo 2018-05-29 01:09:31 +08:00
手写红黑树都能接受,别说手写个 select 了。当然是选择原谅他了
|
60
opengps 2018-05-29 08:17:38 +08:00
想要写出来高性能的代码,这些都是基础,不然一个数据库故障你用上一周去解决,你说你老大会不会开除你
|
61
FrailLove 2018-05-29 08:29:49 +08:00
很多 Java 程序几百行才能解决的问题 一个 select 就能搞定 你怕不怕
|
62
chaleaochexist OP @boris1993 不知道老司机开了多少年车,想问一下
> C#, IBM 主机,z/OS 系统,COBOL 语言。 还剩下多少? --- 其实我不是没学过,是学过不用就忘了,在学还是忘。。。也许我记性不好? 为什么 select 会,因为 select 经常用。。。 |
63
2pen 2018-05-29 08:53:33 +08:00
drop
|
64
6diyipi 2018-05-29 09:07:06 +08:00
忘了就网上查一查啊, 你是不是来卖萌的。增删改查那么简单的。
|
65
boris1993 2018-05-29 09:07:45 +08:00 via Android
@chaleaochexist C 井和 COBOL 很久不写,略微手生。z/OS 目前时不时的要处理权限和资源释放问题,目前可以不看屏幕用消息指导同事操作。
emmm,最早看你的帖子,理解成了根本不会写,而不是时间长不用忘了。我也会忘东西啊,所以手边常备 Google,时不时也会写点东西温习一下 |
66
nbstoner 2018-05-29 09:09:14 +08:00
有啥不能接受的,你觉得你这样可以,然后让面试官觉得你这样可以。之后的工作中你也用你觉得可以的方法去做好工作。这不就得了
|
67
keikeizhang 2018-05-29 09:12:34 +08:00
也许未来工具集越来越多,可能不会 SQL 也没有什么,如果有杠精,想想编程语言的底层是什么。
|
68
chaleaochexist OP @6diyipi 不是卖萌。
不过我有一个坏习惯就是做决定之前想听听别人的看法。V2 装逼的少,就上来问问。 |
69
tedzhou1221 2018-05-29 09:13:06 +08:00
我觉得起码简单的要会写
|
70
leeyom 2018-05-29 09:15:26 +08:00
不接受
|
71
jptx 2018-05-29 09:17:08 +08:00
建表这类的低频率、复杂而且很重要的 SQL 不记得也没关系,直接用工具来建表最安全省事,至于 INSERT INTO 之类的常用 SQL,平时操作数据库时多写几遍就记住了,结构很简单
|
72
hanxiV2EX 2018-05-29 09:17:48 +08:00 via Android
不用百度,准备一份手册,写的时候看看就行。又不是比速度,临时写也就 5 分钟的事情
|
73
6diyipi 2018-05-29 09:18:02 +08:00
@chaleaochexist 常用语句用印象笔记记着。最多半小时全部整理的妥妥的。
|
74
niubee1 2018-05-29 09:20:52 +08:00
如果这个学不会我觉得是能力有问题, 接受不能.
|
75
xjr7670 2018-05-29 09:23:49 +08:00
这都能做后端??为啥我找个工作那么难,问得那么多
|
76
AdamMing 2018-05-29 09:26:16 +08:00
面试的时候不会问几种引擎的区别嘛。。
|
77
KimJongun 2018-05-29 09:45:55 +08:00
不推荐 ORM,还是写原声 SQL 吧
|
78
nullen 2018-05-29 10:02:35 +08:00
不能接受。
|
79
akinoneko 2018-05-29 10:03:20 +08:00
我们的测试都会.
|
80
zhaogaz 2018-05-29 10:06:36 +08:00
其实我也忘,我跟楼主差不多,哈哈哈哈哈。
经常写,还是忘。 上面有人问,sql 递归,递归我也写过,具体到细节现在也忘了,大题思路还是有印象的。哈哈哈哈 我觉得上面大部分人理解都是有问题的,记住了 /会了 就不会忘。怎么可能,又不是机器人,何况机器人也会坏呢。。。 |
81
arthas2234 2018-05-29 10:07:07 +08:00
。。不会写 SQL 一些问题你要怎么排查,数据库要怎么优化。要碰到没有 DBA 的公司,数据库都要你设计怎么办。我们运维和产品 SQL 都写的贼 6,别说是后端了
|
82
xsliang 2018-05-29 10:18:33 +08:00
|
83
silentstorm 2018-05-29 10:18:51 +08:00
嗯,没啥大问题。只要 update,delete 时候 where 语句别忘了写就行
|
84
Lanke0 2018-05-29 10:28:32 +08:00
我经常忘,需要复习
|
85
salamanderMH 2018-05-29 10:28:50 +08:00
不可能吧
|
86
YouXia 2018-05-29 10:29:28 +08:00
工作前 3 年,没写过 SQL。后来做数据库内核开发时候,开始学了点。
|
87
lazydog 2018-05-29 10:31:26 +08:00 via Android
如果没特殊要求的话,黑猫白猫抓到老鼠就是好猫!
|
88
southsala 2018-05-29 10:52:13 +08:00
对自己要求不高啊
|
89
hjw45611 2018-05-29 11:00:02 +08:00
增删查改、嵌套、联表等常用操作都写个例子,放在工作文档里,用到就看一下,怎么也能记住了。
|
90
ytll21 2018-05-29 11:01:16 +08:00
对自己没要求的话,可以不会。
|
91
enhancer 2018-05-29 11:04:02 +08:00 1
如果是做企业级应用开发的话,后端不会写 SQL 几乎无法干活。互联网应用情况可能稍微好一点。比如很普通的财务总账 SQL:
SELECT AB.subject_code code, AB.subject_name name , IFNULL(AB.debit_amount_init, 0) debit_amount_init , IFNULL(AB.credit_amount_init, 0) credit_amount_init , IFNULL(AB.debit_amount_curr, 0) debit_amount_curr , IFNULL(AB.credit_amount_curr, 0) credit_amount_curr , IFNULL(C.debit_amount_end, 0) debit_amount_end , IFNULL(C.credit_amount_end, 0) credit_amount_end , IFNULL(D.debit_amount_total, 0) debit_amount_total , IFNULL(D.credit_amount_total, 0) credit_amount_total FROM (SELECT B.subject_code, B.subject_name , A.debit_amount_init, A.credit_amount_init , B.debit_amount_curr, B.credit_amount_curr FROM (SELECT subject_code , subject_name , SUM(debit_amount) debit_amount_init , SUM(credit_amount) credit_amount_init FROM accounting_document_item adi, accounting_document ad WHERE adi.doc_id = ad.id AND date_format(accounting_date, '%Y%m') < CONCAT(@12-YEAR@, @12-MONTH@) GROUP BY subject_code, subject_name) A RIGHT JOIN (SELECT subject_code , subject_name , SUM(debit_amount) debit_amount_curr , SUM(credit_amount) credit_amount_curr FROM accounting_document_item adi, accounting_document ad WHERE adi.doc_id = ad.id AND date_format(accounting_date, '%Y%m') = CONCAT(@12-YEAR@, @12-MONTH@) GROUP BY subject_code, subject_name) B ON A.subject_code = B.subject_code) AB LEFT JOIN (SELECT subject_code , subject_name , SUM(debit_amount) debit_amount_end , SUM(credit_amount) credit_amount_end FROM accounting_document_item adi, accounting_document ad WHERE adi.doc_id = ad.id AND date_format(accounting_date, '%Y%m') <= CONCAT(@12-YEAR@, @12-MONTH@) GROUP BY subject_code, subject_name) C ON AB.subject_code = C.subject_code LEFT JOIN (SELECT subject_code , subject_name , SUM(debit_amount) debit_amount_total , SUM(credit_amount) credit_amount_total FROM accounting_document_item adi, accounting_document ad WHERE adi.doc_id = ad.id AND date_format(accounting_date, '%Y') = @12-YEAR@ GROUP BY subject_code, subject_name) D ON AB.subject_code = D.subject_code |
92
guoyuchuan 2018-05-29 11:06:35 +08:00
至少基本的增删查改要会写,是会写,不是记得;
|
93
younfor 2018-05-29 11:08:34 +08:00
@FrailLove 怕不怕 。当然怕。从工程的角度来看,都是必须的。我还喜欢写胖代码,胖接口。成吨成吨的写。太可怕了。当然 SQL 你当然也要会。什么索引啊。视图啊,存储过程啊都要会写吧。之前我为了把 echarts 和自己业务 BI 展示合在一起,还专门封装了一遍。就是在写 SQL。太可怕了。
|
94
younfor 2018-05-29 11:11:29 +08:00
@enhancer 对。我想说的就是这个。企业应用类工程项目。必须是要会写的。有一次我 left join 10 张表。太可怕了。就为了查库存。
|
95
HaoC12 2018-05-29 11:17:13 +08:00
熟悉行转列,列转行,仍然找不到好工作。
|
96
cuzfinal 2018-05-29 11:21:09 +08:00
测试运维都会手写 SQL。
|
97
Tokin 2018-05-29 11:53:10 +08:00
我一直以为这些简单的 sql 语句学过编程的人都会,工作之后发现并不是这样,很多人都不会写。
不知道为什么,难道他们学编程的时候,都没涉及到数据库吗? 大学一些作业不都是什么图书管理系统、学生信息管理系统吗? 难道数据都写 txt 里了吗。。。。 |
98
ChiangDi 2018-05-29 11:53:46 +08:00
不会就百度呀。。。
|
99
fuchaofather 2018-05-29 12:17:34 +08:00 via Android
@xxxy 没毛病
|
100
bomb77 2018-05-29 12:19:29 +08:00 2
我记忆现在已经和金鱼差不多了,也动不动就怀疑自己是不是不适合做这行啊。。。
算了,反正都是面向 Stack Overflow 编程。。。 |