




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,SQL入门,2,MySQL简介,数据库简介SQLServer、Oracle、MySQL、DB2、SyBaseMySQL数据库的安装和配置使用命令行窗口连接MYSQL数据库mysqlu用户名p密码,3,数据库服务器、数据库和表的关系,MySQL,DB,DB,表,表,表,Client,所谓安装数据库服务器,只是在机器上装了一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体的数据。数据库服务器、数据库和表的关系如图所示:,4,数据在数据库中的存储方式,id=1name=“lisi”age=23,User对象,User表,id=2name=“wang”age=24,行(row),列(column),表的一行称之为一条记录表中一条记录对应一个java对象的数据,User对象,5,创建数据库,CREATEDATABASEIFNOTEXISTSdb_namecreate_specification,create_specification.create_specification:DEFAULTCHARACTERSETcharset_name|DEFAULTCOLLATEcollation_name,CHARACTERSET:指定数据库采用的字符集COLLATE:指定数据库字符集的比较方式练习:创建一个名称为mydb1的数据库。创建一个使用utf-8字符集的mydb2数据库。创建一个使用utf-8字符集,并带校对规则的mydb3数据库。,6,查看、删除数据库,显示数据库语句:SHOWDATABASES显示数据库创建语句:SHOWCREATEDATABASEdb_name数据库删除语句:DROPDATABASEIFEXISTSdb_name,练习:查看当前数据库服务器中的所有数据库查看前面创建的mydb2数据库的定义信息删除前面创建的mydb1数据库,7,修改、备份、恢复数据库,ALTERDATABASEIFNOTEXISTSdb_namealter_specification,alter_specification.alter_specification:DEFAULTCHARACTERSETcharset_name|DEFAULTCOLLATEcollation_name,备份数据库表中的数据mysqldump-u用户名-p数据库名文件名.sql恢复数据库Source文件名.sql,练习查看服务器中的数据库,并把其中某一个库的字符集修改为utf8;备份test库中的数据,并恢复,8,创建表(基本语句),CREATETABLEtable_name(field1datatype,field2datatype,field3datatype,)characterset字符集collate校对规则field:指定列名datatype:指定列类型,注意:创建表时,要根据需保存的数据创建相应的列,并根据数据的类型定义相应的列类型。例:user对象idintnamestringpasswordstringbirthdaydate,注意:创建表前,要先使用usedb语句使用库。,9,MySQL常用数据类型,VARCHAR、BLOB和TEXT类是变长类型。每个类型的存储需求取决于列值的实际长度。,10,创建表练习,创建一个员工表,11,修改表,使用ALTERTABLE语句追加,修改,或删除列的语法.,ALTERTABLEtableADD(columndatatypeDEFAULTexpr,columndatatype.);,ALTERTABLEtableMODIFY(columndatatypeDEFAULTexpr,columndatatype.);,ALTERTABLEtableDROP(column);,修改表的名称:Renametable表名to新表名修改表的字符集:altertablestudentcharactersetutf8;,12,修改表,练习在上面员工表的基本上增加一个image列。修改job列,使其长度为60。删除sex列。表名改为user。修改表的字符集为utf-8列名name修改为usernamealtertableuserchangecolumnnameusernamevarchar(20);,13,14,数据库CRUD语句,Insert语句(增加数据)Update语句(更新数据)Delete语句(删除数据)Select语句(查找数据),15,Insert语句,INSERTINTOtable(column,column.)VALUES(value,value.);,使用INSERT语句向表中插入数据。,插入的数据应与字段的数据类型相同。数据的大小应在列的规定范围内,例如:不能将一个长度为80的字符串加入到长度为40的列中。在values中列出的数据位置必须与被加入的列的排列位置相对应。字符和日期型数据应包含在单引号中。插入空值,不指定或insertintotablevalue(null),16,Insert语句练习,练习:使用insert语句向表中插入三个员工的信息。,注意:字符和日期要包含在单引号中。showvariableslikecharacter%;setcharacter_set_results=gbk;,17,Update语句,UPDATEtbl_nameSETcol_name1=expr1,col_name2=expr2.WHEREwhere_definition,使用update语句修改表中数据。,UPDATE语法可以用新值更新原有表行中的各列。SET子句指示要修改哪些列和要给予哪些值。WHERE子句指定应更新哪些行。如没有WHERE子句,则更新所有的行。,18,Update语句练习,练习:在上面创建的employee表中修改表中的纪录。,要求将所有员工薪水修改为5000元。将姓名为zs的员工薪水修改为3000元。将姓名为aaa的员工薪水修改为4000元,job改为ccc。将wu的薪水在原有基础上增加1000元。,19,Delete语句,deletefromtbl_nameWHEREwhere_definition,使用delete语句删除表中数据。,如果不使用where子句,将删除表中所有数据。Delete语句不能删除某一列的值(可使用update)使用delete语句仅删除记录,不删除表本身。如要删除表,使用droptable语句。同insert和update一样,从一个表中删除记录将引起其它表的参照完整性问题,在修改数据库数据时,头脑中应该始终不要忘记这个潜在的问题。删除表中数据也可使用TRUNCATETABLE语句,它和delete有所不同,参看mysql文档。,20,Delete语句练习,删除表中名称为zs的记录。删除表中所有记录。使用truncate删除表中记录。,21,Select语句(1),SELECTDISTINCT*|column1,column2.column3.FROMtable;,Select指定查询哪些列的数据。column指定列名。*号代表查询所有列。From指定查询哪张表。DISTINCT可选,指显示结果时,是否剔除重复数据,基本select语句,22,Select语句(1),练习:查询表中所有学生的信息。查询表中所有学生的姓名和对应的英语成绩。过滤表中重复数据。,23,Select语句(),SELECT*|column1expression,column2expression,.FROMtable;,在select语句中可使用表达式对查询的列进行运算,在select语句中可使用as语句,SELECTcolumnas别名from表名;,24,Select语句(),练习在所有学生分数上加10分特长分。统计每个学生的总分。使用别名表示学生分数。,25,Select语句(3),使用where子句,进行过滤查询。练习:查询姓名为wu的学生成绩查询英语成绩大于90分的同学查询总分大于200分的所有同学,26,Select语句(),在where子句中经常使用的运算符,Like语句中,%代表零个或多个任意字符,_代表一个字符,例first_namelike_a%;,27,Select语句(4),查询英语分数在8090之间的同学。查询数学分数为89,90,91的同学。查询所有姓李的学生成绩。查询数学分80,语文分80的同学。,28,Select语句(),SELECTcolumn1,column2.column3.FROMtable;orderbycolumnasc|desc,Orderby指定排序的列,排序的列即可是表中的列名,也可以是select语句后指定的列名。Asc升序、Desc降序ORDERBY子句应位于SELECT语句的结尾。练习:对数学成绩排序后输出。对总分排序后输出,然后再按从高到低的顺序输出对姓李的学生成绩排序输出,使用orderby子句排序查询结果。,29,合计函数count,Selectcount(*)|count(列名)fromtablenameWHEREwhere_definition,练习:统计一个班级共有多少学生?统计数学成绩大于90的学生有多少个?统计总分大于250的人数有多少?,Count(列名)返回某一列,行的总数,30,合计函数SUM,Selectsum(列名),sum(列名)fromtablenameWHEREwhere_definition,练习:统计一个班级数学总成绩?统计一个班级语文、英语、数学各科的总成绩统计一个班级语文、英语、数学的成绩总和统计一个班级语文成绩平均分注意:sum仅对数值起作用,否则会报错。注意:对多列求和,“,”号不能少。,Sum函数返回满足where条件的行的和,31,合计函数AVG,Selectsum(列名),sum(列名)fromtablenameWHEREwhere_definition,练习:求一个班级数学平均分?求一个班级总分平均分,AVG函数返回满足where条件的一列的平均值,32,合计函数MAX/MIN,Selectmax(列名)fromtablenameWHEREwhere_definition,练习:求班级最高分和最低分(数值范围在统计中特别有用),Max/min函数返回满足where条件的一列的最大/最小值,33,Select语句(6),SELECTcolumn1,column2.column3.FROMtable;groupbycolumn,练习:对订单表中商品归类后,显示每一类商品的总价,使用groupby子句对列进行分组,SELECTcolumn1,column2.column3.FROMtable;groupbycolumnhaving.,使用having子句过滤,练习:查询购买了几类商品,并且每类总价大于100的商品,Having和where均可实现过滤,但在having可以使用合计函数,having通常跟在groupby后,它作用于组。,34,时间日期相关函数,示例:selectaddtime(02:30:30,01:01:01);注意:字符串、时间日期的引号问题selectdate_add(entry_date,INTERVAL2year)fromstudent;增加两年selectaddtime(time,11-110:09:09)fromstudent;时间戳上增加,注意年后没有-,35,字符串相关函数,36,数学相关函数,37,定义表的约束,定义主键约束primarykey:不允许为空,不允许重复删除主键:altertabletablenamedropprimarykey;定义主键自动增长auto_increment定义唯一约束unique定义非空约束notnull定义外键约束constraintordersid_FKforeignkey(ordersid)referencesorders(id),38,Tip:mysql中文乱码,mysql有六处使用了字符集,分别为:client、con
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国建设银行黑龙江伊春支行春季校招考试笔试试题含答案
- 应对2025年管理考试的常考题型及试题及答案
- 2025新入职员工安全培训考试试题附参考答案【轻巧夺冠】
- 2025年市政工程考试趋势与试题及答案
- 2025年公司职工安全培训考试试题及答案可打印
- 公共关系学与媒体沟通的技巧试题及答案
- 水利水电工程设计实践中的新思路试题及答案
- 公共关系信息传播渠道选取试题及答案
- 2025-2030年铝型材行业市场发展分析及发展趋势前景预测报告
- 2025-2030年铁路信号设备产业市场发展分析及前景趋势与投资管理研究报告
- 山东省潍坊市潍城区2023-2024学年七年级下学期期末考试英语试题
- 慢性淋巴增殖性疾病的诊断课件
- 2024年高校教师资格证资格考试题库含答案(满分必刷)
- JT∕T 794-2019 道路运输车辆卫星定位系统车载终端技术要求
- 资产处置报废方案
- QBT 2198-1996手电筒行业标准
- SYT 0452-2021 石油天然气金属管道焊接工艺评定-PDF解密
- MOOC 船舶检修技术-江苏海事职业技术学院 中国大学慕课答案
- 中外文化知识竞赛考试题库500题(含答案)
- 解读民政政策知识课件
- 《食品试验设计与统计分析》课程试卷B及答案
评论
0/150
提交评论