SQL入门基础语法.docx

上传人:李司机 文档编号:7189144 上传时间:2024-06-29 格式:DOCX 页数:12 大小:19.58KB
返回 下载 相关 举报
SQL入门基础语法.docx_第1页
第1页 / 共12页
SQL入门基础语法.docx_第2页
第2页 / 共12页
SQL入门基础语法.docx_第3页
第3页 / 共12页
SQL入门基础语法.docx_第4页
第4页 / 共12页
SQL入门基础语法.docx_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《SQL入门基础语法.docx》由会员分享,可在线阅读,更多相关《SQL入门基础语法.docx(12页珍藏版)》请在三一办公上搜索。

1、1 .唯一索引:在数据表中运用UNIQUE可以为一个数据列定义一个唯索引,唯一索引中的每个索引值只对应数据表中的条记录,保证了数据列中记录的唯一性2 .主索引:在数据表中运用PRIMARYKEY可以为一个数据列定义一个主索引,所谓的主索引就是在主键列中建立索引3 .单列索引:定义在数据表中一个数据列上的索引就是单列索引,一般在数据查询时,假如WHERE子句中常常用到的数据表中的某一列作为查询条件,就可以把该列创建为单列索引4 .复合索引:索引可以定义在一个数据表的多个数据列匕像这样的索引被称为复合索引5 .聚簇索引:创建与删除索引CREATEUNIQUEC1.USTERINDEXindex_n

2、ameONtableJrlame(COlUmn_name排序方式)排序:关键字ASC表示升序排列,关健字DESC表示降序排列修改数据库中的表6 -向表中增加一列A1.TERTAB1.Etable_nameDD(column-namedatatypeconstraint-condition)例如:A1.TERTAB1.ET_teacherADDsalaryINTNOTNU1.1.2.增加个约束1.TERTAB1.Etable_nameADDconstraint_type(column-name)例如:A1.TERTAB1.EdeptADDPRIMARYKEY(deptJD)3增加一个索引A1.T

3、ERTAB1.Etable_nameADDINDEX(COIUmn_name1,column_name2)例如:A1.TERTAB1.ET_curriculumADDINDEXi-crcdit(credit)4 .修改表中的某一列A1.TERTAB1.Etable-nameMODIFYCOlUmn_namedatatype例如:A1.TERTAB1.ET_studentMODIFYsexCHAR(2)5 .删除表中的某一列A1.TERTAB1.Etable_nameDROPcolumn_name6 .删除一个约束条件A1.TERTAB1.Etable_nameDROPconstraint_ty

4、pe7 .删除数据库中的表DROPTAB1.Etable.nameCASCADECONSTRAINTS删除表时要运用CASCADECONSTRAlNTS级联删除从表中的外键约束数据的杳询操作查泡全部列的数据记录SE1.ECT*FROMtable_nameorview_name,table_namelorview_namel杳询表中指定的列SE1.ECT目标列,目标列FROM表名或者视图名,表名或者视图名在SE1.ECT语句中查询数据表或者视图指定的列时,在SE1.ECT语句中指定的列名必需是指定的数据表或者视图中存在的列查泡表中不重发的汜录SE1.ECTDISTINCT目标列,目标列FROM表

5、名或者视图名,表名或者视图名运用列别名查询SE1.ECT目标列AS列别名,目标列AS列别名FROM表名或者视图名,表名或者视图名1在SE1.ECT语句中运用列别名的形式对数据表或者视图查询时,可以再在杳询的列名后面运用一个空格键来代替AS,空格后面再跟上列别名的名字。假如列别名对字母大小写微感,或者在运用包含有空格或者特别字符的列别名,则必需运用堂引号或者双引号将其引起来,否则系统将报错对查询的记录进行运算SE1.ECT语句还可以运用算数运算符对指定的列进行运算,其中算术运算符包括加减乘除以与模除,在SE1.ECT语句中对指定的列进行算术运算符进行运算时,只会变更显示的结果,并不会变更数据表中

