当前位置:首页 » 编程语言 » 淘宝没有涉及过sql怎么学习
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

淘宝没有涉及过sql怎么学习

发布时间: 2022-04-24 07:16:33

1. 如何学好sql

先学SQL,把子查询,group by, order by, having, union, exists, in, join, left join, inner join 搞得明明白白
装个SQL 2005,装两个实例。装service pack。装了卸,卸了装,直到呕吐(嘿嘿)
把login, user, schema, linked server这些基本概念搞清
把不同的系统权限,用户权限学习一遍
数据库,备份数据库,全备份,增量备份,日志备份
建表,写SQL建表,把常用数据类型搞懂,边建表,学习update/delete边插入/删除记录,边做备份
然后恢复数据库,恢复全备份,恢复到某个标记,恢复到某个时间点
用SQL命令把上面的这些操作做一遍(都有SQL的,不要只会用鼠标点来点去)
DBCC的一些常用命令
好好学习一下索引,用SQL建索引,各种各样的索引
建几个表,分别有1千条记录,1万条记录,10万条记录,100万条记录,500万条记录
每建一个表,就看看数据库如何变大,日志如何变大,如果没看懂,恢复数据库到前一个状态再做....
把数据库缩小,放大,增加数据文件,把数据文件放在不同硬盘上,把日志截断(虽然小了,但看看还能不能恢复)
把主键,外键,约束,默认值,数据类型等基本概念搞清楚
然后开始在上面玩索引和各种查询,玩玩备份和恢复,删除50万条记录,插入10万条记录,等等
看你的硬盘小灯乱闪,CPU冒烟,你就对性能和速度开始关注了(嘿嘿)
就会想着怎么优化一下你的SQL,怎么优化索引等这些问题了。

学习T-SQL的一些基本东西,学习一下存储过程,触发器
到这里多回答别人的问题,帮别人写点存储过程,触发器的代码,多看别人怎么写的,怎么解决问题的。

到这里,你应该有不错的基本功了。
如果对数据库开发有兴趣呢,T-SQL要熟悉,会分析execution plan,对索引比较精通,然后就是要使用的程序语言

如果要做DBA,我觉得一个好的DBA应该有很好的开发方面的经验,
主动争取维护一下开发环境下的数据库,首先是每天都备份,然后看看有没有可以优化的地方。
多关注性能,安全,备份/恢复,高可用性方面的东西。试试数据库复制,日志转移,数据镜像,如果有机会再试试集群

2. 没有任何编程基础学习SQL数据库从学什么开始入手

应该先从你兴趣开始, 有兴趣再决定方向,有了方向在决定语言。
也可网络一下, 80x86汇编小站, 看看 站长写的下面这几篇文章, 或者 你直接联系 这个站长 跟他交流编程方面的事情。

编程是什么,什么是编程?
如何正确入门Windows系统下C/C++学习领域?
掌握C/C++后,如何在Windows系统下开发有界面的程序?
如何正确入门Windows系统下驱动开发领域?
如何正确进入基于x86-64Bit Windows系统商业软件破解领域?
如何正确的待汇编学习和反汇编学习?
成为VC++程序员,我需要学会哪些东西?

3. 学习sql有什么诀窍没有啊

没有捷径,熟悉SQL语法,一些常用的关键字,能很牛的写出查询语句就很不得了啦,自己多动手 多练一练.

哈哈 把下面这个语句读懂先

SELECT m.AD_Menu_ID, m.Name,m.Description,m.IsSummary,m.Action, m.AD_Window_ID, m.AD_Process_ID, m.AD_Form_ID, m.AD_Workflow_ID, m.AD_Task_ID, m.AD_Workbench_ID FROM AD_Menu m WHERE m.IsActive='Y' AND (m.AD_Window_ID IS NULL OR EXISTS (SELECT * FROM AD_Window w WHERE m.AD_Window_ID=w.AD_Window_ID AND w.IsBetaFunctionality='N')) AND (m.AD_Process_ID IS NULL OR EXISTS (SELECT * FROM AD_Process p WHERE m.AD_Process_ID=p.AD_Process_ID AND p.IsBetaFunctionality='N')) AND (m.AD_Form_ID IS NULL OR EXISTS (SELECT * FROM AD_Form f WHERE m.AD_Form_ID=f.AD_Form_ID AND f.IsBetaFunctionality='N')) AND (m.AD_Form_ID IS NULL OR EXISTS (SELECT * FROM AD_Form f WHERE m.AD_Form_ID=f.AD_Form_ID AND f.Classname IS NOT NULL)) AND m.AD_Client_ID=0 AND m.AD_Org_ID=0 ;

4. 怎么学习SQL语句

