SQL:StructureQueryLanguage结构化查询语言,它是使用关系模型的数据库应用语言,由IBM上世纪70年代开发出来。后由美国国家标准局(ANSI)开始着手制定SQL标准,先后有SQL-86,SQL-89,SQL-92,SQL-99等标准。
1、SQL的语言规范
mysql对于SQL语句不区分大小写,SQL语句关键字尽量大写[I1]
值,除了数值型,字符串型和日期时间类型使用单引号(’’)
别名,尽量使用双引号(“”),而且不建议省略as
所有标点符号使用英文状态下的半角输入方式
必须保证所有(),单引号,双引号是成对结束的
可以使用(1)#单行注释(2)--空格单行注释(3)/*多行注释*/
命名规则:
数据库、表名不得超过30个字符,变量名限制为29个
必须只能包含A–Z,a–z,0–9,_共63个字符
不能在对象名的字符间留空格
必须不能和用户定义的其他对象重名
必须保证你的字段没有和保留字、数据库系统或常用方法冲突
保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性。假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了
在命令行中的要求:
说明:一个语句可以分开多行编写,以;或\g结束
2、SQL分类
SQL的分类:
DDL(DataDefinitionLanguages):数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象。
主要的语句关键字包括create、drop、alter等。
DML(DataManipulationLanguage):数据操作语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性。
主要的语句关键字包括insert、delete、update、select等。
DCL(DataControlLanguage):数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。
主要的语句关键字包括grant、revoke等。
关于SQL的关键字和函数名等不区分大小写,但是对于数据值是否区分大小写,和字符集与校对规则有关。
_ci(大小写不敏感),_cs(大小写敏感),_bin(二元,即比较是基于字符编码的值而与language无关)