1 数据库概述与MySQL环境搭建
1.1 数据库概述
1.2 MySQL环境搭建(基于Windows平台)
1.3 SQL概述[蜡烛]
1.3 SQL概述
1.3.1 什么是SQL
SQL全称结构化查询语言(Structured Query Language),由IBM上世纪70年代开发,后由美国国家标准局(ANSI)开始着手制定SQL标准,先后有SQL-86,SQL-89,SQL-92,SQL-99等标准。
结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;严格说SQL语句是对数据库进行操作的一种编程语言。
另外,为了使各类RDBMS数据库的SQL能够兼容,大部分的数据库的SQL都符合ANSI的SQL标准。不过,不同的数据库管理系统在其实践过程中都对sql规范做了编改和扩充.实际上,不同数据库管理系统之间的sql语言不能完全相互通用.(oracle PL/SQL SQL Server T-SQL)
1.3.2 ANSI标准
1986年:SQL-87最初由ANSI于1986年正式确定。
1989年:美国国家标准协会(ANSI)发布了第一套数据库查询语言标准,称为SQL-89或FIPS 127-1。
1992年:ANSI发布了修订后的标准ANSI / ISO SQL-92或SQL2,它们比SQLI更严格,增加了一些新功能。这些标准引入了合规水平,表明方言符合ANSI标准的程度。
1999年:ANSI发布SQL3或ANSI / ISO SQL:1999,具有新功能,如对对象的支持。取代了核心规范的合规水平,以及另外9个封装的附加规格。
2003年:ANSI发布SQL:2003,引入标准化序列,XML相关功能和标识列。第一个RDBMS的创建者EFCodd博士于同年4月18日去世。
2006年:ANSI发布SQL:2006,定义如何将SQL与XML结合使用,并使应用程序能够将XQuery集成到现有的SQL代码中。
2008年:ANSI发布SQL:2008,引入INSTEAD OF触发器以及TRUNCATE语句。
2011年:ANSI发布SQL:2011或ISO / IEC 9075:2011,ISO(1987)的第七个修订版和SQL数据库查询语言的ANSI(1986)标准。
1.3.3 SQL语言组成
SQL语言是具有强大查询功能的数据库语言.除此以外,SQL语言还可以控制DBMS为其用户提供以下功能:
- 数据库定义语言(DDL):sql语言允许用户定义存储数据的结构和组织,以及存储数据项之间的关系.(create/drop/truncate/alter/rename)
- 数据检索语言(DQL):sql允许用户或应用程序从数据库中检索存储的数据并使用.(select)
- 数据操纵语言(DML):sql语言允许用户或应用程序通过添加,删除,修改数据对数据库进行更新.(insert/update/delete)
- 数据控制语言(DCL):可以使用sql语言来限制用户检索,添加和修改数据的能力,保护存储的数据不被未授权的用户访问.(commit/rollback/savepoint/grant/rovoke)
- 数据共享:可以使用sql来协调多个并发用户共享数据,确保他们不会相互干扰.
- 数据完整性:sql语言在数据库中定义完整性约束条件,使他不会因为不一致的更新或系统失败而遭到破坏.
1.3.4 SQL语言规则与规范
1.3.4 1 规则:必须遵守
- SQL可以写在一行或者多行,为了提高可读性,各子句分行写,必要时使用缩进
- 每条命令以 ; 或 \g 或 \G 结束
- 关键字不能被缩写也不能分行
- 一次可提交多条语句(select now();select now();)
- 关于标点符号
- 必须保证所有的()、单引号、双引号是成对结束的
- 必须使用英文状态下的半角输入方式
- 字符串型和日期时间类型的数据可以使用单引号(' ')表示,建议使用单引号,因为在SQL_MOE=ANSI_QUOTES模式下,双引号另有它用(可替代反引号),设置ANSI_QUOTES后,使用双引号("")作为标识符的引号。
- 列的别名,尽量使用双引号(" "),而且不建议省略as
1.3.4 2 规范:建议遵守
- MySQL在Windows环境下是大小写不敏感的(SQL_MODE严格模式下,过滤条件区分大小)
- MySQL在Linux环境下是大小写敏感的(SQL_MODE严格模式下,过滤条件区分大小)
- 数据库名、表名、表的别名、变量名是严格区分大小写的
- 关键字、函数名、列名(或字段名)、列的别名(字段的别名) 是忽略大小写的。
- SQL语法中where子句是区分大小的,但MySQL执行比较宽松,Oracle执行严格.(如where a='King',Mysql认为King与king一致.)
- 推荐采用统一的书写规范:
- 数据库名、表名、表别名、字段名、字段别名等都小写
- SQL关键字、函数名、变量等都大写
1.3.5 标识符命名规则
- 长度限制:数据库、表名不得超过30个字符,变量名限制为29个
- 字符范围限制:必须只能包含 A–Z, a–z, 0–9, _共63个字符
- 数据库名、表名、字段名等对象名中间不要包含空格
- 同一个MySQL软件中,数据库不能同名;同一个库中,表不能重名;同一个表中,字段不能重名
- 必须保证你的字段没有和保留字、数据库系统或常用方法冲突。如果坚持使用,请在SQL语句中使用``(着重号)引起来
- 保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性。假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了.
- 更多规则,可参考行业标杆指定的标准.(如阿里JAVA开发手册中,就有记录MySQL字段命令的规则)
1.1.3.6 注释
单行注释:# 注释文字
单行注释:-- 注释文字 (--需带空格)
多行注释:/* 注释文字 */
扩展知识:
1.MySQL 中的单引号、双引号、反引号
https://www.cnblogs.com/keye/p/15166061.html
2.阿里Java开发手册(嵩山版)之MySQL命令规则
https://developer.aliyun.com/ebook/394?spm=a2c6h.20345107.ebook-index.23.46287863VALtPG
3.编程语言排行
https://www.tiobe.com/tiobe-index/
文章为用户上传,仅供非商业浏览。发布者:Lomu,转转请注明出处: https://www.daogebangong.com/articles/detail/di-yi-zhang-shu-ju-ku-gai-shu-yu-MySQL-huan-jing-da-jian-SQL-gai-shu.html
评论列表(196条)
测试