创建数据库
创建之前判断该数据库是否存在 if exists (select * from sysdatabases where name='databaseName') drop database 'databaseName' go Create DATABASE database-name
删除数据库
drop database dbname
备份sql server
--- 创建 备份数据的 device USE master EXEC sp_admpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack
创建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only
删除新表
drop table tabname
增加一个列
Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
添加主键
Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col)
创建索引
create [unique] index idxname on tabname(col….) 删除索引:drop index idxname on tabname 注:索引是不可更改的,想更改必须删除重新建。
创建视图
create view viewname as select statement 删除视图:drop view viewname
几个简单的基本的sql语句
选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’ (所有包含‘value1’这个模式的字符串)---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count(*) as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1[separator]
几个高级查询运算词
A: UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。 B: EXCEPT 运算符 EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。 C: INTERSECT 运算符 INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。 注:使用运算词的几个查询结果行必须是一致的。
使用外连接
A、left outer join: 左外连接(左连接):结果集既包括连接表的匹配行,也包括左连接表的所有行。 SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c B:right outer join: 右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。 C:full outer join: 全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。

5. 以前没学过SQL语句,请会的高手教我怎么学或是看哪本书!谢谢

《SQL server 数据库管理与应用》 这是我现在使用的书,里面包含了SQL server企业管理器的应用以及SQL语句的编写。

希望对你用用! 谢谢!

6. 没有任何基础的人怎么学SQL

如果是初学sql的话,推荐自己安装单机安装一个数据库(比如经典的mysql),然后找一本书(当当网找搜索mysql,然后找排名靠前的,对自己胃口的……当然,如果英语不错的话,官方文档是你最好的选择),就着书实际操作下数据库,这样学习起来应该比较快。对了,个人比较建议先找本讲数据库基础、原理的书来看一遍,理论实践结合的方式我认为是最好的sql可以认为是一种编程语言,学习相对比较容易,难得是如何解决实际问题,在各种情况下通过协调满足一定的指标。比如如何设计表、索引等使得的查询速度达到最快,允许牺牲一定的写性能。比如如何设计可以达到实时写的能力,允许舍弃一定的读性能。最终,还是要结合具体的数据库、业务场景,在某方面达到最低保证的情况下,使得另一方面发挥到极致,这才是最重要的也是最难的。

7. SQL怎么能快速学习。

掌握sql语句的基本语法,这个要是想学不难,自己不用功学起来也挺费劲,首先学习标量函数和列函数,查询语法,在联系下,例如查询员工信息,按工资高低查询员工入职年份等,进而学习增删改查基本语法,在深入就是创建表删除表等操作。。建议看看sql语法的帮助文档

8. 请问在网上可以学SQL数据库编程吗

SQL基础
本章内容

SQL介绍

使用SELECT 语句从表中取数据

创建新表

字段属性

向表中添加数据

删除和修改表

为了建立交互站点,你需要使用数据库来存储来自访问者的信息。例如,你要建立一个职业介绍服务的站点,你就需要存储诸如个人简历,所感兴趣的工作等等这样的信息。创建动态网叶也需要使用数据库,如果你想显示符合来访者要求的最好的工作,你就需要从数据库中取出这份工作的信息。你将会发现,在许多情况下需要使用数据库。