6、列在SQ1.语句中,假如在WHERE子句中比较的时整数型数据,则可以不用运用单引号,假如比较的时其他的数剧类型,如字符串、口期等,则必需用单引号引起来,另外,WHERE子句中比较运算符的左侧和右侧的数据类型必需是类型兼容的BETWEENAND运算符字段1BETWEEN值1AND值2在SQ1.中运用BETWEENAND运算符可以查询指定条件您用的记录,也可以运用NOTBETWEENAND运算符来解除一些记录IN运算符查询与列表匹配的记录字段1IN(属性值1,属性值2)在SQ1.语句中也可以运用NOTIN来解除一些汜录SE1.ECTteaID,tcaNamc,age,scx,dcptFROMT_t

7、eacherWHEREdePtIN(计算机系,数学系)字符串比较运用比较运算符对字符串进行比较在运用比较运算符对字符串进行查询和比较时,有的数据库须要区分大小写,如ORAC1.E,但是在MSSQ1.SERVER和MYSQ1.中不区分,为了避开由于不留意字符申大小写而查泡不到正确的结果,可以运用干将字符串转换为大小的函数UPPER1.OWER对字符串进行转换运用BlNARY关地字对字符串进行:进制比较BlNARY可将字符申转换为二进制对象再进行比较SE1.ECTStringl比较运算符BINARYstring2或者SE1.ECTBINARYStringl比较运算符string2逻辑杳询在SQ1.

8、中逻辑查询主要包括ANDORNOT三种ANDSE1.ECTstuID,StuName,age,sexFROMT_studentWHEREage20NDsex=男SQ1.语句中AND运算符两侧的条件必需都为TRUE,否则将显示FA1.SE运用OR运算符查询满意任条件的记录SE1.ECTteaID,teaName,age,sex,dept,professionFROMT_teacherWHEREage45,ORprofession=教授运用NOT运算符查询满意相反条件的记求在MSSQ1.SERVER中,运用代替NOT空值查询当运用NU1.1.杳询数据表中的记录是否为空时,不能运用比较运算符,只能是

9、用ISNU1.1.或者运用ISNOTNU1.1.,假如运用运算符对NU1.1.进行比较其杏询条件返回的结果始终是FA1.SE,也就是说运用比较运算符对NU1.1.值进行比较不会检索出任何结果运用1.lKE操作符实现模糊查泡匹配随意单个字符在SQ1.中,通配符表示堂个字符,一个只能表示一个字符SE1.ECTstuID,StuName,age,sex,birthFROMT_studcntWHEREStuID1.IKE*s3,(WHEREStuIDNOT1.IKE*s3*)MYSQ1.数据库中的1.IKE操作符进行匹配时,对字母的大小写不敏感匹配。个或者多个字符通配符“”表示。个或者多个字符SE1.

10、ECTstuID,StuName,age,sex,birthFROMT-studentWHEREStuName1.IKE王1.IKE关键字后面的匹配符必需运用单引号,对字母进行匹配时,还要留意区分大小写运用转义字符假如在查询时数据表中的某个字段中的字符值本身就包含了“”和这时就耍用到转义字符,用关辘字ESCAPE来转义,步骤:1 .在须要转义的“”字符前加一个转义符,该转义符可以是随意字符2 .在ESCAPE关键字后指定该转义字符的名称SE1.ECTdeptID,deptNameFROMT.deptWHEREdcptID1.IKE%$_%ESCAPE$运用REGEXP关键字进行模式匹配1. 用

