【文档说明】《MySQL数据库》课件.ppt,共(20)页,244.361 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-92246.html
以下为本文档部分文字说明:
MySQL数据库(一)课程目标•介绍MySQL数据库•掌握MySQL基本命令•掌握基础sql语法MySQLMySQL是目前最受欢迎的开源SQL数据库管理系统,由MySQLAB开发、发布和支持。MySQL是一个快速的、多线程、多用户和健壮的
SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,能够适用于大型项目。MySQL操作mysql–h主机名–u用户名–p密码登录mysqlshowdatabases;显示所有数据库use数据库名;连接数据库showtables;显示所有的表describ
e表名;显示表结构source文件路径;导入外部sql命令mysqldump-u用户名-p数据库名>文件名导出数据库数据定义语言•创建数据库createdatabase数据库名•删除数据库dropdatabaseifexists数据库名•创建表createtable表名
(列名数据类型(长度)[约束][默认值],);•删除表droptableifexists表名常用数据类型intsmallinttinyint整型int(m)m最大显示宽度floatdoubledecimal浮点数float(m,d)m数字总位数,d小数点
后位数charvarchartext文本char(m)m最大长度datedatetimetimestamp日期binaryvarbinary二进制字符串创建数据库和表•创建MySchool数据库•创建表:Students表自增列id(主键)
,学号,班级号,姓名,地址,生日Scores表自增列id(主键),学号(外键),科目,分数,考试日期基本sql语法•INSERTINTO表名(列名,列名)VALUES(‘值’,‘值')•UPDATE表名SET列=值[WHERE条件]•DELETEFROM表名[WHERE条件]•S
ELECT列FROM表名[WHERE条件]数据操作练习:•分别给students和scores表插入5行数据•更新学号’3g001’的学生生日为‘1989-4-12’•给学号’3g001’的数学分数加10分•删除id为1的学生
数据•查询两个表的数据查询SELECT列名列表FROM表名[WHERE查询条件][GROUPBY分组列][HAVING分组条件][ORDERBY排序列[ASC|DESC]][LIMIT行索引1,行索引2]查询条件•=<>><>=<=•an
d\orstu_id=‘3g001’andaddress=‘武汉’•between..and..birthdaybetween'1900-1-1'and'1992-1-1'•instu_idin(‘3g001’,’3g002’)•like通
配符(%代表任意长度字符,_代表一个字符)namelike‘张%’练习:•查询来自武汉或南昌的姓张的同学•查询class-1班分数在70到95之间的学生•查询姓名是三个字的学生排序和限制行排序:select*from表orderby列asc|desc限制行数:select*from
表limit开始行,行数练习:按年龄从小到大显示学生信息显示分数信息的第3到5行查询分数最高的人查询年龄最小的学生分组查询时常需要通过某些类型对数据分类如:•查看每个班的学生人数•查看某天考试的平均分分组常和聚合函数一起使用:总和sum,平均分avg,最小值min,最大值max,总数cou
nt查看每个班人数selectclass_no班级,count(stu_id)人数fromstudentsgroupbyclass_no;having•Having语句对分组之后的结果进行条件筛选•where——gr
oupby——having•查询人数超过2人的班级selectclass_no班级,count(stu_id)人数fromstudentsgroupbyclass_nohavingcount(stu_id)>2;分组练习•查询补考过的学生学号•查询平均分
超过70的科目•查询考生人数低于2人的考试日期子查询在查询语句中可以嵌套其他查询语句select*from表where列=(select列from表)查询2012-3-22考试的学生姓名:selectnamefromstud
entswherestu_id=(selectstu_idfromscoreswhereexam_date=‘2012-3-22’);以上代码可能存在什么问题?in子查询练习•查询所有比张三大的学生•找出所有李四的同班同学•找出数学分数最高的同学名字连接查询如果在一
个结果集中要显示多张表的数据,就需要使用连接查询•内连接select列…from表1innerjoin表2on表1.相关列=表2.相关列特点:找到两个表中相符的数据•外连接:左外连接、右外连接select列…from表1leftjoin表2on表1.相关列=表2.相关列特点:
显示所有左表中的数据,右表中不相符的数据显示null连接查询练习:显示所有参加考试的学生姓名和分数显示所有没有参加考试的学生姓名显示不及格学生的姓名和班级,分数