在这一章里,你将学会怎样使用“结构化查询语言”(SQL〕来操作数据库。SQL语言是数据库的标准语言。在Active Sever Pages 中,无论何时你要访问一个数据库,你就要使用SQL语言。因此,掌握好SQL对ASP编程是非常重要的。

注意:

你可以把“SQL”读作“sequel”,也可以按单个字母的读音读作S-Q-L。 两种发音都是正确的,每种发音各有大量的支持者。在本书里,认为“SQL”读作“sequel”。

通过这一章的学习,你将理解怎样用SQL实现数据库查询,你将学会怎样使用这种查询从数据表中取出信息,最后,你将学会怎样设计和建立自己的数据库。

注意:

通过下面几章对SQL的介绍,你将对SQL有足够的了解,从而可以有效地使用Active Sever Pages。但是,SQL是一种复杂的语言,本书不可能包括它的全部细节。要全面掌握SQL语言,你需要学习在Microsoft SQL Sever 中使用SQL。你可以到附近的书店去买一本Microsoft SQL Sever 6.5。

SQL介绍:

本书假设你是在SQL操作Microsoft SQL Sever 的数据库。你也可以用SQL操作许多其它类型的数据库。SQL是操作数据库的标准语言。(事实上,关于SQL语言有一个专门的ANSI标准〕

注意:

不要在你的站点上试图用Microsoft Access代替Microsoft SQL Sever。SQL Sever可以同时服务于许多用户,如果你希望你的站点有较高的访问率,MS Access是不能胜任的。

在学习SQL的细节之前,你需要理解它的两大特点。一个特点容易掌握,另一个掌握起来有点困难。

第一个特点是所有SQL数据库中的数据都存储在表中。一个表由行和列组成。例如,下面这个简单的表包括name 和e-mail address:

Name Email Address

................................................................

Bill Gates [email protected]

president Clinton [email protected]

Stephen Walther [email protected]

这个表有两列(列也称为字段,域〕:Name和Email Address。有三行,每一行包含一组数据。一行中的数据组合在一起称为一条记录。

无论何时你向表中添加新数据,你就添加了一条新记录。一个数据表可以有几十个记录,也可以有几千甚至几十亿个记录。虽然你也许永远不需要存储十亿个Email地址,但知道你能这样做总是好的,也许有一天你会有这样的需要。

你的数据库很有可能包含几十个表,所有存储在你数据库中的信息都被存储在这些表中。当你考虑怎样把信息存储在数据库中时,你应该考虑怎样把它们存储在表中。

SQL的第二个特点有些难于掌握。这种语言被设计为不允许你按照某种特定的顺序来取出记录,因为这样做会降低SQL Sever取记录的效率。使用SQL,你只能按查询条件来读取记录。

当考虑如何从表中取出记录时,自然会想到按记录的位置读取它们。例如,也许你会尝试通过一个循环,逐个记录地扫描,来选出特定的记录。在使用SQL时,你必须训练自己,不要有这种思路。

假如你想选出所有的名字是“Bill Gates”的记录,如果使用传统的编程语言,你也许会构造一个循环,逐个查看表中的记录,看名字域是否是“Bill Gates”。

这种选择记录的方法是可行的,但是效率不高。使用SQL,你只要说,“选择所有名字域等于Bill Gates的记录”,SQL就会为你选出所有符合条件的记录。SQL会确定实现查询的最佳方法。

建设你想取出表中的前十个记录。使用传统的编程语言,你可以做一个循环,取出前十个记录后结束循环。但使用标准的SQL查询,这是不可能实现的。从SQL的角度来说,在一个表中不存在前十个记录这种概念。

开始时,当你知道你不能用SQL实现某些你感觉应该能实现的功能,你会受到挫折。你也许会以头撞墙甚至想写恶毒的信件给SQL的设计者们。但后来你会认识到,SQL的这个特点不仅不是个限制,反而是其长处。因为SQL不根据位置来读取记录,它读取记录可以很快。

综上所述,SQL有两个特点:所有数据存储在表中,从SQL的角度来说,表中的记录没有顺序。在下一节,你将学会怎样用SQL从表中选择特殊的记录。

使用SQL从表中取记录。

SQL的主要功能之一是实现数据库查询。如果你熟悉Internet 引擎,那么你已经熟悉查询了。你使用查询来取得满足特定条件的信息。例如,如果你想找到有ASP信息的全部站点,你可以连接到 Yahoo!并执行一个对Active Sever Pages的搜索。在你输入这个查询后,你会收到一个列表,表中包括所有其描述中包含搜索表达式的站点。

多数Internet 引擎允许逻辑查询。在逻辑查询中,你可以包括特殊的运算符如AND、OR和NOT,你使用这些运算符来选择特定的记录。例如,你可以用AND来限制查询结果。如果你执行一个对Active Sever Pages AND SQL的搜索。你将得到其描述中同时包含Active Sever Pages 和SQL的记录。当你需要限制查询结果时,你可以使用AND。

如果你需要扩展查询的结果,你可以使用逻辑操作符OR。例如,如果你执行一个搜索,搜索所有的其描述中包含Active Sever Pages OR SQL的站点,你收到的列表中将包括所有其描述中同时包含两个表达式或其中任何一个表达式的站点。

如果你想从搜索结果中排除特定的站点,你可以使用NOT。例如,查询“Active Sever Pages ”AND NOT “SQL”将返回一个列表,列表中的站点包含Active Sever Pages,但不包含SQL。当必须排除特定的记录时,你可以使用NOT。

用SQL执行的查询与用Internet搜索引擎执行的搜索非常相似。当你执行一个SQL查询时,通过使用包括逻辑运算符的查询条件,你可以得到一个记录列表。此时查询结果是来自一个或多个表。

SQL查询的句法非常简单。假设有一个名为email_table 的表,包含名字和地址两个字段,要得到Bill Gates 的e_mail地址,你可以使用下面的查询:

SELECT email from email_table WHERE name="Bill Gates"

当这个查询执行时,就从名为email_table的表中读取Bill Gates的e_mail 地址。这个简单的语句包括三部分:

■ SELECT语句的第一部分指名要选取的列。在此例中,只有email列被选取。当执行时,只显示email列的值 [email protected]

■ SELECTT语句的第二部份指明要从哪个(些)表中查询数据。在此例中,要查询的表名为email_table 。

■ 最后,SELECT语句的WHERE子句指明要选择满足什么条件的记录。在此例中,查询条件为只有name列的值为Bill Gates 的记录才被选取。

Bill Gates很有可能拥有不止一个email地址。如果表中包含Bill Gates的多个email地址。用上述的SELECT语句可以读取他所有的email地址。SELECT语句从表中取出所有name字段值为Bill Gates 的记录的email 字段的值。

9. 一个没有学过数据库及sql相关基础知识的人如何开始从零学习mysql

漫画SQL——mysql必修课(956×540视频)网络网盘

链接: https://pan..com/s/1dZyKSIHepckKltyYMz1DWQ

提取码: 3qea 复制这段内容后打开网络网盘手机App,操作更方便哦

若资源有问题欢迎追问~

10. 从没有数据库知识,想学习SQL,从哪里入门

ACC2003,很常用的软件