还剩2页未读,继续阅读
文本内容:
•、MySql中常用的DML(数据管理语言)
1、向表中增加数据Insertinto表名(字段列表)values(值列表)示例如下(向学生表中插入数据)INSERTINTOstudent(snamesexaddressbirthdayclassid)VALUES(黄忠男「长沙71998-12-」);
2、表中数据的修改Update表名set字段1=值1…7字段n=值nwhere条件表达式1[and或者or]条件表达式2示例如下修改学生姓名为赵云的班级编号为3修改学生赵云的班级编号为3UPDATEstudentSETclassid=3WHEREsname=赵云;修改学生编号为2的学生姓名为貂蝉、性别为女地址为米脂UPDATEstudentSETsname二貂蝉,sex=女)address=米脂WHEREsid=2;修改学生编号为2的学生姓名为和蝉、嗜别为女地坨为米脂UPDATEstudentSETsname=貂贞单Isex-女address=米月旨WHEREsid=2;t2个或置文件个3信息回4表额据■2信息I但读)T期由觑通电藕回国/口限制行第一行◄[
03、删除表中的数据deletefrom表名[where条件];注意没有条件的删除,则会删除整张表的记录信息示例如下删除学生编号为3的学生信息(但当表中数据被其他表引用,则不能删除)DELETEFROMstudentWHEREsid=3;注意当表中记录被其他表引用,则该表的记录不能被删除,出现引用参照错误(外键关联异常)如果删除主表数据,则需要先删除子表数据,再删除主表数据
二、MySql的DQL语句(查询语言)
1、查询表中所有记录Select字段列表(或者*)from表名;示例SELECT*FROMstudent;
2、按照指定的条件对表中的记录进行查询Select*from表名where条件表达式1(and或者or)条件表达式
2...;查询班级编号为1的所有学生信息SELECT*FROMstudentWHEREclassid=l;查询班级编号为1并且,学生姓名为张飞的学生信息SELECT*FROMstudentWHEREclassid=lANDsname=张飞
3、设置字段和表的别名的查询Select表别名.字段las别名1…,表别名.字段nas别名nfrom表名表别名[where条件]示例如下使用别名查询表中数据,其中s为student表的别名SELECTs.sid编号s.sname姓名s.sex性别s.address地址s.birthday生日s.classic1班级FROMstudents;
4、聚合函数(sum、avgminmaxcount)Select聚合函数(字段)from表名;注意:sum、avgmin、max只能够对数值型字段进行统计操作示例如下#统计学生的数量SELECTCOUNT(*)学生数量FROMstudent;
5、子查询将一个查询作为另一个查询的查询条件进行的查询方式Select字段列表from表名where字段(二或者in)(select查询语句);示例#和张飞再同一个班级的所有学生信息/*先获取张飞所在的班级编号,然后再父查询中根据班级编号获取所有的同班级学生信息*/SELECT*FROMstudentsWHEREs.classid=(SELECTclassic!FROMstudentWHEREsname=张飞);
6、分页查询Select*from表名[where条件][orderby排序字段]limit起始记录每次获取的记录数;/**按照每页2条记录查询学生信息起始记录二(当前页数-1)*每页记录数*/第一页SELECT*FROMstudentsWHERE1=1ORDERBYsidLIMIT02;第2页SELECT*FROMstudentsWHERE1=1ORDERBYsidLIMIT22;第3页SELECT*FROMstudentsWHERE1=1ORDERBYsidLIMIT42;
7、分组统计查询Select分组字段聚合函数(统计字段)from表名[where条件]groupby分组字段[hiving按照聚合函数(统计字段)条件表达式进行过滤][orderby字段desc或者asc]示例如下统计每个班级的人数SELECTclassic!班级编号工OUNT(*)班级人数FROMstudentWHERE1=1GROUPBYclassid;
8、表连接⑴内连接,根据主外键字段进行的连接,获取的是交集中的数据语法Select字段列表from表1join表2on表
1.主键或者外键字段二表
2.主键或者外键字段示例如下查询学生信息,并显示学生所在的班级名称SELECTs.*c.cnameFROMstudentsJOINclazzcONs.classid=c.cid;查询学生的课程,显示学生姓名和课程名称SELECTsc.*s.snamec.coursenameFROMstucoursescstudentscoursecWHEREsc.sid=s.sidANDsc.csid=c.courseidORDERBYsc.sid;2左外连接和右外连接查询Select*from表1left或者rightjoin表20n表L字段二表
2.字段此种查询方式是以左表或者右表为基准查询表中的记录示例如下查询班级中所有的学生信息、,如果班级没有学生,则显示班级的名称SELECTc.cnameS.*FROMclazzcLEFTJOINstudentsONc.cid=s.classic!;.dsnamesexaddressbirthdayolassid1张飞男北京1998-12-11jJ12貂蝉米脂1991-11-1113关羽运城1995-12-1114赵云常山1998-12-1135黄忠长沙1998-12-111。