仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1066|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL教程之SQL循规蹈矩(1)先容SQL

[复制链接]
若相依 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:20:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
InnoDB事务型数据库的首选引擎,支持ACID事务,支持行级锁定先容SQL
  SQL(StructuredQueryLanguage,布局查询言语)是一个功效壮大的数据库言语。SQL一般利用于数据库的通信。ANSI(美国国度尺度学会)宣称,SQL是干系数据库办理体系的尺度言语。SQL语句一般用于完成一些数据库的操纵义务,好比在数据库中更新数据,大概从数据库中检索数据。利用SQL的罕见干系数据库办理体系有:Oracle、Sybase、MicrosoftSQLServer、Access、Ingres等等。固然尽年夜多半的数据库体系利用SQL,可是它们一样有它们自主别的的专有扩大功效用于它们的体系。可是,尺度的SQL命令,好比"Select"、"Insert"、"Update"、"Delete"、"Create"和"Drop"经常被用于完成尽年夜多半数据库的操纵。
  可是,不象别的的言语,如C、Pascal等,SQL没有轮回布局(好比if-then-else、do-while)和函数界说等等的功效。并且SQL只要一个数据范例的流动设置,换句话说,你不克不及在利用别的编程言语的时分创立你本人的数据范例。
SQL功效壮大,可是归纳综合起来,它能够分红以下几组:
DML(DataManipulationLanguage,数据操纵言语):用于检索大概修正数据;
DDL(DataDefinitionLanguage,数据界说言语):用于界说数据的布局,好比创立、修正大概删除数据库工具;
DCL(DataControlLanguage,数据把持言语):用于界说数据库用户的权限。
DML组能够细分为以下的几个语句:
SELECT:用于检索数据;
INSERT:用于增添数据到数据库;
UPDATE:用于从数据库中修正现存的数据
DELETE:用于从数据库中删除数据。
DDL语句能够用于创立用户和重修数据库工具。上面是DDL命令:
CREATETABLE
ALTERTABLE
DROPTABLE
CREATEINDEX
DROPINDEX
DCL命令用于创立干系用户会见和受权的工具。上面是几个DCL命令:
ALTERPASSWORD
GRANT
REVOKE
CREATESYNONYM
为了让你对SQL有一个直不雅的熟悉,上面先给出一个复杂SQL语句的例子:
我们利用SQL语句来从Employees中检索DepartmentID为CS的姓名:
SELECTEmployees.Name
FROMEmployees
WHEREEmployees.DeptID="CS"
大概你如今一入手下手不太了解这些语句,大概你会一头雾水,没关系的,经由过程本教程的进修后,你会发明这段语句是何等的一般。为了不让你狐疑,上面我也举行一番注释:
先对FROM子句吧,语句中的FROMEmployees意义是从Employees表中检索数据。
而语句WHEREEmployees.DeptID="CS"意义是检索Employees的DeptID列为”CS”的行,如许SQL语句检索的了局将是DeptID为CS的列的一切数据,好比:
EmpID


Name


Dept



123


Purple


CS


124


Zsc


CS


最初,我们来注释一个SELECT子句,它指定了从Name列检索来的一切数据,好比

Name


Purple


Zsc


好吧,入手下手我们下一节的教程-------表的基础常识。
在Windows中MySQL以服务形式存在,在使用前应确保此服务已经启动,未启动可用netstartmysql命令启动。而Linux中启动时可用“/etc/rc.d/init.d/mysqldstart"命令,注意启动者应具有管理员权限。
第二个灵魂 该用户已被删除
沙发
发表于 2015-1-19 09:11:30 | 只看该作者
对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。
山那边是海 该用户已被删除
板凳
发表于 2015-1-26 21:58:53 | 只看该作者
而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。
再现理想 该用户已被删除
地板
发表于 2015-2-4 21:50:46 | 只看该作者
数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。
老尸 该用户已被删除
5#
发表于 2015-2-10 19:51:24 | 只看该作者
对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。
6#
发表于 2015-3-1 15:10:45 | 只看该作者
如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。
活着的死人 该用户已被删除
7#
发表于 2015-3-10 19:46:31 | 只看该作者
SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)
飘飘悠悠 该用户已被删除
8#
发表于 2015-3-17 09:26:56 | 只看该作者
Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。
简单生活 该用户已被删除
9#
发表于 2015-3-24 06:06:44 | 只看该作者
这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 18:19

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表