MySQL_SQL语法及其使用

上传人:我*** 文档编号:134429675 上传时间:2020-06-05 格式:PPT 页数:70 大小:15.39MB
返回 下载 相关 举报
MySQL_SQL语法及其使用_第1页
第1页 / 共70页
MySQL_SQL语法及其使用_第2页
第2页 / 共70页
MySQL_SQL语法及其使用_第3页
第3页 / 共70页
MySQL_SQL语法及其使用_第4页
第4页 / 共70页
MySQL_SQL语法及其使用_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《MySQL_SQL语法及其使用》由会员分享,可在线阅读,更多相关《MySQL_SQL语法及其使用(70页珍藏版)》请在金锄头文库上搜索。

1、MySQLSQL语法及其使用 MySQL支持的SQL语句的分类 数据库的选取 创建 丢弃和变更USECREATEDATABASEDROPDATABASEALTERDATABASE 数据表及索引的创建 变更和丢弃CREATETABLEDROPTABLECREATEINDEXDROPINDEXALTERTABLE 获得关于数据库和数据表的信息DESCRIBESHOW 从数据表中检索信息SELECTUNION 事务处理BEGINCOMMITROLLBACKSETAUTOCOMMIT 对数据表里的信息进行检索DELETEINSERTLOADDATAREPLACEUPDATE 管理性语句FLUSHGRA

2、NTREVOKE 考试计分项目 student数据表 score数据表 event数据表 absence数据表 3 1数据库的选定 创建 丢弃和变更 数据库的选定usedb name use语句选定一个数据库并将它当作MySQL指定服务器连接上的默认 当前 数据库 即使已经将某个数据库选定为当前的默认数据库 也可以通过db name tbl name形式的名字去访问其它数据库中的数据表 select fromdb name tbl name 数据库的创建createdatabasedb name 数据库的丢弃dropdatabasedb name 数据库的变更alterdatabasedb n

3、amedefaultcharactersetcharset 3 2数据表的创建 丢弃 索引和变更数据表的创建CREATETABLEstudent nameVARCHAR 20 NOTNULL sexENUM F M NOTNULL student idINTUNSIGNEDNOTNULLAUTO INCREMENT PRIMARYKEY student id CREATETABLEscore student idINTUNSIGNEDNOTNULL event idINTUNSIGNEDNOTNULL PRIMARYKEY event id student id scoreINTNOTNULL

4、 CREATETABLEevent dateDATENOTNULL typeENUM T Q NOTNULL event idINTUNSIGNEDNOTNULLAUTO INCREMENT PRIMARYKEY event id CREATETABLEabsence student idINTUNSIGNEDNOTNULL dateDATENOTNULL PRIMARYKEY student id date 数据表的丢弃droptabletbl name 数据表的索引MySQL能够创建以下几种类型的索引 1普通索引2唯一化索引3供全文本使用的FULLTEXT索引创建索引的方法1使用creat

5、etable语句在创建一个数据表的同时创建索引2使用createindex语句创建索引createindexindex nameontbl name index columns createuniqueindexindex nameontbl name index columns createfulltextindexindex nameontbl name index columns 3使用altertable语句将索引添加到现在的数据表上去altertabletbl nameaddindexindex name index columns altertabletbl nameadduniq

6、ueindex name index columns altertabletbl nameaddpriamrykey index columns altertabletbl nameaddfulltext index columns 索引的丢弃dropindexindex nameontbl name altertabletbl namedropindexindex name 变更数据表的结构重命名数据表altertabletbl namerenametonew tbl name 改变数据列类型altertabletbl namemodifycolumns 3 3获取关于数据库和数据表的信息列

7、出服务器管理着的数据库showdatabases 列出当前或指定数据库里的数据表 showtables showtablesfromdb name 显示有关数据表中的数据列或索引信息showcolumnsfromtbl name showindexfromtbl name 显示关于当前数据库或指定数据库中数据表的描述信息showtablestatus showtablestatusfromdb name 显示与数据表的当前结构相对应的createtable语句showcreatetabletbl name 3 4插入 删除 修改数据记录 插入数据记录可以一次性列出全部的数据insertinto

8、tbl namevalues value1 value2 可以用一条insert语句将多个数据行插入到数据表中去insertintotbl namevalues 可以直接对数据列进行赋值 先给出数据列的名字 再列出它的值insertintotbl name col name1 col name2 values value1 value2 删除数据记录deletefromtbl namewherewhere expr 修改数据记录updatetbl namesetwhichcolumnstochangewherewhichrecordtoupdate 3 5数据查询 SELECT selcet