11、来匹配字符串的起先2. $用来匹配字符申的结尾3U在方括号中的随意字符都可以匹配4. +表示用于匹配的该字符在匹配的字符申中出现至少一次或多次5. *表示用于匹配的该字符在匹配的字符串中出现零次或者多次6. 0括号中的内容将被看成是一个整体7. m整数m表示花括号中的字符串须要出现的次数表中数据的排序与分组运用GROUPBY子句对数据记隶进行排序指定表中的一列进行排序运用ORDERBY可对杳询的结果进行排序,ASC表升序,DESC表降序ORDERBYcolumn1(ASCDESCSE1.ECTteaID,teaName,dept,profession,salarj,FROMT_teacherO

12、RDERBYsalaryASC假如指定要排序的列中存在空值,则在升序排列中显示在最前,降序排列中显示在最终ORDERBY也可以放在WHERE子句后面SE1.ECTteaID,teaName,dept,profession,salarjrFROMT_teacherWHEREdept=,计算机系ORDERBYsalaryASC指定表中列的位置序陛进行排序SE1.ECTteaID,teaName,dept,profession,salarj,FROMT-teacherORDERBY5ASCsalary的位置是5,可以用5米代替对SE1.ECT语句中的非选择列进行排序运用ORDERBY子句中也可以对没

13、有在SE1.ECT中出现的选择列进行排序操作SE1.ECTteaID,teaName,dept,professionFROMT-teacherWHEREdcpt=*计算机系ORDERBYsalaryASC不过一般的状况下都会运用在SE1.ECT中出现的列进行排序,这样显得很直观指定数据表中的多列进行排序ORDERBY可以指定数据表中的多列进行排序操作,这时指定排序的列之间运用分号隔开ORDERBYcolumn1,column2SCDESClS1.EECTteaID,teaName,dept,profession,salaryFROMT_teacherORDERBYdept,salary运用OR

14、DERBY进行多列排序时,遵循以下规则:1 .依据ORDERBY指定的第列,依据指定的升序或者降序进行排序2 .当ORDERBY子句中指定的第列中出现相同的数据时,再依据ORDERBY指定的其次列的升序或者降序进行排列3 .当ORDERBY子句中指定的其次列中出现相同的数据时,再依据ORDERBY指定的第三列的升序或者降序进行排列,依次类推常用的聚合函数函数功能COUNT(列I表达式)计算给定列或者表达式中的非空行数COUNT(*)计算数据表中的总行数,包括空值MAX例I表达式)计算给定列或者表达式中的最大值MINOSUM(列I表达式)AVGO运用MYSQ1.数据库限制结果集行数1.IMITn

15、1.IMIToffset,n连接杳询与集合查询内连接杳询等值连接SE1.ECTtable_name1.column,table-name2.column-FROMtable_namel,table_name2WHEREtablenamel.column=tablename2.column运用连接杳询时可以运用可以采纳列别名的方式简化书写SE1.ECTA.column,B.columnFROMtable-namclA,tabIJnamC2BWHEREA.column=B.column;非等值连接,是指在连接查询时运用=!=!BETWEENAND运用ON子句建立相等连接在SQ1.语句中除了运用=建

16、立等值连接外,也可以运用ON子句建立等值连接SE1.ECT表名1.字段,表名2.字段FROM表名1,表名2ON表名1.字段=表名2.字段交叉连接交叉连接的结果是一个笛卡尔积SE1.ECT表名1.字段,表名2.字段FROM表名CROSSJOIN表名自连接查询自连接杳询用在同一表中的连接杳询操作SE1.ECTA.字段,B.字段FROM表名1A,表名2BWHEREA.字段=B.字段由于自连接运用的是同张表,所以在FRoM中须要为表定义不同的列别名外连接杳询外连接查询可以查询到不满意连接条件的部分记求左外连接SE1.ECT表名1.字段,表名2.字段FROM表名11.EFTJOIN表名2ON表名1.字段=表名2.字段右外连接RIGHTJOIN全外连接FU1.1.JOIN集合杳询UNIONINTERSECTMINUSSE1.ECT语句1UNION(INTERSECTORMINUS)SE1.ECT语句2在进行并操作时两个SE1.ECT语句中要查询的列对应的属性的个数和数据类型必需是相同的,否则系统将报错,在MYSQ1.中不支持INTERSECT和MINUS

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号