‘壹’ 如何学好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应该有很好的开发方面的经验,
主动争取维护一下开发环境下的数据库,首先是每天都备份,然后看看有没有可以优化的地方。
多关注性能,安全,备份/恢复,高可用性方面的东西。试试数据库复制,日志转移,数据镜像,如果有机会再试试集群
‘贰’ 怎样才能学好SQL
首先要学习sql语言,无论你是学Oracle还是sql server数据库或其他的数据库,sql语言都是基础。数据库的原理例如数据库范式、什么是数据库中的数据类型、什么是约束等等。记住,这两个是学习所有数据库的基础。
学习了sql语言后该学习视图,存储过程。不同的数据库在sql语句的使用上稍微有些不同,它们的内置函数也是不同的。不过只要学会sql语句,具体的函数和用法查阅帮助文件或手册就可以了。如果你还要学高级的,还有触发器,完整性约束等很多东西可以学。
最好的学习方法就是安装一个sqlserver2000在自己机子上,买一本人民邮电出版社的《SQL Server 2000中文版设计实务》,和《中文版SQL Server2000开发与管理应用实例
》,呵呵,好久不看了,是一本傻瓜书,图文并茂,通俗易懂。对着书上的例子一个个试试,很快就会了。学数据库,最容易和最难的就是学sql语言。祝你好运:)
好,记得给我多加点分哦.
‘叁’ 如何学习sql语句
找一本数据库的书来看,先学会基本语法 ,然后把数据库的所有sql语句一句一句地验证一遍,等你全部敲完,可以算半个大神了
‘肆’ 学习SQL要有什么基础
挺好学的,你只要会英语,sql号称是第四代语言,他的语法结构比较接近我们实际的英语了。其他的就是去找些东西做做。另外ASP比较落后了,你可以学.NET或JAVA。其他的就没什么告诉你了。我主要去的网站http://www.cjsdn.net/ ,你也可以去看看,不过那时JAVA网站
‘伍’ 怎么学习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: 全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。
‘陆’ 学习SQL需要哪些知识
你是想学SQL应用还是SQL编程呢?
如果是应用
你只需熟悉各数据库的安装和SQL命令就可以(SQL命令不多,不难学)
至少要懂的MSSQL的使用,因为这个现在应用很广泛
再懂一个MYSQL就可以,ORACLE太大了,不便安装,因为MYSQL和ORACLE的SQL命令差不多,所以知道就可以。
如果是编程
你不只要了解SQL命令,还要知道你所用程序与各数据库的对接命令
‘柒’ 怎样学习sql
先入门:找一本入门的书,多操作,(首先肯定自己要装个数据库)多练习,可以先看书上的例子!
等到熟练以后可以看一些深一点的书籍,记住要多练习
‘捌’ 怎么学习SQL查询
第一,你先专注一个数据库的学习,例如,oracle数据库;
第二,买一本oracle的数据库书;
第三,先把书里的知识系统的学习一下;
首先:SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)
数据操作语言
SELECT - 从数据库表中获取数据
UPDATE - 更新数据库表中的数据
DELETE - 从数据库表中删除数据
INSERT INTO - 向数据库表中插入数据
数据定义语言就是
CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引
然后,必须了解sql的执行顺序
from->where->group by->order by->select
最后,就是多多练习,和多表连接查询
‘玖’ 学习SQL语句
http://blog.sina.com.cn/s/blog_4cd9865b010009xw.html
‘拾’ 学习SQL有什么用,具体用于什么方面
SQL用于存储数据,做一些管理系统,网站什么的,都会使用sqlserver来存储数据,SQL的作用:
SQL主要用于数据库系列的软件的查询、汇总、写入、删改等方面的操控,具体应用于数据库编程或数据库数据的维护。
也就是说SQL一般用于数据库编程,以及现有数据库错误排查。所以一般涉及数据库的编程人员或电脑信息化系统维护人员需要对SQL(也就是对数据库)知识进行学习。
(10)学习sql扩展阅读:
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。
结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。