为什么数据库语言只有SQL一种 为什么说sql数据库是一种非过程语言
\u4e3a\u4ec0\u4e48\u8bf4SQL\u8bed\u8a00\u662f\u4e00\u79cd\u4e00\u4f53\u5316\u7684\u8bed\u8a00SQL\uff08Structured Query Language)\u7ed3\u6784\u5316\u67e5\u8be2\u8bed\u8a00\uff0c\u662f\u4e00\u79cd\u6570\u636e\u5e93\u67e5\u8be2\u548c\u7a0b\u5e8f\u8bbe\u8ba1\u8bed\u8a00\uff0c\u7528\u4e8e\u5b58\u53d6\u6570\u636e\u4ee5\u53ca\u67e5\u8be2\u3001\u66f4\u65b0\u548c\u7ba1\u7406\u5173\u7cfb\u6570\u636e\u5e93\u7cfb\u7edf\u3002\u540c\u65f6\u4e5f\u662f\u6570\u636e\u5e93\u811a\u672c\u6587\u4ef6\u7684\u6269\u5c55\u540d\u3002
SQL\u8bed\u8a00\u5305\u542b4\u4e2a\u90e8\u5206\uff1a \u3000\u3000
\u203b \u6570\u636e\u5b9a\u4e49\u8bed\u8a00(DDL)\uff0c\u4f8b\u5982\uff1aCREATE\u3001DROP\u3001ALTER\u7b49\u8bed\u53e5\u3002 \u3000\u3000
\u203b \u6570\u636e\u64cd\u4f5c\u8bed\u8a00(DML)\uff0c\u4f8b\u5982\uff1aINSERT\uff08\u63d2\u5165\uff09\u3001UPDATE\uff08\u4fee\u6539\uff09\u3001DELETE\uff08\u5220\u9664\uff09\u8bed\u53e5\u3002 \u3000\u3000
\u203b \u6570\u636e\u67e5\u8be2\u8bed\u8a00(DQL)\uff0c\u4f8b\u5982\uff1aSELECT\u8bed\u53e5\u3002 \u3000\u3000
\u203b \u6570\u636e\u63a7\u5236\u8bed\u8a00(DCL)\uff0c\u4f8b\u5982\uff1aGRANT\u3001REVOKE\u3001COMMIT\u3001ROLLBACK\u7b49\u8bed\u53e5\u3002 \u3000\u3000
\u5728\u591a\u6570\u60c5\u51b5\u4e0b\uff0c\u5728\u5176\u4ed6\u8bed\u8a00\u4e2d\u9700\u8981\u4e00\u5927\u6bb5\u7a0b\u5e8f\u5b9e\u73b0\u7684\u529f\u80fd\u53ea\u9700\u8981\u4e00\u4e2aSQL\u8bed\u53e5\u5c31\u53ef\u4ee5\u8fbe\u5230\u76ee\u7684
DML\u8fd9\u7c7b\u8bed\u8a00\u5206\u4e3a\u4e24\u4e2a\u5927\u7c7b\uff0c\u58f0\u660e\u5f0f(Declarative DMLs)\u548c\u8fc7\u7a0b\u5f0f(Procedural DMLs)\u3002\u524d\u8005\u6211\u4eec\u4e5f\u79f0\u4e3a\u975e\u8fc7\u7a0b\u5f0f\u7684DML(Non-procedural DMLs)\u3002\u4e24\u8005\u4e4b\u95f4\u7684\u533a\u522b\u662f\uff0c\u58f0\u660e\u5f0f\u7684DML\u53ea\u9700\u8981\u58f0\u660e\u6211\u4eec\u9700\u8981\u4ec0\u4e48\u6837\u7684\u6570\u636e\uff0c\u50cf\u662fSQL\u5c31\u662f\u8fd9\u6837\u7684\u8bed\u8a00\u3002\u800c\u8fc7\u7a0b\u5f0fDML\u4e0d\u4ec5\u9700\u8981\u58f0\u660e\u9700\u8981\u4ec0\u4e48\u6837\u7684\u6570\u636e\uff0c\u800c\u4e14\u9700\u8981\u7ed9\u51fa\u5982\u4f55\u5f97\u5230\u6570\u636e\u7684\u65b9\u6cd5
SQL标准由ANSI和国际标准化组织(International Standards Organization,ISO)作为ISO/IEC 9075标准维护。对于不同数据库,又有各自的一些特殊的语法和关键字。
简单说SQL只是一个标准,像ORACLE 用的SQL叫 PLSQL,SQLSERVER用的是T-SQL,另外MYSQL、ACCESS、DB2的SQL都有各自的一些区别。具体区别你可以去找相关的资料去查阅。
结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;
各种不同的数据库对SQL语言的支持与标准存在着细微的不同,这是因为,有的产品的开发先于标准的公布,另外,各产品开发商为了达到特殊的性能或新的特性,需要对标准进行扩展。已有100多种遍布在从微机到大型机上的数据库产品SQL,其中包括DB2、SQL/DS、ORACLE、INGRES、SYBASE、SQLSERVER、DBASEⅣ、PARADOX、MICROSOFTACCESS等
为了在各个数据库厂商之间取得更大的统一性,美国国家标准学会(American NationalStandards Institute,ANSI)于1986年发布了第一个SQL标准,并于1989年发布了第二个版本,该版本已经被广泛地采用。ANSI在1992年更新了SQL标准的版本,即SQL92和SQL2,并于1999年再次更新为SQL99和SQL3标准。在每一次更新中,ANSI都在SQL中添加了新特性,并在语言中集成了新的命令和功能。
对于各种数据库产品,ANSI标准规范化了很多SQL行为和语法结构。随着开源数据库产品(例如MySQL、mSQL和PostgreSQL)日渐流行并由虚拟团队而不是大型公司开发,这些标准变得更加重要。
现在,SQL标准由ANSI和国际标准化组织(International Standards Organization,ISO)作为ISO/IEC 9075标准维护。最新发布的SQL标准是SQL:2008,下一版本的发布工作已经在进行之中,它将包含RDBMS在收集或分发数据方式上的新发展。
结构化查询语言(en:Structured Query Language,缩写为SQL),一种编程语言,用于数据库中的标准数据查询语言,IBM公司最早使用在其开发的数据库系统中。
1986年10月,美国国家标准学会(ANSI)对SQL进行规范后,以此作为关系式数据库管理系统的标准语言(ANSI X3. 135-1986),1987年得到国际标准组织的支持下成为国际标准。不过各种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充。
所以,实际上不同数据库系统之间的SQL不能完全相互通用。
绛旓細4. 鏁版嵁鎺у埗锛歋QL鎻愪緵浜嗘暟鎹畬鏁存у拰鏁版嵁瀹夊叏鎬ф満鍒讹紝鍏佽鐢ㄦ埛绠$悊鏁版嵁搴鐨勬潈闄愬拰璁块棶鎺у埗銆備笁銆丼QL鐨勭壒鐐 1. 鏍囧噯鍖栵細SQL鏄涓绉鏍囧噯璇█锛屼笉鍚岀殑鏁版嵁搴撶郴缁熼兘鏀寔瀹冦傝繖浣垮緱寮鍙戣呭彲浠ヤ娇鐢ㄧ浉鍚岀殑SQL璇彞鍦ㄤ笉鍚岀殑鏁版嵁搴撶郴缁熶腑鎵ц鎿嶄綔銆2. 绠鍗曟槗鐢細SQL璇█璁捐鐩磋锛屾槗浜庡涔犮傚叾璇硶绠娲佹槑浜嗭紝浣垮緱...
绛旓細涓嶅ソ鎰忔濓紝涓嶇煡閬撲綘璇寸殑sql鍏蜂綋鏄粈涔堬紝涓鑸潵璇磗ql閮芥槸浣滀负涓绉璁块棶鏁版嵁搴鐨勮瑷锛宻ap閲岄潰鍐呭祵浜唖ql璇彞锛屼綘鐨勬暟鎹槸閫氳繃sap涓嬭浇鐨勶紝鍏跺疄灏辨槸閫氳繃sap鍐呭祵鐨剆ql璇彞浠庢暟鎹簱涓彇寰楃殑銆傜敱浜巗ap閲岄潰浜嗘湁涓氬姟鍏崇郴鍜宻ql璇彞锛屼綘涓嶉渶瑕佸啀涓撻棬浣跨敤鍒殑sql杞欢寮鍙戞柊鐨sql璇█鐨勭▼搴忓彇寰楁暟鎹簱鏁版嵁锛堣繖涓暟鎹簱鏄...
绛旓細mysql鍜sql涓鏍风殑鍖哄埆 MySQL鏄涓绉RDBMS锛屽畠鍏佽淇濇寔鏁版嵁搴涓瓨鍦ㄧ殑鏁版嵁MySQL鐨勫彂闊充负鈥滄垜鐨凷QL鈥濓紝浣嗗畠涔熻绉颁负鈥滄垜鐨勭画闆嗏濆畠浠ヨ仈鍚堝垱濮嬩汉Michael锛學idenius鐨勫コ鍎跨殑鍚嶅瓧鍛藉悕MySQL鎻愪緵瀵规暟鎹簱鐨勫鐢ㄦ埛璁块棶锛屽湪Linux鍙戣鐗堜箣涓婏紝姝DBMS绯荤粺涓嶱HP鍜孉pache锛學eb銆丼erver鐨勭粍鍚堜竴璧蜂娇鐢∕ySQL浣跨敤SQL璇█鏉...
绛旓細SQL锛圫tructured Query Language锛夋槸涓绉鐢ㄤ簬绠$悊鍏崇郴鍨鏁版嵁搴鐨勬爣鍑嗗寲鏌ヨ璇█銆傚畠鏄竴绉嶇壒瀹氱殑缂栫▼璇█锛屼笓闂ㄧ敤浜庢墽琛屾暟鎹簱鎿嶄綔锛屽寘鎷暟鎹殑鏌ヨ銆佹彃鍏ャ佹洿鏂板拰鍒犻櫎绛夈係QL鏄竴绉嶅0鏄庢ц瑷锛屽畠閫氳繃缂栧啓缁撴瀯鍖栫殑鏌ヨ璇彞鏉ユ弿杩伴渶瑕佷粠鏁版嵁搴撲腑鑾峰彇鐨勬暟鎹傚畠涓嶆槸涓绉嶉氱敤鐨勭紪绋嬭瑷锛岃屾槸涓绉嶇敤浜庢搷浣滃拰...
绛旓細鑰sql server鏄涓绉嶆暟鎹簱绠$悊绯荤粺锛屾槸涓涓暟鎹簱杞欢鎴栧簲鐢ㄧ▼搴忋2銆佺洰鐨勪笂锛歋QL鐢ㄤ簬璁块棶锛屾洿鏂板拰鎿嶄綔鏁版嵁搴撲腑鐨勬暟鎹紱鑰岋紝sql server鏄暟鎹簱绠$悊绯荤粺锛屽畠鍏佽淇濇寔鏁版嵁搴撲腑瀛樺湪鐨勬暟鎹3銆佹洿鏂颁笂锛歋QL鐨勮瑷鏄浐瀹氱殑锛屽懡浠や繚鎸佷笉鍙橈紱鑰岋紝sql server鍙互鑾峰緱棰戠箒鐨勬洿鏂般4銆佷娇鐢ㄤ笂锛氳瀛︿範SQL璇█浜...
绛旓細sql璇█鍏锋湁鏁版嵁瀹氫箟銆佹暟鎹搷绾靛拰鏁版嵁鎺у埗鐨勫姛鑳姐俿ql鏄竴绉嶇壒娈婄洰鐨勭殑缂栫▼璇█锛屾槸涓绉嶆暟鎹簱鏌ヨ鍜岀▼搴忚璁¤瑷锛岀敤浜庡瓨鍙栨暟鎹互鍙婃煡璇佹洿鏂板拰绠$悊鍏崇郴鏁版嵁搴撶郴缁熴傝韩澶勪簰鑱旂綉琛屼笟锛SQL 鍙兘鏄綘闇瑕佹帉鎻$殑鏍稿績鎶鑳戒箣涓銆傛渶鏃╃殑鏃跺欙紝SQL 浣滀负涓闂ㄦ煡璇㈡暟鎹簱鐨勮瑷锛屾槸绋嬪簭鍛樼殑蹇呭鎶鑳斤紝杩愮淮銆佸紑鍙戙乄eb ...
绛旓細Access鐣岄潰鍙嬪ソ銆佹槗鎿嶄綔绛夈備竴鑸敤瀹冩潵鍒朵綔澶勭悊鏁版嵁鐨勬闈㈢郴缁熴傚畠涔熷父琚敤鏉ュ紑鍙戠畝鍗曠殑WEB搴旂敤绋嬪簭锛屼絾褰撹褰曡揪鍒10涓囨潯鎴栧叾鏁版嵁搴杈惧埌50M瀹冪殑鎬ц兘灏变細鏋佸叿涓嬮檷銆SQL Server鎿嶄綔绠鍗曪紝鍔熻兘寮哄ぇ锛岃屼笖瀹冩彁渚涗簡鍏嶈垂鐗堢殑EXPRESS鐗堟湰锛屽彈鍒板ぇ澶氭暟涓皬浼佷笟鐨勯潚鐫愩侽rcle鍦ㄦ暟鎹簱绠$悊鍔熻兘銆佸畬鏁存ф鏌ャ佸畨鍏ㄦс...
绛旓細SQL锛圫tructured Query Language锛夋槸涓绉涓撻棬鐢ㄦ潵涓鏁版嵁搴杩涜浜や簰鐨勭紪绋嬭瑷锛屽畠鍏佽鐢ㄦ埛鎵ц濡傛暟鎹煡璇佹洿鏂般佹彃鍏ャ佸垹闄ょ瓑鎿嶄綔銆SQL璇█鐨勪紭鐐逛富瑕佸寘鎷細鏍囧噯鍖栵細SQL閬靛惊鍥介檯鏍囧噯鍖栫粍缁囷紙ISO锛夌殑SQL鏍囧噯锛岃繖鎰忓懗鐫涓嶅悓鏁版嵁搴撶鐞嗙郴缁燂紙濡侻ySQL銆丳ostgreSQL銆丱racle绛夛級涔嬮棿鍏锋湁鑹ソ鐨勪簰鎿嶄綔鎬э紝缂栧啓鐨凷QL璇彞...
绛旓細SQL鏄寚鈥缁撴瀯鍖栨煡璇㈣瑷鈥濇槸涓绉鎿嶄綔鏁版嵁搴鐨勮瑷锛屽寘鎷垱寤烘暟鎹簱銆佸垹闄ゆ暟鎹簱銆佹煡璇㈣褰曘佷慨鏀硅褰曘佹坊鍔犲瓧娈电瓑銆係QL鏄叧绯诲瀷鏁版嵁搴撶殑鏍囧噯璇█锛屾墍鏈夌殑鍏崇郴鍨嬫暟鎹簱绠$悊绯荤粺锛圧DBMS锛夛紝姣斿MySQL銆丱racle銆丼QL Server銆丮S Access銆丼ybase銆両nformix銆丳ostgres绛夛紝閮藉皢SQL浣滀负鍏舵爣鍑嗗鐞嗚瑷銆係QL鏄竴绉嶉珮绾...
绛旓細鐜板湪璇翠笅浠栦滑鐨勫尯鍒惂锛SQL鏄涓绉鏁版嵁搴撴搷浣滆瑷锛汼QL鏄竴绉嶆暟鎹簱锛丼QL鍙兘杩愯鍦╳in绯诲垪锛岃孨YSQL鍙繍琛寃in绯诲垪,.杩樻湁linux涓巙nix绛夌郴缁 璇︾粏浠嬬粛涓よ咃細MySQL鏄竴涓湡姝g殑澶氱敤鎴枫佸绾跨▼SQL鏁版嵁搴撴湇鍔″櫒銆係QL锛缁撴瀯鍖栨煡璇㈣瑷锛夋槸涓栫晫涓婃渶娴佽鐨勫拰鏍囧噯鍖栫殑鏁版嵁搴撹瑷銆侻ySQL鏄互涓涓鎴锋満/鏈嶅姟鍣ㄧ粨鏋...