9、options select list FROMtbl list WHEREwhere expr ORDERBY col name ASC DESC HAVINGwhere expr ORDERBY col name ASC DESC LIMIT skip count SHOW COUNT 注意 1 可以生成统计信息 2 通配符号 匹配单个的任意字符 能匹配任何一个字符序列 包括空序列在内 涉及多个数据表的查询操作SELECT语句的基本语法SELECTselection list 选择哪些数据列FROMtable list 从哪些数据表选择数据行WHEREprimary constraint

10、数据行必须满足哪些条件GROUPBYgrouping colums 如何对结果分组ORDERBYsorting columns 如何对结果进行排序HAVINGsecondary constraint 数据行必须满足的次要条件LIMITcount 对结果个数的限制正确写出一个查询的关键是怎样才能把个有关数据表按正确的顺序关联起来 单关联查询只设计一个数据表mysql SELECT FROMstudent 全关联在SELECT语句的FROM子句给出了多个数据表的名字关联操作JOIN或 SELECTstudent id date score typeFROMeventjoinscoreWHEREda

11、te 20020906ANDtype Q ANDevent event id score event id 结果示例SELECTstudent name event date score score event typeFROMevent score studentWHEREevent date 20020916ANDevent event id score event idANDscore student id student student id 结果示例 课内练习 查询缺勤学生的姓名和缺勤次数SELECTstudent student id student name count abse

12、nce date asabsencesFROMstudent absenceWHEREstudent student id absence student idGROUPBYstudent student id 结果示例 左关联 右关联 LEFTJOIN的工作情况 首先 要指定一个或多个用来匹配的两个数据表里的数据行的数据列 当左数据表里的某个数据行与右数据表里的某个数据行相匹配时 这两个数据行的内容将被选取为一个输出行 当左数据表里的某个数据行在右数据表里没有找到任何匹配时 它也将被选取为一个输出行 但这时它将与右数据表里的一个 伪造 数据行 这个 伪造 数据行的所有数据列都将被设置为NUL

13、L 进行组合 DELETEFROMscoreWHEREstudent id 19 SELECTstudent score FROMstudentLEFTJOINscoreONstudent student id score student id 结果示例 左关联能够将左数据表有的 而在右数据表中没有匹配的数据行找出来SELECTstudent FROMstudentLEFTJOINscoreONstudent student id score student idWHEREscore scoreISNULL 结果示例 课堂练习 找出考试缺勤的同学 以便安排补考SELECTstudent stu

14、dent id student name event event id event date event typeFROMstudent eventLEFTJOINscoreONstudent student id score student idANDevent event id score event idWHEREscore scoreISNULLORDERBYstudent student id event event id 结果示例 使用子选择 从MySQL4 1版本才开始支持 允许将一个SELECT查询嵌套在另一个SELECT查询当中SELECT FROMscoreWHEREeve

15、nt idIN SELECTevent idFROMeventWHEREtype Q 结果示例使用子选择来生成一个参考值由内层的SELECT语句来检索出一个数据值 然后把这个数据值用在外层SELECT语句的比较操作中 SELECT FROMscoreWHEREevent id SELECTevent idFROMeventWHEREdate 20020923ANDtype Q 结果示例EXISTS和NOTEXISTSIN和NOTIN EXISTS和NOTEXISTS子选择这两种形式的子选择将把由外层查询检索到的数据值传递给内部查询 看它们是否满足内层查询所给出的匹配条件 EXISTS和NOTE

16、XISTS子选择非常适合用来检索某个数据表在另一个数据表里有或者没有匹配的记录 SELECT FROMstudentWHEREEXISTS SELECT FROMscoreWHEREstudent student id score student id 结果示例SELECT FROMstudentWHERENOTEXISTS SELECT FROMscoreWHEREstudent student id score student id 结果示例 IN和NOTIN子选择在IN和NOTIN子选择里 内层SELECT语句应该返回且只返回一个数据列 这个数据列的值将由外层SELECT语句中的比较操作进行求值 SELECT FROMstudentWHEREstudent idIN SELECTstudent idFROMscore SELECT FROMstudentWHEREstudent idNOTIN SELECTstudent idFROMscore 可以将子选择改写为关联查询 1 匹配型子选择查询的改写SELECT FROMtable1WHEREcolumn1IN SELECTcol

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号